llvm-for-llvmta/tools/clang/test/CXX/basic/basic.scope/basic.scope.pdecl/p3.cpp

27 lines
603 B
C++
Raw Normal View History

2022-04-25 13:02:35 +02:00
// RUN: %clang_cc1 -fsyntax-only -verify -std=c++11 %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
}