[libclang] Declarations inside anonymous namespaces have internal linkage so
their USR should contain a location. This uniques them from other declarations with the same name but in different translation units. rdar://10546541 llvm-svn: 169647
This commit is contained in:
parent
5aa36def74
commit
23de34d6d6
|
@ -101,8 +101,8 @@ void rdar9371763() {
|
|||
// CHECK: usrs.cpp c:@N@foo@C@ClsB@F@ClsB# Extent=[19:5 - 19:27]
|
||||
// CHECK: usrs.cpp c:@N@foo@C@ClsB@F@result#1 Extent=[20:5 - 20:23]
|
||||
// CHECK: usrs.cpp c:@N@foo@C@ClsB@F@result#1 Extent=[24:1 - 26:2]
|
||||
// CHECK: usrs.cpp c:@aN@C@ClsC Extent=[29:3 - 29:35]
|
||||
// CHECK: usrs.cpp c:@aN@w Extent=[30:3 - 30:8]
|
||||
// CHECK: usrs.cpp c:usrs.cpp@360@aN@C@ClsC Extent=[29:3 - 29:35]
|
||||
// CHECK: usrs.cpp c:usrs.cpp@396@aN@w Extent=[30:3 - 30:8]
|
||||
// CHECK: usrs.cpp c:@z Extent=[33:1 - 33:6]
|
||||
// CHECK: usrs.cpp c:@N@foo Extent=[35:1 - 40:2]
|
||||
// CHECK: usrs.cpp c:@N@foo@N@taz Extent=[35:17 - 39:2]
|
||||
|
@ -137,7 +137,7 @@ void rdar9371763() {
|
|||
// CHECK-NOT: ClsB
|
||||
// CHECK: usrs.cpp c:@NA@foo_alias3
|
||||
// CHECK: usrs.cpp c:@aN Extent=[68:1 - 73:2]
|
||||
// CHECK: usrs.cpp c:@aN@C@RDar9371763_Foo Extent=[69:1 - 72:2]
|
||||
// CHECK: usrs.cpp c:usrs.cpp@1097@aN@C@RDar9371763_Foo Extent=[69:1 - 72:2]
|
||||
// CHECK: usrs.cpp c: Extent=[70:1 - 70:8]
|
||||
// CHECK: usrs.cpp c:usrs.cpp@1131@aN@C@RDar9371763_Foo@F@bar# Extent=[71:3 - 71:13]
|
||||
// CHECK: usrs.cpp c:usrs.cpp@1131@aN@C@RDar9371763_Foo@F@bar# Extent=[75:1 - 75:31]
|
||||
|
|
|
@ -151,14 +151,8 @@ bool USRGenerator::EmitDeclName(const NamedDecl *D) {
|
|||
return startSize == endSize;
|
||||
}
|
||||
|
||||
static bool InAnonymousNamespace(const Decl *D) {
|
||||
if (const NamespaceDecl *ND = dyn_cast<NamespaceDecl>(D->getDeclContext()))
|
||||
return ND->isAnonymousNamespace();
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline bool ShouldGenerateLocation(const NamedDecl *D) {
|
||||
return D->getLinkage() != ExternalLinkage && !InAnonymousNamespace(D);
|
||||
return D->getLinkage() != ExternalLinkage;
|
||||
}
|
||||
|
||||
void USRGenerator::VisitDeclContext(DeclContext *DC) {
|
||||
|
|
Loading…
Reference in New Issue