diff options
Diffstat (limited to 'clang/test/ASTMerge/namespace/Inputs/namespace2.cpp')
-rw-r--r-- | clang/test/ASTMerge/namespace/Inputs/namespace2.cpp | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/clang/test/ASTMerge/namespace/Inputs/namespace2.cpp b/clang/test/ASTMerge/namespace/Inputs/namespace2.cpp new file mode 100644 index 00000000000..f65057d1ca6 --- /dev/null +++ b/clang/test/ASTMerge/namespace/Inputs/namespace2.cpp @@ -0,0 +1,60 @@ +// Merge success +namespace N1 { + extern int x0; +} + +// Merge multiple namespaces +namespace N2 { + extern int x; +} +namespace N2 { + extern float y; +} + +// Merge namespace with conflict +namespace N3 { + extern double z; +} + +namespace Enclosing { +namespace Nested { + const int z = 4; +} +} + +namespace ContainsInline { + inline namespace Inline { + const int z = 10; + } +} + +namespace TestAliasName = Enclosing::Nested; +// NOTE: There is no warning on this alias. +namespace AliasWithSameName = Enclosing::Nested; + +namespace TestUsingDecls { + +namespace A { +void foo(); +} +namespace B { +using A::foo; // <- a UsingDecl creating a UsingShadow +} + +}// end namespace TestUsingDecls + +namespace TestUnresolvedTypenameAndValueDecls { + +template <class T> class Base; +template <class T> class Derived : public Base<T> { +public: + using typename Base<T>::foo; + using Base<T>::bar; + typedef typename Derived::foo NewUnresolvedUsingType; +}; + +} // end namespace TestUnresolvedTypenameAndValueDecls + +namespace TestUsingNamespace { + using namespace Enclosing; +} |