diff options
-rw-r--r-- | lib/AST/ExprCXX.cpp | 1 | ||||
-rw-r--r-- | test/CodeGenCXX/debug-info-cxx0x.cpp | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/lib/AST/ExprCXX.cpp b/lib/AST/ExprCXX.cpp index b290fb423a..3fa49e0e18 100644 --- a/lib/AST/ExprCXX.cpp +++ b/lib/AST/ExprCXX.cpp @@ -277,6 +277,7 @@ OverloadExpr::OverloadExpr(StmtClass K, ASTContext &C, isa<UnresolvedUsingValueDecl>(*I)) { ExprBits.TypeDependent = true; ExprBits.ValueDependent = true; + ExprBits.InstantiationDependent = true; } } diff --git a/test/CodeGenCXX/debug-info-cxx0x.cpp b/test/CodeGenCXX/debug-info-cxx0x.cpp index 37ccdb01c5..9d303755be 100644 --- a/test/CodeGenCXX/debug-info-cxx0x.cpp +++ b/test/CodeGenCXX/debug-info-cxx0x.cpp @@ -6,3 +6,13 @@ namespace PR9414 { return x; } } + +// Don't crash. +namespace PR13570 { + template<typename T, typename U> struct P {}; + template<typename T> struct A { + template<typename U> static P<T,U> isa(U); + decltype(isa(int())) f() {} + }; + template struct A<int>; +} |