summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/CXX/basic/basic.lookup/basic.lookup.qual/namespace.qual/p2.cpp11
-rw-r--r--clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp23
2 files changed, 23 insertions, 11 deletions
diff --git a/clang/test/CXX/basic/basic.lookup/basic.lookup.qual/namespace.qual/p2.cpp b/clang/test/CXX/basic/basic.lookup/basic.lookup.qual/namespace.qual/p2.cpp
index 30393961b3f..7918e9f861e 100644
--- a/clang/test/CXX/basic/basic.lookup/basic.lookup.qual/namespace.qual/p2.cpp
+++ b/clang/test/CXX/basic/basic.lookup/basic.lookup.qual/namespace.qual/p2.cpp
@@ -63,3 +63,14 @@ void test3() {
Numbers2::f(f);
Numbers2::g(f); // expected-error {{no viable conversion from 'float' to 'Numbers::Number'}}
}
+
+namespace inline_ns {
+ int x; // expected-note 2{{found}}
+ inline namespace A { // expected-warning {{C++11}}
+ int x; // expected-note 2{{found}}
+ int y; // expected-note 2{{found}}
+ }
+ int y; // expected-note 2{{found}}
+ int k1 = x + y; // expected-error 2{{ambiguous}}
+ int k2 = inline_ns::x + inline_ns::y; // expected-error 2{{ambiguous}}
+}
diff --git a/clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp b/clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
index 13810769743..41ff3e28237 100644
--- a/clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
+++ b/clang/test/CXX/dcl.decl/dcl.meaning/p1-0x.cpp
@@ -30,9 +30,12 @@ namespace inline_namespaces {
inline namespace M {
void f(); // expected-note {{possible target}}
void g();
- extern int m, n;
- struct S; struct T;
- enum E : int; enum F : int;
+ extern int m; // expected-note {{candidate}}
+ extern int n;
+ struct S; // expected-note {{candidate}}
+ struct T;
+ enum E : int; // expected-note {{candidate}}
+ enum F : int;
template<typename T> void ft(); // expected-note {{here}}
template<typename T> void gt(); // expected-note {{here}}
template<typename T> extern int mt; // expected-note {{here}} expected-warning {{extension}}
@@ -44,16 +47,14 @@ namespace inline_namespaces {
// When named by unqualified-id, we do *not* look in the inline namespace
// set.
void f() {} // expected-note {{possible target}}
- int m;
- struct S {};
- enum E : int {};
+ int m; // expected-note {{candidate}}
+ struct S {}; // expected-note {{candidate}}
+ enum E : int {}; // expected-note {{candidate}}
static_assert(&f != &M::f, ""); // expected-error {{reference to overloaded function could not be resolved}}
- static_assert(&m != &M::m, "");
- typedef S X; // expected-note {{previous}}
- typedef M::S X; // expected-error {{different type}}
- typedef E Y; // expected-note {{previous}}
- typedef M::E Y; // expected-error {{different type}}
+ static_assert(&m != &M::m, ""); // expected-error {{ambiguous}}
+ typedef S X; // expected-error {{ambiguous}}
+ typedef E Y; // expected-error {{ambiguous}}
// When named by (unqualified) template-id, we do look in the inline
// namespace set. See [namespace.def]p8, [temp.explicit]p3,
OpenPOWER on IntegriCloud