diff options
author | Hans Wennborg <hans@hanshq.net> | 2018-07-03 07:51:41 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2018-07-03 07:51:41 +0000 |
commit | cfd5890f82db858d610ec28a9fbb44e0e853c8c0 (patch) | |
tree | bff5cf1efed476da3de24958c9925f565ec49b46 /include/clang/Serialization | |
parent | aa3be4e3c06473db5996695a3ab9755aee5f9f9d (diff) |
Revert r336021 "PR33924: merge local declarations that have linkage of some kind within"
This caused test failures in 32-bit builds (PR38015).
> merged function definitions; also merge functions with deduced return
> types.
>
> This seems like two independent fixes, but unfortunately they are hard
> to separate because it's challenging to reliably test either one of them
> without also testing the other.
>
> A complication arises with deduced return type support: we need the type
> of the function in order to know how to merge it, but we can't load the
> actual type of the function because it might reference an entity
> declared within the function (and we need to have already merged the
> function to correctly merge that entity, which we would need to do to
> determine if the function types match). So we instead compare the
> declared function type when merging functions, and defer loading the
> actual type of a function with a deduced type until we've finished
> loading and merging the function.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@336175 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/Serialization')
-rw-r--r-- | include/clang/Serialization/ASTReader.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/clang/Serialization/ASTReader.h b/include/clang/Serialization/ASTReader.h index b33f317765..bf9ed38a15 100644 --- a/include/clang/Serialization/ASTReader.h +++ b/include/clang/Serialization/ASTReader.h @@ -546,7 +546,7 @@ private: /// Mergeable declaration contexts that have anonymous declarations /// within them, and those anonymous declarations. - llvm::DenseMap<Decl*, llvm::SmallVector<NamedDecl*, 2>> + llvm::DenseMap<DeclContext*, llvm::SmallVector<NamedDecl*, 2>> AnonymousDeclarationsForMerging; struct FileDeclsInfo { |