[all-commits] [llvm/llvm-project] 997a71: PR48434: Work around crashes due to deserializatio...
Richard Smith via All-commits
all-commits at lists.llvm.org
Wed Dec 9 12:23:31 PST 2020
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 997a719d5a70100fcbbec1e51ce44cd66041bddc
https://github.com/llvm/llvm-project/commit/997a719d5a70100fcbbec1e51ce44cd66041bddc
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2020-12-09 (Wed, 09 Dec 2020)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/Type.cpp
M clang/test/PCH/cxx-templates.cpp
M clang/test/PCH/cxx-templates.h
Log Message:
-----------
PR48434: Work around crashes due to deserialization cycles via typedefs.
Ensure that we can deserialize a TypedefType even while in the middle of
deserializing its TypedefDecl, by removing the need to look at the
TypedefDecl while constructing the TypedefType.
This fixes all the currently-known failures for PR48434, but it's not a
complete fix, because we can still trigger deserialization cycles, which
are not supposed to happen.
Commit: 2a2c228c7ada0a5d77c48b4d445ab0013ca0ae19
https://github.com/llvm/llvm-project/commit/2a2c228c7ada0a5d77c48b4d445ab0013ca0ae19
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2020-12-09 (Wed, 09 Dec 2020)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/AST/TypePrinter.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
A clang/test/PCH/decl-attrs.cpp
M clang/test/SemaTemplate/attributes.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M libcxx/include/__config
M libcxx/include/iosfwd
M libcxx/include/regex
M libcxx/include/string
M libcxx/include/string_view
Log Message:
-----------
Add new 'preferred_name' attribute.
This attribute permits a typedef to be associated with a class template
specialization as a preferred way of naming that class template
specialization. This permits us to specify that (for example) the
preferred way to express 'std::basic_string<char>' is as 'std::string'.
The attribute is applied to the various class templates in libc++ that have
corresponding well-known typedef names.
This is a re-commit. The previous commit was reverted because it exposed
a pre-existing bug that has since been fixed / worked around; see
PR48434.
Differential Revision: https://reviews.llvm.org/D91311
Commit: 4ae8651c59241bca0c1ea5adaf8f06b292696b6f
https://github.com/llvm/llvm-project/commit/4ae8651c59241bca0c1ea5adaf8f06b292696b6f
Author: Richard Smith <richard at metafoo.co.uk>
Date: 2020-12-09 (Wed, 09 Dec 2020)
Changed paths:
M clang/test/PCH/decl-attrs.cpp
Log Message:
-----------
Add another test for PR48434.
Compare: https://github.com/llvm/llvm-project/compare/baef18dffba1...4ae8651c5924
More information about the All-commits
mailing list