diff options
Diffstat (limited to 'clang/test')
| -rw-r--r-- | clang/test/Modules/Inputs/submodules-merge-defs/defs.h | 4 | ||||
| -rw-r--r-- | clang/test/Modules/submodules-merge-defs.cpp | 8 |
2 files changed, 9 insertions, 3 deletions
diff --git a/clang/test/Modules/Inputs/submodules-merge-defs/defs.h b/clang/test/Modules/Inputs/submodules-merge-defs/defs.h index 16f71840d0a..3a9c2327c7a 100644 --- a/clang/test/Modules/Inputs/submodules-merge-defs/defs.h +++ b/clang/test/Modules/Inputs/submodules-merge-defs/defs.h @@ -1,5 +1,5 @@ struct A { int a_member; }; -namespace { inline int use_a(A a) { return a.a_member; } } +inline int use_a(A a) { return a.a_member; } class B { struct Inner1 {}; @@ -17,4 +17,4 @@ struct C2 : C_Base<C_Const<0>::D{} extern c2; typedef struct { int a; void f(); struct X; } D; struct D::X { int dx; } extern dx; -namespace { inline int use_dx(D::X dx) { return dx.dx; } } +inline int use_dx(D::X dx) { return dx.dx; } diff --git a/clang/test/Modules/submodules-merge-defs.cpp b/clang/test/Modules/submodules-merge-defs.cpp index cdda48ea652..86e50368a9e 100644 --- a/clang/test/Modules/submodules-merge-defs.cpp +++ b/clang/test/Modules/submodules-merge-defs.cpp @@ -5,7 +5,9 @@ #include "empty.h" A pre_a; // expected-error {{must be imported}} expected-error {{must use 'struct'}} -// expected-note@defs.h:1 {{here}} +// expected-note@defs.h:1 +{{here}} +// FIXME: We should warn that use_a is being used without being imported. +int pre_use_a = use_a(pre_a); // expected-error {{'A' must be imported}} B::Inner2 pre_bi; // expected-error +{{must be imported}} // expected-note@defs.h:4 +{{here}} @@ -21,13 +23,17 @@ C2 pre_c2; // expected-error +{{must be imported}} expected-error {{must use 'st D::X pre_dx; // expected-error +{{must be imported}} // expected-note@defs.h:18 +{{here}} // expected-note@defs.h:19 +{{here}} +// FIXME: We should warn that use_dx is being used without being imported. +int pre_use_dx = use_dx(pre_dx); // Make definitions from second module visible. #include "import-and-redefine.h" A post_a; +int post_use_a = use_a(post_a); B::Inner2 post_bi; C_Base<1> post_cb1; C1 c1; C2 c2; D::X post_dx; +int post_use_dx = use_dx(post_dx); |

