summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGeorge Burgess IV <george.burgess.iv@gmail.com>2015-12-03 21:15:22 +0000
committerGeorge Burgess IV <george.burgess.iv@gmail.com>2015-12-03 21:15:22 +0000
commit5e8701c356a25b18715f0f25ed4521cdc8a05b15 (patch)
tree4c0e76f8762caaebdfff080b009e153991c4d74a
parent7ee3cf7d619b8cb19dc7ebe47b0f3b9bec32b7f9 (diff)
downloadbcm5719-llvm-5e8701c356a25b18715f0f25ed4521cdc8a05b15.tar.gz
bcm5719-llvm-5e8701c356a25b18715f0f25ed4521cdc8a05b15.zip
Fix pass_object_size test on Windows.
The tests were failing because the types of some member functions, when printed, unexpectedly had "__attribute__((thiscall))" at the end. The types in question were relatively unimportant to begin with, so they were removed/replaced with regexes. llvm-svn: 254650
-rw-r--r--clang/test/SemaCXX/pass-object-size.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/clang/test/SemaCXX/pass-object-size.cpp b/clang/test/SemaCXX/pass-object-size.cpp
index a6040534b20..bec0c1c55f2 100644
--- a/clang/test/SemaCXX/pass-object-size.cpp
+++ b/clang/test/SemaCXX/pass-object-size.cpp
@@ -46,7 +46,7 @@ void Assigns() {
int (Members::*M)(void *);
M = &Members::Foo; //expected-error{{cannot take address of function 'Foo' because parameter 1 has pass_object_size attribute}}
- M = &Members::OvlFoo; //expected-error{{assigning to 'int (simple::Members::*)(void *)' from incompatible type '<overloaded function type>'}} expected-note@18{{candidate address cannot be taken because parameter 1 has pass_object_size attribute}} expected-note@19{{candidate function has different number of parameters (expected 1 but has 2)}}
+ M = &Members::OvlFoo; //expected-error-re{{assigning to '{{.*}}' from incompatible type '<overloaded function type>'}} expected-note@18{{candidate address cannot be taken because parameter 1 has pass_object_size attribute}} expected-note@19{{candidate function has different number of parameters (expected 1 but has 2)}}
}
} // namespace simple
@@ -66,13 +66,13 @@ template <typename T> struct Bar {
void Decls() {
int (*A)(void *) = &Foo<void*>; //expected-error{{address of overloaded function 'Foo' does not match required type 'int (void *)'}} expected-note@56{{candidate address cannot be taken because parameter 1 has pass_object_size attribute}}
- int (Bar<int>::*B)(void *) = &Bar<int>::Foo<double>; //expected-error{{address of overloaded function 'Foo' does not match required type 'int (void *)'}} expected-note@62{{candidate address cannot be taken because parameter 1 has pass_object_size attribute}}
+ int (Bar<int>::*B)(void *) = &Bar<int>::Foo<double>; //expected-error{{address of overloaded function 'Foo' does not match required type}} expected-note@62{{candidate address cannot be taken because parameter 1 has pass_object_size attribute}}
}
void Assigns() {
int (*A)(void *);
A = &Foo<void*>; // expected-error{{assigning to 'int (*)(void *)' from incompatible type '<overloaded function type>'}} expected-note@56{{candidate address cannot be taken because parameter 1 has pass_object_size attribute}}
- int (Bar<int>::*B)(void *) = &Bar<int>::Foo<double>; //expected-error{{address of overloaded function 'Foo' does not match required type 'int (void *)'}} expected-note@62{{candidate address cannot be taken because parameter 1 has pass_object_size attribute}}
+ int (Bar<int>::*B)(void *) = &Bar<int>::Foo<double>; //expected-error{{address of overloaded function 'Foo' does not match required type}} expected-note@62{{candidate address cannot be taken because parameter 1 has pass_object_size attribute}}
}
} // namespace templates
OpenPOWER on IntegriCloud