summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Lexer/has_feature_cxx0x.cpp4
-rw-r--r--clang/test/SemaCXX/deleted-function-extension.cpp8
2 files changed, 10 insertions, 2 deletions
diff --git a/clang/test/Lexer/has_feature_cxx0x.cpp b/clang/test/Lexer/has_feature_cxx0x.cpp
index cc2ae28c58b..c6c7787276a 100644
--- a/clang/test/Lexer/has_feature_cxx0x.cpp
+++ b/clang/test/Lexer/has_feature_cxx0x.cpp
@@ -70,7 +70,7 @@ int no_static_assert();
// CHECK-0X: has_static_assert
// CHECK-NO-0X: no_static_assert
-
+// We accept this as an extension.
#if __has_feature(cxx_deleted_functions)
int deleted_functions();
#else
@@ -78,7 +78,7 @@ int no_deleted_functions();
#endif
// CHECK-0X: deleted_functions
-// CHECK-NO-0X: no_deleted_functions
+// CHECK-NO-0X: deleted_functions
#if __has_feature(cxx_rvalue_references)
diff --git a/clang/test/SemaCXX/deleted-function-extension.cpp b/clang/test/SemaCXX/deleted-function-extension.cpp
new file mode 100644
index 00000000000..fdf5ac8bd58
--- /dev/null
+++ b/clang/test/SemaCXX/deleted-function-extension.cpp
@@ -0,0 +1,8 @@
+// RUN: %clang_cc1 -fsyntax-only -verify -std=c++98 %s
+
+struct A {
+ A(const A&) = delete; // expected-warning {{deleted function definition accepted as a C++0x extension}}
+ A& operator=(const A&) = delete; // expected-warning {{deleted function definition accepted as a C++0x extension}}
+};
+
+void f() = delete; // expected-warning {{deleted function definition accepted as a C++0x extension}}
OpenPOWER on IntegriCloud