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

name lookup from lazily deserializing the other declarations with the same name, by tracking a bit to indicate whether a name in a DeclContext might have additional external results. This also allows lazier reconciling of the lookup table if a module import adds decls to a pre-existing DC. However, this exposes a pre-existing bug, which causes a regression in test/Modules/decldef.mm: if we have a reference to a declaration, and a later-imported module adds a redeclaration, nothing causes us to load that redeclaration when we use or emit the reference (which can manifest as a reference to an undefined inline function, a use of an incomplete type, and so on). decldef.mm has been extended with an additional testcase which fails with or without this change. llvm-svn: 190293
28 lines
238 B
Objective-C
28 lines
238 B
Objective-C
#include "def-include.h"
|
|
|
|
|
|
|
|
@interface A {
|
|
@public
|
|
int ivar;
|
|
}
|
|
@end
|
|
|
|
@interface Def
|
|
- defMethod;
|
|
@end
|
|
|
|
#ifdef __cplusplus
|
|
class Def2 {
|
|
public:
|
|
void func();
|
|
};
|
|
|
|
namespace Def3NS {
|
|
class Def3 {
|
|
public:
|
|
void func();
|
|
};
|
|
}
|
|
#endif
|