From dda56e4b4a9c274c5c4011981bd291523e75d747 Mon Sep 17 00:00:00 2001 From: Richard Smith Date: Fri, 15 Apr 2011 14:24:37 +0000 Subject: Support for C++11 (non-template) alias declarations. llvm-svn: 129567 --- .../CXX/basic/basic.scope/basic.scope.pdecl/p3.cpp | 26 ++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 clang/test/CXX/basic/basic.scope/basic.scope.pdecl/p3.cpp (limited to 'clang/test/CXX/basic/basic.scope') diff --git a/clang/test/CXX/basic/basic.scope/basic.scope.pdecl/p3.cpp b/clang/test/CXX/basic/basic.scope/basic.scope.pdecl/p3.cpp new file mode 100644 index 00000000000..751c0df6b86 --- /dev/null +++ b/clang/test/CXX/basic/basic.scope/basic.scope.pdecl/p3.cpp @@ -0,0 +1,26 @@ +// RUN: %clang_cc1 -fsyntax-only -verify -std=c++0x %s + +// Classes. +namespace Class { + namespace NS { + class C {}; // expected-note {{candidate}} + } + using namespace NS; + class C : C {}; // expected-error {{reference to 'C' is ambiguous}} \ + expected-note {{candidate}} +} + +// Enumerations. +enum E { + EPtrSize = sizeof((E*)0) // ok, E is already declared +}; + +// Alias declarations. clang implements the proposed resolution to N1044. +namespace Alias { + namespace NS { + class C; + } + using namespace NS; + using C = C; // ok, C = B::C + using C = NS::C; // ok, same type +} -- cgit v1.2.3