summaryrefslogtreecommitdiffstats
path: root/clang/lib/Serialization
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-08-01 01:56:39 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-08-01 01:56:39 +0000
commit46bb581a03af0fb5710e37ce24ff09e596b94588 (patch)
treeb3d20f5367bb4eb1307127ce591f2cab080c7cdc /clang/lib/Serialization
parent264da422b95a6c57abbee9cb5a600c4de68ebda8 (diff)
downloadbcm5719-llvm-46bb581a03af0fb5710e37ce24ff09e596b94588.tar.gz
bcm5719-llvm-46bb581a03af0fb5710e37ce24ff09e596b94588.zip
[modules] Remove IRGen special case for emitting implicit special members if
they're somehow missing a body. Looks like this was left behind when the loop was generalized, and it's not been problematic before because without modules, a used, implicit special member function declaration must be a definition. This was resulting in us trying to emit a constructor declaration rather than a definition, and producing a constructor missing its member initializers. llvm-svn: 214473
Diffstat (limited to 'clang/lib/Serialization')
-rw-r--r--clang/lib/Serialization/ASTReaderDecl.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReaderDecl.cpp b/clang/lib/Serialization/ASTReaderDecl.cpp
index ea3f61fdc89..441427cc568 100644
--- a/clang/lib/Serialization/ASTReaderDecl.cpp
+++ b/clang/lib/Serialization/ASTReaderDecl.cpp
@@ -3241,6 +3241,8 @@ void ASTDeclReader::UpdateDecl(Decl *D, ModuleFile &ModuleFile,
case UPD_CXX_ADDED_IMPLICIT_MEMBER: {
Decl *MD = Reader.ReadDecl(ModuleFile, Record, Idx);
assert(MD && "couldn't read decl from update record");
+ // FIXME: We should call addHiddenDecl instead, to add the member
+ // to its DeclContext.
cast<CXXRecordDecl>(D)->addedMember(MD);
break;
}
OpenPOWER on IntegriCloud