diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/CodeGenCXX/mangle.cpp | 9 | ||||
-rw-r--r-- | clang/test/SemaCXX/overload-decl.cpp | 5 |
2 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/mangle.cpp b/clang/test/CodeGenCXX/mangle.cpp index 4e6dbf5397a..d836f36c181 100644 --- a/clang/test/CodeGenCXX/mangle.cpp +++ b/clang/test/CodeGenCXX/mangle.cpp @@ -942,3 +942,12 @@ namespace test43 { void g(zed<&foo::bar>*) {} } + +namespace test44 { + struct foo { void bar() __restrict { }; } obj; + + void f() { + obj.bar(); + } + // CHECK-LABEL: define linkonce_odr void @_ZN6test443foo3barEv(%"struct.test44::foo"* %this) +} diff --git a/clang/test/SemaCXX/overload-decl.cpp b/clang/test/SemaCXX/overload-decl.cpp index 0153620d45b..fdb14cb173e 100644 --- a/clang/test/SemaCXX/overload-decl.cpp +++ b/clang/test/SemaCXX/overload-decl.cpp @@ -29,6 +29,11 @@ class X { static void g(float); // expected-note {{previous declaration is here}} static void g(int); // expected-error {{static and non-static member functions with the same parameter types cannot be overloaded}} static void g(float); // expected-error {{class member cannot be redeclared}} + + void h(); // expected-note {{previous declaration is here}} \ + expected-note {{previous declaration is here}} + void h() __restrict; // expected-error {{class member cannot be redeclared}} \ + expected-error {{conflicting types for 'h'}} }; int main() {} // expected-note {{previous definition is here}} |