]> granicus.if.org Git - clang/commitdiff
Correct CFGBlock's front() and back() to return by const ref rather than value.
authorDavid Blaikie <dblaikie@gmail.com>
Mon, 30 Apr 2012 00:42:50 +0000 (00:42 +0000)
committerDavid Blaikie <dblaikie@gmail.com>
Mon, 30 Apr 2012 00:42:50 +0000 (00:42 +0000)
This ought to fix PR11926, a crash when when running Clang built with GCC 4.7

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155805 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/Analysis/CFG.h

index 27b22b8c622dfc25de5605a1475719f7f689d2e8..c8adfef4429f7db668afe1497dd61f0e61215700 100644 (file)
@@ -277,6 +277,7 @@ class CFGBlock {
     typedef std::reverse_iterator<ImplTy::const_iterator> const_iterator;
     typedef ImplTy::iterator                              reverse_iterator;
     typedef ImplTy::const_iterator                       const_reverse_iterator;
+    typedef ImplTy::const_reference                       const_reference;
 
     void push_back(CFGElement e, BumpVectorContext &C) { Impl.push_back(e, C); }
     reverse_iterator insert(reverse_iterator I, size_t Cnt, CFGElement E,
@@ -284,8 +285,8 @@ class CFGBlock {
       return Impl.insert(I, Cnt, E, C);
     }
 
-    CFGElement front() const { return Impl.back(); }
-    CFGElement back() const { return Impl.front(); }
+    const_reference front() const { return Impl.back(); }
+    const_reference back() const { return Impl.front(); }
 
     iterator begin() { return Impl.rbegin(); }
     iterator end() { return Impl.rend(); }