[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-09 Thread Tyker via Phabricator via cfe-commits
Tyker marked an inline comment as done. Tyker added inline comments. Comment at: cfe/trunk/lib/Parse/ParseDecl.cpp:3939 + "both or neither of isAlreadyConsumed and " + "RangeEnd needs to be set"); +DS.Se

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-09 Thread Simon Pilgrim via Phabricator via cfe-commits
RKSimon added inline comments. Comment at: cfe/trunk/lib/Parse/ParseDecl.cpp:3939 + "both or neither of isAlreadyConsumed and " + "RangeEnd needs to be set"); +DS.SetRangeEnd(isAlreadyConsumed ? RangeEnd

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-07 Thread Tyker via Phabricator via cfe-commits
Tyker added a comment. could you commit this for me ? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60934/new/ https://reviews.llvm.org/D60934 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/li

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-06 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith reopened this revision. rsmith added inline comments. This revision is now accepted and ready to land. Comment at: clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:373-374 + ExplicitSpecifier ES, FunctionDecl *New) { + if (!ES.getExpr() || ES.get

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-06 Thread Tyker via Phabricator via cfe-commits
Tyker added a comment. yes i am on it. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60934/new/ https://reviews.llvm.org/D60934 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/m

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-06 Thread Nicolas Lesser via Phabricator via cfe-commits
Rakete added a comment. @Tyker This broke the Chromium build, could you investigate please? http://lists.llvm.org/pipermail/cfe-commits/Week-of-Mon-20190506/270340.html Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60934/new/ https://reviews.llvm.org/D60934

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-02 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Also please update https://clang.llvm.org/cxx_status.html CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60934/new/ https://reviews.llvm.org/D60934 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lis

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-02 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith accepted this revision. rsmith added a comment. This revision is now accepted and ready to land. Looks good, thank you! Comment at: clang/lib/Sema/SemaInit.cpp:9359 // The converting constructors of T are candidate functions. if (Kind.isCopyInit() && !Lis

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-02 Thread Tyker via Phabricator via cfe-commits
Tyker added inline comments. Comment at: clang/lib/Sema/SemaInit.cpp:9361 // Only consider converting constructors. -if (GD->isExplicit()) +if (!GD->isMaybeNotExplicit()) continue; rsmith wrote: > Tyker wrote: > > rsmith wrote:

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-01 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added inline comments. Comment at: clang/lib/Sema/SemaInit.cpp:9361 // Only consider converting constructors. -if (GD->isExplicit()) +if (!GD->isMaybeNotExplicit()) continue; Tyker wrote: > rsmith wrote: > > Tyker wrote:

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-01 Thread Nicolas Lesser via Phabricator via cfe-commits
Rakete added inline comments. Comment at: clang/include/clang/AST/DeclCXX.h:2579 +assert( +!ES.getExpr() || +CXXConstructorDeclBits.HasTrailingExplicitSpecifier && Tyker wrote: > Rakete wrote: > > Your or needs parens or the disambigua

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-05-01 Thread Tyker via Phabricator via cfe-commits
Tyker added inline comments. Comment at: clang/include/clang/AST/DeclCXX.h:2579 +assert( +!ES.getExpr() || +CXXConstructorDeclBits.HasTrailingExplicitSpecifier && Rakete wrote: > Your or needs parens or the disambiguation is wrong. i don't

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-30 Thread Nicolas Lesser via Phabricator via cfe-commits
Rakete added inline comments. Comment at: clang/include/clang/AST/DeclCXX.h:2579 +assert( +!ES.getExpr() || +CXXConstructorDeclBits.HasTrailingExplicitSpecifier && Your or needs parens or the disambiguation is wrong. Com

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-30 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added inline comments. Comment at: clang/include/clang/AST/DeclBase.h:1534 /// 25 bits to fit in the remaining availible space. /// Note that this makes CXXConstructorDeclBitfields take Small typo + update comment CHANGES SINCE LAST ACTION

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-30 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. This is great, thank you so much! Comment at: clang/include/clang/AST/DeclBase.h:1539-1541 +uint64_t NumCtorInitializers : 64 - NumDeclContextBits - +NumFunctionDeclBits - +/*Other used bits in CXXConstructorDecl*/ 3;

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-30 Thread Tyker via Phabricator via cfe-commits
Tyker added inline comments. Comment at: clang/include/clang/AST/DeclCXX.h:2033 + + void setExplicitSpecifier(ExplicitSpecInfo ESI); + Tyker wrote: > Tyker wrote: > > rsmith wrote: > > > Generally we don't want to have setters in the AST; the AST is intended >

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-30 Thread Tyker via Phabricator via cfe-commits
Tyker marked 2 inline comments as done. Tyker added inline comments. Comment at: clang/include/clang/AST/DeclBase.h:1539-1541 +uint64_t NumCtorInitializers : 64 - NumDeclContextBits - +NumFunctionDeclBits - +/*Other used bits in CXXConstructorDecl*/ 3; ---

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-29 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith marked 2 inline comments as done. rsmith added a comment. Thanks, this is looking really good. (Lots of comments but they're mostly mechanical at this point.) Comment at: clang/include/clang/AST/DeclBase.h:1539-1541 +uint64_t NumCtorInitializers : 64 - NumDeclContex

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-29 Thread Gabor Marton via Phabricator via cfe-commits
martong accepted this revision. martong added a comment. This revision is now accepted and ready to land. ASTImporter.cpp and ASTStructuralEquivalence.cpp looks good to me now. I am resigning as a reviewer since I don't feel competent enough to review the rest of the change. CHANGES SINCE LAS

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-28 Thread Tyker via Phabricator via cfe-commits
Tyker marked an inline comment as done. Tyker added a comment. Fixed based on Feedback from @rsmith @martong @Rakete. feedback that weren't fixed have comment explaining why. Comment at: clang/include/clang/AST/DeclCXX.h:2033 + + void setExplicitSpecifier(ExplicitSpecInfo

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-26 Thread Gauthier via Phabricator via cfe-commits
Tyker marked 2 inline comments as done. Tyker added inline comments. Comment at: clang/include/clang/AST/DeclCXX.h:2033 + + void setExplicitSpecifier(ExplicitSpecInfo ESI); + rsmith wrote: > Generally we don't want to have setters in the AST; the AST is intended

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-26 Thread Gabor Marton via Phabricator via cfe-commits
martong added inline comments. Comment at: clang/lib/AST/ASTStructuralEquivalence.cpp:965 auto *Conversion2 = cast(Method2); -if (Conversion1->isExplicit() != Conversion2->isExplicit()) +if (!Conversion1->isEquivalentExplicit(Conversion2->getExplicitSpecifier()))

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-25 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith marked an inline comment as done. rsmith added inline comments. Comment at: clang/include/clang/AST/DeclCXX.h:2022 + + bool isEquivalentExplicit(const CXXDeductionGuideDecl *Other) const; + bool isExplicit() const { I think this is too special-case to li

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-25 Thread Gabor Marton via Phabricator via cfe-commits
martong added a comment. In D60934#1475908 , @Tyker wrote: > Fixed issues form feedback by @martong Thank you for addressing the comments. `ASTImporter.cpp` and `ASTStructuralEquivalence.cpp` looks good to me now. However, about the equivalence check,

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-25 Thread Nicolas Lesser via Phabricator via cfe-commits
Rakete added a comment. Thanks for working on this! :) Comment at: clang/lib/Parse/ParseDecl.cpp:3533 + if (ExplicitExpr.isInvalid()) { +Diag(ParenLoc, diag::note_explicit_bool_breaking_change_cxx2a) +<< FixItHint::CreateReplacement( ---

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-23 Thread Gabor Marton via Phabricator via cfe-commits
martong added inline comments. Comment at: clang/lib/AST/ASTImporter.cpp:3126 +auto Imp = +importSeq(FromConstructor->getExplicitSpecifier().getPointer()); +if (!Imp) Why is it needed to import the explicit specifier here again? You al

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-21 Thread Gauthier via Phabricator via cfe-commits
Tyker updated this revision to Diff 195990. Tyker added a comment. @Quuxplusone @riccibruno fixed / answered feedback CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60934/new/ https://reviews.llvm.org/D60934 Files: clang/include/clang/AST/Decl.h clang/include/clang/AST/DeclBase.h

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-20 Thread Gauthier via Phabricator via cfe-commits
Tyker updated this revision to Diff 195973. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60934/new/ https://reviews.llvm.org/D60934 Files: clang/include/clang/AST/Decl.h clang/include/clang/AST/DeclBase.h clang/include/clang/AST/DeclCXX.h clang/include/clang/ASTMatchers/ASTMatch

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-20 Thread Gauthier via Phabricator via cfe-commits
Tyker marked 2 inline comments as done. Tyker added inline comments. Comment at: clang/lib/Sema/DeclSpec.cpp:959 + // Each decl-specifier shall appear at most once in a complete + // decl-specifier-seq, except that long may appear twice. + if (hasExplicitSpecifier()) { ---

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-20 Thread Bruno Ricci via Phabricator via cfe-commits
riccibruno added a comment. This patch certainly took a few hours to write. Can you spend 5 minutes on making the summary readable (spelling, capitalization, formatting, well-formed sentences, ...) ? Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60934/new/ http

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-20 Thread Arthur O'Dwyer via Phabricator via cfe-commits
Quuxplusone added inline comments. Comment at: clang/include/clang/AST/DeclCXX.h:2620 + + bool hasExplicitSpecifer() const { +return ExplicitSpecifier.getInt() != ESF_resolved_false || s/Specifer/Specifier/ (and please `git grep` for other instances of the s

[PATCH] D60934: [clang] adding explicit(bool) from c++2a

2019-04-20 Thread Gauthier via Phabricator via cfe-commits
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