diff options
| author | Anders Carlsson <andersca@mac.com> | 2009-06-24 21:24:56 +0000 |
|---|---|---|
| committer | Anders Carlsson <andersca@mac.com> | 2009-06-24 21:24:56 +0000 |
| commit | ad6bd35b46e3a67c2a97ea3a64bdead695cd4a6a (patch) | |
| tree | b00d1b1b58c39edbc01f8b601b61815456c89067 /clang/test | |
| parent | a1d3e660aef0ad88553c1d9ded5fb672a8427f89 (diff) | |
| download | bcm5719-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.cpp | 21 |
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, ""); |

