[PATCH] D60934: [clang] adding explicit(bool) from c++2a
Gauthier via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Sat Apr 20 04:22:58 PDT 2019
Tyker created this revision.
Tyker added a reviewer: rsmith.
Herald added a reviewer: martong.
Herald added a reviewer: shafik.
Herald added a project: clang.
Herald added a subscriber: cfe-commits.
this patch adds support for the explicit bool specifier.
added parsing for explicit bool specifier in ParseDecl.cpp
adapted storage of explicit specifier in AST and DeclSpec.
was boolean value not it is a PointerIntPair with a flag and a potential expression.
was stored in every function declaration. now it is stored only in CXXConstructorDecl, CXXDeductionGuideDecl and CXXConversionDecl.
adpated AddOverloadCandidate, AddTemplateOverloadCandidate, AddConversionCandidate and AddTemplateConversionCandidate
adapted template instatiation to instantiate explicit bool expressions.
to receive a boolean idicating if function resolved to be explicit should be removed.
adapted Serialization, ASTMatchers, ASTComparator and ASTPrinter
added test for semantic and serialization.
this patch is not yet complete. i still need to check the interaction with CTAD and deduction guides.
and add more tests for AST operations. but i wanted first feedback.
perhaps this patch should be splitted in smaller patchs. but making each patch testable as a standalone may be tricky.
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 106893 bytes
Desc: not available
More information about the cfe-commits