diff options
| -rw-r--r-- | clang/lib/AST/ExprCXX.cpp | 1 | ||||
| -rw-r--r-- | clang/test/CodeGenCXX/debug-info-cxx0x.cpp | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/AST/ExprCXX.cpp b/clang/lib/AST/ExprCXX.cpp index b290fb423a4..3fa49e0e18b 100644 --- a/clang/lib/AST/ExprCXX.cpp +++ b/clang/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/clang/test/CodeGenCXX/debug-info-cxx0x.cpp b/clang/test/CodeGenCXX/debug-info-cxx0x.cpp index 37ccdb01c5c..9d303755be0 100644 --- a/clang/test/CodeGenCXX/debug-info-cxx0x.cpp +++ b/clang/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>; +} |

