diff options
author | Douglas Gregor <dgregor@apple.com> | 2012-04-10 20:43:46 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2012-04-10 20:43:46 +0000 |
commit | 85f342350979c5af12c6f5790ac27ac05112d0a2 (patch) | |
tree | 050402258bc49cb698d68850cf8aa6ff49c8c16b /clang/test/SemaCXX/cxx0x-initializer-constructor.cpp | |
parent | 4f53074cca08419abb550df2cfce0eaf33003c11 (diff) | |
download | bcm5719-llvm-85f342350979c5af12c6f5790ac27ac05112d0a2.tar.gz bcm5719-llvm-85f342350979c5af12c6f5790ac27ac05112d0a2.zip |
When we determine that an initialization sequence failed due to an
incomplete type, keep track of the actual type that was
incomplete. Otherwise, we might fail to produce a diagnostic. Fixes
PR12498.
llvm-svn: 154432
Diffstat (limited to 'clang/test/SemaCXX/cxx0x-initializer-constructor.cpp')
-rw-r--r-- | clang/test/SemaCXX/cxx0x-initializer-constructor.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/cxx0x-initializer-constructor.cpp b/clang/test/SemaCXX/cxx0x-initializer-constructor.cpp index 68c149218a7..09aca24b704 100644 --- a/clang/test/SemaCXX/cxx0x-initializer-constructor.cpp +++ b/clang/test/SemaCXX/cxx0x-initializer-constructor.cpp @@ -267,3 +267,17 @@ namespace PR12120 { struct B { explicit B(short); B(long); }; // expected-note 2 {{candidate}} B b = { 0 }; // expected-error {{ambiguous}} } + +namespace PR12498 { + class ArrayRef; // expected-note{{forward declaration}} + + struct C { + void foo(const ArrayRef&); // expected-note{{passing argument to parameter here}} + }; + + static void bar(C* c) + { + c->foo({ nullptr, 1 }); // expected-error{{initialization of incomplete type 'const PR12498::ArrayRef'}} + } + +} |