brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.0 KiB · f65057d Raw
61 lines · cpp
1// Merge success2namespace N1 {3  extern int x0;4}5 6// Merge multiple namespaces7namespace N2 {8  extern int x;9}10namespace N2 {11  extern float y;12}13 14// Merge namespace with conflict15namespace N3 {16  extern double z;17}18 19namespace Enclosing {20namespace Nested {21  const int z = 4;22}23}24 25namespace ContainsInline {26  inline namespace Inline {27    const int z = 10;28  }29}30 31namespace TestAliasName = Enclosing::Nested;32// NOTE: There is no warning on this alias.33namespace AliasWithSameName = Enclosing::Nested;34 35namespace TestUsingDecls {36 37namespace A {38void foo();39}40namespace B {41using A::foo; // <- a UsingDecl creating a UsingShadow42}43 44}// end namespace TestUsingDecls45 46namespace TestUnresolvedTypenameAndValueDecls {47 48template <class T> class Base;49template <class T> class Derived : public Base<T> {50public:51  using typename Base<T>::foo;52  using Base<T>::bar;53  typedef typename Derived::foo NewUnresolvedUsingType;54};55 56} // end namespace TestUnresolvedTypenameAndValueDecls57 58namespace TestUsingNamespace {59  using namespace Enclosing;60}61