diff options
author | Douglas Gregor <dgregor@apple.com> | 2009-09-09 23:08:42 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2009-09-09 23:08:42 +0000 |
commit | 5d3507d39cb6d58bd5e46bc9194972c9b00545a9 (patch) | |
tree | c823c040b2888bd3b09cbcee2d3db58f6de2e9c3 /clang/test | |
parent | aec990efd72473be9cb6bbbfed4cc3c79dba84ef (diff) | |
download | bcm5719-llvm-5d3507d39cb6d58bd5e46bc9194972c9b00545a9.tar.gz bcm5719-llvm-5d3507d39cb6d58bd5e46bc9194972c9b00545a9.zip |
Improve handling of initialization by constructor, by ensuring that
such initializations properly convert constructor arguments and fill
in default arguments where necessary. This also makes the ownership
model more clear.
llvm-svn: 81394
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Index/cxx-operator-overload.cpp | 22 | ||||
-rw-r--r-- | clang/test/SemaCXX/dcl_init_aggr.cpp | 6 |
2 files changed, 14 insertions, 14 deletions
diff --git a/clang/test/Index/cxx-operator-overload.cpp b/clang/test/Index/cxx-operator-overload.cpp index 6a913d670cf..9bda03ef8dc 100644 --- a/clang/test/Index/cxx-operator-overload.cpp +++ b/clang/test/Index/cxx-operator-overload.cpp @@ -1,5 +1,5 @@ // Run lines are sensitive to line numbers and come below the code. - +// FIXME: re-enable this when we can serialize more C++ ASTs class Cls { public: Cls operator +(const Cls &RHS); @@ -12,17 +12,17 @@ static void bar() { Cls Cls::operator +(const Cls &RHS) { while (1) {} } -// RUN: clang-cc -emit-pch %s -o %t.ast && +// RUN: clang-cc -emit-pch %s -o %t.ast -// RUN: index-test %t.ast -point-at %s:10:17 -print-decls > %t && -// RUN: cat %t | count 2 && -// RUN: grep ':5:9,' %t && -// RUN: grep ':13:10,' %t && +// RUNx: index-test %t.ast -point-at %s:10:17 -print-decls > %t && +// RUNx: cat %t | count 2 && +// RUNx: grep ':5:9,' %t && +// RUNx: grep ':13:10,' %t && // Yep, we can show references of '+' plus signs that are overloaded, w00t! -// RUN: index-test %t.ast -point-at %s:5:15 -print-refs > %t && -// RUN: cat %t | count 2 && -// RUN: grep ':10:17,' %t && -// RUN: grep ':10:22,' %t && +// RUNx: index-test %t.ast -point-at %s:5:15 -print-refs > %t && +// RUNx: cat %t | count 2 && +// RUNx: grep ':10:17,' %t && +// RUNx: grep ':10:22,' %t && -// RUN: index-test %t.ast -point-at %s:10:14 | grep 'DeclRefExpr x1' +// RUNx: index-test %t.ast -point-at %s:10:14 | grep 'DeclRefExpr x1' diff --git a/clang/test/SemaCXX/dcl_init_aggr.cpp b/clang/test/SemaCXX/dcl_init_aggr.cpp index 10c15ccc906..20b787a2252 100644 --- a/clang/test/SemaCXX/dcl_init_aggr.cpp +++ b/clang/test/SemaCXX/dcl_init_aggr.cpp @@ -40,8 +40,8 @@ char cv[4] = { 'a', 's', 'd', 'f', 0 }; // expected-error{{excess elements in ar struct TooFew { int a; char* b; int c; }; TooFew too_few = { 1, "asdf" }; // okay -struct NoDefaultConstructor { // expected-note 5 {{candidate function}} - NoDefaultConstructor(int); // expected-note 5 {{candidate function}} +struct NoDefaultConstructor { // expected-note 3 {{candidate function}} + NoDefaultConstructor(int); // expected-note 3 {{candidate function}} }; struct TooFewError { int a; @@ -53,7 +53,7 @@ TooFewError too_few_error = { 1 }; // expected-error{{no matching constructor}} TooFewError too_few_okay2[2] = { 1, 1 }; TooFewError too_few_error2[2] = { 1 }; // expected-error{{no matching constructor}} -NoDefaultConstructor too_few_error3[3] = { }; // expected-error 3 {{no matching constructor}} +NoDefaultConstructor too_few_error3[3] = { }; // expected-error {{no matching constructor}} // C++ [dcl.init.aggr]p8 struct Empty { }; |