diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-11-26 08:32:48 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2012-11-26 08:32:48 +0000 |
commit | 73ed67cc36b06a380ddc3658beb7a84328c19ff6 (patch) | |
tree | c8b20f04647125e7eecf15f3bb8d8e238c1cb3e3 /test/SemaTemplate/default-expr-arguments.cpp | |
parent | 8dbf697cf5e10824659bc5061ebf470fa43716fa (diff) |
PR14428: When instantiating a 'new' expression, if we had a non-dependent
initialization, don't rebuild it. Remove a couple of hacks which were trying to
work around this. Fix the special case for one-argument CXXConstructExprs to
not apply if the one argument is a default argument.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@168582 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/SemaTemplate/default-expr-arguments.cpp')
-rw-r--r-- | test/SemaTemplate/default-expr-arguments.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/test/SemaTemplate/default-expr-arguments.cpp b/test/SemaTemplate/default-expr-arguments.cpp index 4e76a5a04c..14b072a1a5 100644 --- a/test/SemaTemplate/default-expr-arguments.cpp +++ b/test/SemaTemplate/default-expr-arguments.cpp @@ -306,7 +306,7 @@ namespace PR12581 { namespace PR13758 { template <typename T> struct move_from { - T invalid; // expected-error {{field has incomplete type 'void'}} + T invalid; }; template <class K> struct unordered_map { @@ -315,9 +315,10 @@ namespace PR13758 { }; template<typename T> void StripedHashTable() { - new unordered_map<void>(); // expected-note {{in instantiation of template class 'PR13758::move_from<void>' requested here}} + new unordered_map<void>(); + new unordered_map<void>; } void tt() { - StripedHashTable<int>(); // expected-note {{in instantiation of function template specialization 'PR13758::StripedHashTable<int>' requested here}} + StripedHashTable<int>(); } } |