summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
authorAnders Carlsson <andersca@mac.com>2009-06-24 21:24:56 +0000
committerAnders Carlsson <andersca@mac.com>2009-06-24 21:24:56 +0000
commitad6bd35b46e3a67c2a97ea3a64bdead695cd4a6a (patch)
treeb00d1b1b58c39edbc01f8b601b61815456c89067 /clang/test
parenta1d3e660aef0ad88553c1d9ded5fb672a8427f89 (diff)
downloadbcm5719-llvm-ad6bd35b46e3a67c2a97ea3a64bdead695cd4a6a.tar.gz
bcm5719-llvm-ad6bd35b46e3a67c2a97ea3a64bdead695cd4a6a.zip
C++ decltype support (N2343)
llvm-svn: 74118
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.simple/p4-cxx0x.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.simple/p4-cxx0x.cpp b/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.simple/p4-cxx0x.cpp
new file mode 100644
index 00000000000..d97f2b83d1a
--- /dev/null
+++ b/clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.simple/p4-cxx0x.cpp
@@ -0,0 +1,21 @@
+// RUN: clang-cc -fsyntax-only -std=c++0x -verify %s
+
+template<typename T, typename U>
+struct is_same {
+ static const bool value = false;
+};
+
+template<typename T>
+struct is_same<T, T> {
+ static const bool value = true;
+};
+
+const int&& foo();
+int i;
+struct A { double x; };
+const A* a = new A();
+
+static_assert(is_same<decltype(foo()), const int&&>::value, "");
+static_assert(is_same<decltype(i), int>::value, "");
+static_assert(is_same<decltype(a->x), double>::value, "");
+static_assert(is_same<decltype((a->x)), const double&>::value, "");
OpenPOWER on IntegriCloud