summaryrefslogtreecommitdiffstats
path: root/clang/test/PCH/cxx11-statement-attributes.cpp
diff options
context:
space:
mode:
authorAlexander Kornienko <alexfh@google.com>2012-10-02 23:11:53 +0000
committerAlexander Kornienko <alexfh@google.com>2012-10-02 23:11:53 +0000
commit2d4f311642b7d062909796c1ce3fd95fbd58151d (patch)
tree1b0f3f75a988e8ebfb40c47d1ed4a1adb3aaf701 /clang/test/PCH/cxx11-statement-attributes.cpp
parentaa7aeaa0a55ee39536f5a6b02091f46b330dac51 (diff)
downloadbcm5719-llvm-2d4f311642b7d062909796c1ce3fd95fbd58151d.tar.gz
bcm5719-llvm-2d4f311642b7d062909796c1ce3fd95fbd58151d.zip
Added a test for C++11 statement attributes serialization.
Summary: Uses [[clang::fallthrough]] attribute in a template function, and -Wimplicit-fallthrough to check the attribute presence in an instantiation. Reviewers: rsmith Reviewed By: rsmith CC: cfe-commits Differential Revision: http://llvm-reviews.chandlerc.com/D55 llvm-svn: 165068
Diffstat (limited to 'clang/test/PCH/cxx11-statement-attributes.cpp')
-rw-r--r--clang/test/PCH/cxx11-statement-attributes.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/test/PCH/cxx11-statement-attributes.cpp b/clang/test/PCH/cxx11-statement-attributes.cpp
new file mode 100644
index 00000000000..3bb7b40aa96
--- /dev/null
+++ b/clang/test/PCH/cxx11-statement-attributes.cpp
@@ -0,0 +1,12 @@
+// Sanity check.
+// RUN: %clang_cc1 -include %S/Inputs/cxx11-statement-attributes.h -std=c++11 -Wimplicit-fallthrough -fsyntax-only %s -o - -verify
+// Run the same tests, this time with the attributes loaded from the PCH file.
+// RUN: %clang_cc1 -x c++-header -emit-pch -std=c++11 -o %t %S/Inputs/cxx11-statement-attributes.h
+// RUN: %clang_cc1 -include-pch %t -std=c++11 -Wimplicit-fallthrough -fsyntax-only %s -o - -verify
+
+// Warning from Inputs/cxx11-statement-attributes.h:
+// expected-warning@10 {{fallthrough annotation does not directly precede switch label}}
+
+void g(int n) {
+ f<1>(n); // expected-note {{in instantiation of function template specialization 'f<1>' requested here}}
+}
OpenPOWER on IntegriCloud