summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/DeclCXX.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2018-01-06 01:07:05 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2018-01-06 01:07:05 +0000
commita263c346e568e15dde95ad2d1417444c5cda134f (patch)
tree5033028c647c91413c416e61e51382bf8202e149 /clang/lib/AST/DeclCXX.cpp
parent0f74d273b009240bd71c10e8e5487f0add521048 (diff)
downloadbcm5719-llvm-a263c346e568e15dde95ad2d1417444c5cda134f.tar.gz
bcm5719-llvm-a263c346e568e15dde95ad2d1417444c5cda134f.zip
Serialize the IDNS for a UsingShadowDecl rather than recomputing it.
Attempting to recompute it are doomed to fail because the IDNS of a declaration is not necessarily preserved across serialization and deserialization (in turn because whether a friend declaration is visible depends on whether some prior non-friend declaration exists). llvm-svn: 321921
Diffstat (limited to 'clang/lib/AST/DeclCXX.cpp')
-rw-r--r--clang/lib/AST/DeclCXX.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/clang/lib/AST/DeclCXX.cpp b/clang/lib/AST/DeclCXX.cpp
index 41f2449a9d6..afbc3f315f5 100644
--- a/clang/lib/AST/DeclCXX.cpp
+++ b/clang/lib/AST/DeclCXX.cpp
@@ -2387,10 +2387,10 @@ UsingShadowDecl::UsingShadowDecl(Kind K, ASTContext &C, DeclContext *DC,
SourceLocation Loc, UsingDecl *Using,
NamedDecl *Target)
: NamedDecl(K, DC, Loc, Using ? Using->getDeclName() : DeclarationName()),
- redeclarable_base(C), Underlying(Target),
+ redeclarable_base(C), Underlying(),
UsingOrNextShadow(cast<NamedDecl>(Using)) {
if (Target)
- IdentifierNamespace = Target->getIdentifierNamespace();
+ setTargetDecl(Target);
setImplicit();
}
OpenPOWER on IntegriCloud