summaryrefslogtreecommitdiffstats
path: root/clang/test/PCH/cxx-for-range.h
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2011-04-14 22:09:26 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2011-04-14 22:09:26 +0000
commit02e85f3bc5fcb784c44851b2d557cdeb63a7ca0b (patch)
treea1507fda2ae01672b66da3bafc407e9da2690398 /clang/test/PCH/cxx-for-range.h
parent55858499e21e0541423cfdb2be7eb18e52a40a2c (diff)
downloadbcm5719-llvm-02e85f3bc5fcb784c44851b2d557cdeb63a7ca0b.tar.gz
bcm5719-llvm-02e85f3bc5fcb784c44851b2d557cdeb63a7ca0b.zip
Add support for C++0x's range-based for loops, as specified by the C++11 draft standard (N3291).
llvm-svn: 129541
Diffstat (limited to 'clang/test/PCH/cxx-for-range.h')
-rw-r--r--clang/test/PCH/cxx-for-range.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/clang/test/PCH/cxx-for-range.h b/clang/test/PCH/cxx-for-range.h
new file mode 100644
index 00000000000..f15c7e73df3
--- /dev/null
+++ b/clang/test/PCH/cxx-for-range.h
@@ -0,0 +1,35 @@
+// Header for PCH test cxx-for-range.cpp
+
+struct S {
+ int *begin();
+ int *end();
+};
+
+struct T { };
+char *begin(T);
+char *end(T);
+
+struct U { };
+namespace std {
+ char *begin(U);
+ char *end(U);
+}
+
+void f() {
+ char a[3] = { 0, 1, 2 };
+ for (auto w : a)
+ for (auto x : S())
+ for (auto y : T())
+ for (auto z : U())
+ ;
+}
+
+template<typename A>
+void g() {
+ A a[3] = { 0, 1, 2 };
+ for (auto &v : a)
+ for (auto x : S())
+ for (auto y : T())
+ for (auto z : U())
+ ;
+}
OpenPOWER on IntegriCloud