diff options
author | Reid Kleckner <rnk@google.com> | 2016-05-24 21:23:54 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2016-05-24 21:23:54 +0000 |
commit | 9a96e4207423804b7589ac958aae2bfbd41425df (patch) | |
tree | ccc7c25a46e0b2fe6662b636ba3219ed589afba5 /clang/test/SemaTemplate/ms-delayed-default-template-args.cpp | |
parent | 3270bdbb038d51c98a059d0d517d0d4465ebb920 (diff) | |
download | bcm5719-llvm-9a96e4207423804b7589ac958aae2bfbd41425df.tar.gz bcm5719-llvm-9a96e4207423804b7589ac958aae2bfbd41425df.zip |
[ms] Allow more unqualified lookup of types in dependent base classes
Summary:
In dependent contexts where we know a type name is required, such as a
new expression, we can recover by forming a DependentNameType.
This generalizes our existing compatibility hack for default arguments
for template type parameters.
Works towards parsing atlctrlw.h, which is PR26748.
Reviewers: avt77, rsmith
Subscribers: cfe-commits
Differential Revision: http://reviews.llvm.org/D20500
llvm-svn: 270615
Diffstat (limited to 'clang/test/SemaTemplate/ms-delayed-default-template-args.cpp')
-rw-r--r-- | clang/test/SemaTemplate/ms-delayed-default-template-args.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/clang/test/SemaTemplate/ms-delayed-default-template-args.cpp b/clang/test/SemaTemplate/ms-delayed-default-template-args.cpp index ca9ddb0d9d1..0c054694247 100644 --- a/clang/test/SemaTemplate/ms-delayed-default-template-args.cpp +++ b/clang/test/SemaTemplate/ms-delayed-default-template-args.cpp @@ -55,6 +55,15 @@ struct Foo { typedef int Weber; } +// MSVC accepts this, but Clang doesn't. +namespace test_scope_spec { +template <typename T = ns::Bar> // expected-error {{use of undeclared identifier 'ns'}} +struct Foo { + static_assert(sizeof(T) == 4, "Bar should have gotten int"); +}; +namespace ns { typedef int Bar; } +} + #ifdef __clang__ // These are negative test cases that MSVC doesn't compile either. Try to use // unique undeclared identifiers so typo correction doesn't find types declared |