[cfe-commits] r110615 - in /cfe/trunk: lib/Sema/SemaExpr.cpp test/SemaCXX/crash-PR7625.cpp

Douglas Gregor dgregor at apple.com
Mon Aug 9 15:38:14 PDT 2010


Author: dgregor
Date: Mon Aug  9 17:38:14 2010
New Revision: 110615

URL: http://llvm.org/viewvc/llvm-project?rev=110615&view=rev
Log:
When attempting to recover from a failed unqualified name lookup, make
sure to clear out the LookupResult structure after looking into each class.

Added:
    cfe/trunk/test/SemaCXX/crash-PR7625.cpp
Modified:
    cfe/trunk/lib/Sema/SemaExpr.cpp

Modified: cfe/trunk/lib/Sema/SemaExpr.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExpr.cpp?rev=110615&r1=110614&r2=110615&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExpr.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExpr.cpp Mon Aug  9 17:38:14 2010
@@ -917,6 +917,8 @@
         // Tell the callee to try to recover.
         return false;
       }
+
+      R.clear();
     }
   }
 

Added: cfe/trunk/test/SemaCXX/crash-PR7625.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/crash-PR7625.cpp?rev=110615&view=auto
==============================================================================
--- cfe/trunk/test/SemaCXX/crash-PR7625.cpp (added)
+++ cfe/trunk/test/SemaCXX/crash-PR7625.cpp Mon Aug  9 17:38:14 2010
@@ -0,0 +1,6 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+template<typename T> struct a : T {
+ struct x : T {
+   int aa() { return p; } // expected-error{{use of undeclared identifier 'p'}}
+ };
+};





More information about the cfe-commits mailing list