mirror of
https://github.com/llvm/llvm-project.git
synced 2025-05-03 03:16:07 +00:00

for a DeclContext, and fix propagation of exception specifications along redeclaration chains. This reverts r232905, r232907, and r232907, which reverted r232793, r232853, and r232853. One additional change is present here to resolve issues with LLDB: distinguish between whether lexical decls missing from the lookup table are local or are provided by the external AST source, and still look in the external source if that's where they came from. llvm-svn: 232928
24 lines
911 B
C++
24 lines
911 B
C++
// RUN: rm -rf %t
|
|
// RUN: %clang_cc1 -x objective-c++ -fmodules -fmodules-cache-path=%t -I %S/Inputs/odr %s -verify -std=c++11
|
|
|
|
// expected-error@a.h:8 {{'X::n' from module 'a' is not present in definition of 'X' provided earlier}}
|
|
struct X { // expected-note {{definition has no member 'n'}}
|
|
};
|
|
|
|
@import a;
|
|
|
|
bool b = F<int>{0} == F<int>{1};
|
|
|
|
@import b;
|
|
|
|
// Trigger the declarations from a and b to be imported.
|
|
int x = f() + g();
|
|
|
|
// expected-note@a.h:5 {{definition has no member 'e2'}}
|
|
// expected-note@b.h:3 {{declaration of 'f' does not match}}
|
|
// expected-note@b.h:1 {{definition has no member 'n'}}
|
|
|
|
// expected-error@b.h:5 {{'E::e2' from module 'b' is not present in definition of 'E' in module 'a'}}
|
|
// expected-error@a.h:3 {{'Y::f' from module 'a' is not present in definition of 'Y' in module 'b'}}
|
|
// expected-error@a.h:2 {{'Y::n' from module 'a' is not present in definition of 'Y' in module 'b'}}
|