[clang] [libcxx] [Clang] Add __common_type builtin (PR #99473)

2024-07-25 Thread Richard Smith via cfe-commits
https://github.com/zygoloid commented: How much of a performance difference are you measuring with this change? https://github.com/llvm/llvm-project/pull/99473 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailm

[clang] [libcxx] [Clang] Add __common_type builtin (PR #99473)

2024-07-25 Thread Richard Smith via cfe-commits
@@ -3058,6 +3058,133 @@ void Sema::NoteAllFoundTemplates(TemplateName Name) { } } +static QualType commonTypeImpl(Sema &S, TemplateName BaseTemplate, + SourceLocation TemplateLoc, + ArrayRef Ts) { + auto lookUpComm

[clang] [libcxx] [Clang] Add __common_type builtin (PR #99473)

2024-07-25 Thread Richard Smith via cfe-commits
@@ -6848,6 +6848,14 @@ CXXRecordMembersNamed(StringRef Name, Sema &S, QualType Ty) { return Results; } +QualType Sema::getTypeMember(QualType Type, StringRef Name) { + auto Results = CXXRecordMembersNamed(Name, *this, Type); + assert(Results.size() <= 1); + if (Results.e

[clang] [clang-tools-extra] [clang] check deduction consistency when partial ordering function templates (PR #100692)

2024-07-26 Thread Richard Smith via cfe-commits
https://github.com/zygoloid commented: Thanks! https://github.com/llvm/llvm-project/pull/100692 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] check deduction consistency when partial ordering function templates (PR #100692)

2024-07-26 Thread Richard Smith via cfe-commits
https://github.com/zygoloid edited https://github.com/llvm/llvm-project/pull/100692 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [clang-tools-extra] [clang] check deduction consistency when partial ordering function templates (PR #100692)

2024-07-26 Thread Richard Smith via cfe-commits
@@ -5425,34 +5534,112 @@ static bool isAtLeastAsSpecializedAs(Sema &S, SourceLocation Loc, // the partial ordering is done: TemplateDeductionInfo Info(Loc); switch (TPOC) { - case TPOC_Call: + case TPOC_Call: { if (DeduceTemplateArguments(S, TemplateParams, Args

[clang] [clang-tools-extra] [clang] check deduction consistency when partial ordering function templates (PR #100692)

2024-07-26 Thread Richard Smith via cfe-commits
@@ -5346,7 +5346,6 @@ static EvalStmtResult EvaluateStmt(StmtResult &Result, EvalInfo &Info, const Expr *RetExpr = cast(S)->getRetValue(); FullExpressionRAII Scope(Info); if (RetExpr && RetExpr->isValueDependent()) { - EvaluateDependentExpr(RetExpr, Info); ---

[clang] [clang-tools-extra] [clang] check deduction consistency when partial ordering function templates (PR #100692)

2024-07-26 Thread Richard Smith via cfe-commits
@@ -5399,11 +5434,85 @@ static QualType GetImplicitObjectParameterType(ASTContext &Context, return Context.getLValueReferenceType(RawType); } +static TemplateDeductionResult FinishTemplateArgumentDeduction( +Sema &S, FunctionTemplateDecl *FTD, int ArgIdx, QualType P, Qu

[clang] [clang-tools-extra] [clang] check deduction consistency when partial ordering function templates (PR #100692)

2024-07-26 Thread Richard Smith via cfe-commits
@@ -859,8 +861,10 @@ class PackDeductionScope { // by this pack expansion, then clear out the deduction. DeducedFromEarlierParameter = !Deduced[Index].isNull(); DeducedPack Pack(Index); -Pack.Saved = Deduced[Index]; -Deduced[Index] = TemplateArgument(); +

[clang] [clang-tools-extra] [clang] check deduction consistency when partial ordering function templates (PR #100692)

2024-07-26 Thread Richard Smith via cfe-commits
@@ -5399,11 +5434,85 @@ static QualType GetImplicitObjectParameterType(ASTContext &Context, return Context.getLValueReferenceType(RawType); } +static TemplateDeductionResult FinishTemplateArgumentDeduction( +Sema &S, FunctionTemplateDecl *FTD, int ArgIdx, QualType P, Qu

[clang] [clang-tools-extra] [clang] check deduction consistency when partial ordering function templates (PR #100692)

2024-07-26 Thread Richard Smith via cfe-commits
@@ -30,98 +30,27 @@ class basic_string_view { constexpr basic_string_view &operator=(const basic_string_view &) {} }; -template -constexpr bool operator<(basic_string_view, basic_string_view) { - return {}; -} -template -constexpr bool operator<(type_identity_t>, -

[clang] [clang-tools-extra] [clang] check deduction consistency when partial ordering function templates (PR #100692)

2024-07-26 Thread Richard Smith via cfe-commits
@@ -5399,11 +5434,85 @@ static QualType GetImplicitObjectParameterType(ASTContext &Context, return Context.getLValueReferenceType(RawType); } +static TemplateDeductionResult FinishTemplateArgumentDeduction( +Sema &S, FunctionTemplateDecl *FTD, int ArgIdx, QualType P, Qu

[clang] [C] Disable use of NRVO (PR #101038)

2024-07-29 Thread Richard Smith via cfe-commits
zygoloid wrote: NRVO vs not-NRVO is not an ABI difference, just a behavior difference -- it doesn't change the calling convention, and different choices here are link-compatible (in C++ we can make different choices for different emissions of the same inline function even). This is also not a

[clang] [C] Disable use of NRVO (PR #101038)

2024-07-29 Thread Richard Smith via cfe-commits
zygoloid wrote: > Richard, I'm sorry to contradict you, but Aaron is correct to guess that this > is ABI-affecting: ABIs should and sometimes do specify whether an indirect > return address is allowed to be aliased. My claim was narrowly that the choice to perform or not perform NRVO for an i

[clang] [C] Disable use of NRVO (PR #101038)

2024-07-29 Thread Richard Smith via cfe-commits
zygoloid wrote: > Typically, the absence of a statement must be interpreted as a lack of a > guarantee. In this case, however, I would argue it is more plausible to infer > that the ABI authors did not consider the possibility of passing a pointer to > aliased memory for the return value, and

[clang] [C] Disable use of NRVO (PR #101038)

2024-07-30 Thread Richard Smith via cfe-commits
zygoloid wrote: I think `__attribute__((cleanup))` on a variable should disable NRVO on that variable, in both C and in C++. [GCC's behavior](https://godbolt.org/z/Psbbr83ET) is to ignore the `cleanup` attribute entirely if NRVO is applied to the variable, which seems like a flawed approach,

[clang] [libcxx] Reapply "[Clang] Implement resolution for CWG1835 (#92957, #98547)" (PR #100425)

2024-07-30 Thread Richard Smith via cfe-commits
@@ -1779,6 +1779,42 @@ void Parser::checkPotentialAngleBracket(ExprResult &PotentialTemplateName) { Priority); } +bool Parser::isMissingTemplateKeywordBeforeScope(bool AnnotateInvalid) { + assert(Tok.is(tok::coloncolon)); + Sema::DisableTypoCorrectionRAI

[clang] [libcxx] Reapply "[Clang] Implement resolution for CWG1835 (#92957, #98547)" (PR #100425)

2024-07-30 Thread Richard Smith via cfe-commits
@@ -1779,6 +1779,42 @@ void Parser::checkPotentialAngleBracket(ExprResult &PotentialTemplateName) { Priority); } +bool Parser::isMissingTemplateKeywordBeforeScope(bool AnnotateInvalid) { + assert(Tok.is(tok::coloncolon)); + Sema::DisableTypoCorrectionRAI

[clang] [clang][CUDA] Add 'noconvergent' function and statement attribute (PR #100637)

2024-07-31 Thread Richard Smith via cfe-commits
zygoloid wrote: > Please also update the documentation for the attribute and the release notes. It looks like you may have overlooked the request to add release notes for this new feature. https://github.com/llvm/llvm-project/pull/100637 ___ cfe-com

[clang] [libcxx] Reapply "[Clang] Implement resolution for CWG1835 (#92957, #98547)" (PR #100425)

2024-07-31 Thread Richard Smith via cfe-commits
@@ -1779,6 +1779,42 @@ void Parser::checkPotentialAngleBracket(ExprResult &PotentialTemplateName) { Priority); } +bool Parser::isMissingTemplateKeywordBeforeScope(bool AnnotateInvalid) { + assert(Tok.is(tok::coloncolon)); + Sema::DisableTypoCorrectionRAI

[clang] [ExprConstant] Handle shift overflow the same way as other kinds of overflow (PR #99579)

2024-07-18 Thread Richard Smith via cfe-commits
@@ -142,7 +142,7 @@ constexpr int arb(int n) { // expected-note {{declared here}} expected-note {{function parameter 'n' with unknown value cannot be used in a constant expression}} } constexpr long Overflow[(1 << 30) << 2]{}; // expected-warning {{requires 34

[clang] [ExprConstant] Handle shift overflow the same way as other kinds of overflow (PR #99579)

2024-07-18 Thread Richard Smith via cfe-commits
@@ -200,14 +200,7 @@ namespace LongInt { }; enum shiftof { -X = (1<<-29), // all-error {{expression is not an integral constant expression}} \ - // all-note {{negative shift count -29}} - -X2 = (-1<<29), // cxx17-error {{expression is not an integral

[clang] [ExprConstant] Handle shift overflow the same way as other kinds of overflow (PR #99579)

2024-07-18 Thread Richard Smith via cfe-commits
@@ -2849,19 +2849,23 @@ static bool handleIntIntBinOp(EvalInfo &Info, const BinaryOperator *E, if (SA != RHS) { Info.CCEDiag(E, diag::note_constexpr_large_shift) << RHS << E->getType() << LHS.getBitWidth(); + if (!Info.noteUndefinedBehavior()) +r

[clang] [ExprConstant] Handle shift overflow the same way as other kinds of overflow (PR #99579)

2024-07-18 Thread Richard Smith via cfe-commits
https://github.com/zygoloid edited https://github.com/llvm/llvm-project/pull/99579 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [ExprConstant] Handle shift overflow the same way as other kinds of overflow (PR #99579)

2024-07-18 Thread Richard Smith via cfe-commits
zygoloid wrote: As noted in one of the inline comments, it doesn't seem good to be losing a diagnostic for ill-formed code. But this all makes sense to me as a step to make our behavior more consistent. I wonder if it'd make sense to make our folding behavior stricter by default as a prerequis

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-19 Thread Richard Smith via cfe-commits
@@ -49,7 +48,25 @@ #define __need_rsize_t #endif #define __need_wchar_t +#if !defined(__STDDEF_H) && !__building_module(_Builtin_stddef) zygoloid wrote: I'm not sure that the second condition here makes any difference: I'd think the only way we could get here

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Richard Smith via cfe-commits
@@ -49,7 +48,24 @@ #define __need_rsize_t #endif #define __need_wchar_t +#if !defined(__STDDEF_H) || __has_feature(modules) +/* + * __stddef_null.h is special when building without modules: if __need_NULL is + * set, then it will unconditionally redefine NULL. To avoid stepping

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Richard Smith via cfe-commits
@@ -49,7 +48,24 @@ #define __need_rsize_t #endif #define __need_wchar_t +#if !defined(__STDDEF_H) || __has_feature(modules) +/* + * __stddef_null.h is special when building without modules: if __need_NULL is + * set, then it will unconditionally redefine NULL. To avoid stepping

[clang] [clang][headers] Including stddef.h always redefines NULL (PR #99727)

2024-07-22 Thread Richard Smith via cfe-commits
@@ -49,7 +48,24 @@ #define __need_rsize_t #endif #define __need_wchar_t +#if !defined(__STDDEF_H) || __has_feature(modules) +/* + * __stddef_null.h is special when building without modules: if __need_NULL is + * set, then it will unconditionally redefine NULL. To avoid stepping

[clang] [clang] deprecate frelaxed-template-template-args, make it on by default (PR #89807)

2024-04-23 Thread Richard Smith via cfe-commits
@@ -8343,58 +8343,52 @@ bool Sema::CheckTemplateTemplateArgument(TemplateTemplateParmDecl *Param, // C++1z [temp.arg.template]p3: (DR 150) // A template-argument matches a template template-parameter P when P // is at least as specialized as the template-argument A.

[clang] [SemaCXX] Implement CWG2351 `void{}` (PR #78060)

2024-04-29 Thread Richard Smith via cfe-commits
zygoloid wrote: > Note that the AST for the expression `T{}` looks like: > > ``` > // using T = int; > CXXFunctionalCastExpr 'T':'int' functional cast to T > `-InitListExpr 'T':'int' > // using T = const int; > CXXFunctionalCastExpr 'int' functional cast to T > `-InitListExpr 'int' > // using

[clang] [clang] Update C++ DR page (PR #106299)

2024-08-27 Thread Richard Smith via cfe-commits
@@ -17292,43 +17292,43 @@ C++ defect report implementation status https://cplusplus.github.io/CWG/issues/2913.html";>2913 -open +tentatively ready Grammar for deduction-guide has requires-clause in the wrong position Not resolved https

[clang] [Clang][Sema] Fix malformed AST for anonymous class access in template. (PR #90842)

2024-05-02 Thread Richard Smith via cfe-commits
https://github.com/zygoloid commented: Another possibility to consider: when [transforming a member access](https://github.com/llvm/llvm-project/blob/ff210b94d449de8ebe1f32cf0d7763ba63b27b39/clang/lib/Sema/TreeTransform.h#L11950), strip off any implicit member accesses from the base expression

[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)

2024-05-03 Thread Richard Smith via cfe-commits
https://github.com/zygoloid commented: Thanks for working on this. https://github.com/llvm/llvm-project/pull/87933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)

2024-05-03 Thread Richard Smith via cfe-commits
https://github.com/zygoloid edited https://github.com/llvm/llvm-project/pull/87933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)

2024-05-03 Thread Richard Smith via cfe-commits
@@ -8194,25 +8216,18 @@ void Sema::checkInitializerLifetime(const InitializedEntity &Entity, } switch (shouldLifetimeExtendThroughPath(Path)) { + case PathLifetimeKind::ShouldExtend: zygoloid wrote: Do we need separate `ShouldExtend` and `Ex

[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)

2024-05-03 Thread Richard Smith via cfe-commits
@@ -269,6 +269,26 @@ void init_capture_init_list() { // CHECK: } } +void check_dr1815() { // dr1815: yes +#if __cplusplus >= 201402L + + struct A { +int &&r = 0; +~A() {} + }; + + struct B { +A &&a = A{}; +~B() {} + }; + + // CHECK: void @_Z12check_dr181

[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)

2024-05-03 Thread Richard Smith via cfe-commits
@@ -122,7 +122,7 @@ void aggregateWithReferences() { clang_analyzer_dump(viaReference.ry); // expected-warning-re {{&lifetime_extended_object{Composite, viaReference, S{{[0-9]+}}} }} // clang does not currently implement extending lifetime of object bound to reference me

[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)

2024-05-03 Thread Richard Smith via cfe-commits
@@ -10698,7 +10698,7 @@ C++ defect report implementation status https://cplusplus.github.io/CWG/issues/1815.html";>1815 CD4 Lifetime extension in aggregate initialization -No +Clang 19 zygoloid wrote: ```suggestion Clang 19 ``` We use

[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)

2024-05-03 Thread Richard Smith via cfe-commits
@@ -711,6 +711,26 @@ void InitListChecker::FillInEmptyInitForField(unsigned Init, FieldDecl *Field, if (VerifyOnly) return; + // Enter a lifetime extension context, then we can support lifetime + // extension of temporary created by aggregate initializ

[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)

2024-05-03 Thread Richard Smith via cfe-commits
@@ -206,13 +206,10 @@ namespace cwg1814 { // cwg1814: yes #endif } -namespace cwg1815 { // cwg1815: no +namespace cwg1815 { // cwg1815: yes zygoloid wrote: A test for constant evaluation would be nice here too. Maybe: ```c++ struct C { const int &r = 0; }; co

[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)

2024-05-08 Thread Richard Smith via cfe-commits
https://github.com/zygoloid approved this pull request. Looks great! I think it'd be good to understand what's happening with the static analyzer test, and update the comment to explain. But given that this is fixing a conformance / wrong code bug, I don't think we should block this PR on fixi

[clang] [Analyzer][CFG] Correctly handle rebuilt default arg and default init expression (PR #91879)

2024-05-12 Thread Richard Smith via cfe-commits
@@ -2433,6 +2429,30 @@ CFGBlock *CFGBuilder::VisitChildren(Stmt *S) { return B; } +CFGBlock *CFGBuilder::VisitCXXDefaultArgExpr(CXXDefaultArgExpr *Arg, + AddStmtChoice asc) { + if (Arg->hasRewrittenInit()) { +if (asc.alwaysAdd

[clang] [Analyzer][CFG] Correctly handle rebuilt default arg and default init expression (PR #91879)

2024-05-12 Thread Richard Smith via cfe-commits
@@ -2433,6 +2429,30 @@ CFGBlock *CFGBuilder::VisitChildren(Stmt *S) { return B; } +CFGBlock *CFGBuilder::VisitCXXDefaultArgExpr(CXXDefaultArgExpr *Arg, + AddStmtChoice asc) { + if (Arg->hasRewrittenInit()) { +if (asc.alwaysAdd

[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)

2024-05-12 Thread Richard Smith via cfe-commits
zygoloid wrote: > I'd like to proposal a separate PR for static analyzer. #91879 WDYT? That sounds good to me. https://github.com/llvm/llvm-project/pull/87933 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailm

[clang] [Clang][Sema] Fix malformed AST for anonymous class access in template. (PR #90842)

2024-05-12 Thread Richard Smith via cfe-commits
https://github.com/zygoloid approved this pull request. Nothing further on my side, LGTM https://github.com/llvm/llvm-project/pull/90842 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang] Add attribute for consteval builtins; Declare constexpr builtins as constexpr in C++ (PR #91894)

2024-05-13 Thread Richard Smith via cfe-commits
@@ -14,13 +14,18 @@ void __builtin_va_copy(double d); // expected-error@+2 {{cannot redeclare builtin function '__builtin_va_end'}} // expected-note@+1 {{'__builtin_va_end' is a builtin with type}} void __builtin_va_end(__builtin_va_list); -// RUN: %clang_cc1 %s -fsyntax-only -

[clang] [clang] Enable C++17 relaxed template template argument matching by default (PR #89807)

2024-05-15 Thread Richard Smith via cfe-commits
zygoloid wrote: > The immediate deprecation causes a few issues On the one hand: waiting to deprecate something that we know we're going to deprecate usually doesn't help anyone. We delay getting the message out to our users, we sometimes forget to do it for the next release, and at best it me

[clang] [clang] Implement provisional wording for CWG2398 regarding packs (PR #90820)

2024-05-16 Thread Richard Smith via cfe-commits
https://github.com/zygoloid commented: I think we should go ahead with this. The behavior here is subtle but I think it does make sense, and we're in the process of proposing this change to WG21. https://github.com/llvm/llvm-project/pull/90820 ___ cfe

[clang] [Clang] Implement CWG2351 `void{}` (PR #78060)

2024-05-21 Thread Richard Smith via cfe-commits
https://github.com/zygoloid approved this pull request. LG https://github.com/llvm/llvm-project/pull/78060 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] Fix codegen of consteval functions returning an empty class. (PR #93115)

2024-05-22 Thread Richard Smith via cfe-commits
https://github.com/zygoloid approved this pull request. Looks good. Do we also need to worry about overwriting tail padding here? https://github.com/llvm/llvm-project/pull/93115 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm

[clang] [Clang][Sema] Ensure that the selected candidate for a member function explicit specialization is more constrained than all others (PR #101721)

2024-08-02 Thread Richard Smith via cfe-commits
https://github.com/zygoloid edited https://github.com/llvm/llvm-project/pull/101721 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] [Clang][Sema] Ensure that the selected candidate for a member function explicit specialization is more constrained than all others (PR #101721)

2024-08-02 Thread Richard Smith via cfe-commits
@@ -10465,7 +10466,7 @@ Sema::ActOnFunctionDeclarator(Scope *S, Declarator &D, DeclContext *DC, Previous)) NewFD->setInvalidDecl(); } -} else if (isMemberSpecialization && isa(NewFD)) { +} else if (isMembe

[clang] [Clang][Sema] Ensure that the selected candidate for a member function explicit specialization is more constrained than all others (PR #101721)

2024-08-02 Thread Richard Smith via cfe-commits
@@ -7964,8 +7964,9 @@ NamedDecl *Sema::ActOnVariableDeclarator( D.setRedeclaration(CheckVariableDeclaration(NewVD, Previous)); } else { // If this is an explicit specialization of a static data member, check it. -if (IsMemberSpecialization && !IsVariableTemplateSp

[clang] [Clang][Sema] Ensure that the selected candidate for a member function explicit specialization is more constrained than all others (PR #101721)

2024-08-02 Thread Richard Smith via cfe-commits
https://github.com/zygoloid commented: Changes to the algorithm for selecting the most constrained function look correct. It's not clear to me whether it's correct to stop calling `CheckMemberSpecialization` for member templates, though -- do we still do the necessary checks somewhere else? h

[clang] [Clang][Sema] Ensure that the selected candidate for a member function explicit specialization is more constrained than all others (PR #101721)

2024-08-05 Thread Richard Smith via cfe-commits
https://github.com/zygoloid approved this pull request. LGTM too, thanks https://github.com/llvm/llvm-project/pull/101721 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[clang] 40beb1f - CWG2076: Permit implicit conversions within a single level of braces

2021-04-22 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-04-22T16:49:39-07:00 New Revision: 40beb1f84a3d72ea39fcee1dcb66c3cefb5d5644 URL: https://github.com/llvm/llvm-project/commit/40beb1f84a3d72ea39fcee1dcb66c3cefb5d5644 DIFF: https://github.com/llvm/llvm-project/commit/40beb1f84a3d72ea39fcee1dcb66c3cefb5d5644.diff

[clang] 6bbfa0f - When performing template argument deduction to select a partial

2021-05-05 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-05-05T14:47:18-07:00 New Revision: 6bbfa0fd408e81055c360c2e059554dd76fd7f09 URL: https://github.com/llvm/llvm-project/commit/6bbfa0fd408e81055c360c2e059554dd76fd7f09 DIFF: https://github.com/llvm/llvm-project/commit/6bbfa0fd408e81055c360c2e059554dd76fd7f09.diff

[clang] 697ac15 - Fix bad mangling of for a closure in the initializer of a variable at global namespace scope.

2021-05-11 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-05-11T17:35:33-07:00 New Revision: 697ac15a0fc71888c372667bdbc5583ab42d4695 URL: https://github.com/llvm/llvm-project/commit/697ac15a0fc71888c372667bdbc5583ab42d4695 DIFF: https://github.com/llvm/llvm-project/commit/697ac15a0fc71888c372667bdbc5583ab42d4695.diff

[clang] 3978333 - Add test for PR50039.

2021-05-11 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-05-11T17:35:34-07:00 New Revision: 3978333b71bff3516ad69aac484b808617976c7a URL: https://github.com/llvm/llvm-project/commit/3978333b71bff3516ad69aac484b808617976c7a DIFF: https://github.com/llvm/llvm-project/commit/3978333b71bff3516ad69aac484b808617976c7a.diff

[clang] bb72638 - Revert "Fix bad mangling of for a closure in the initializer of a variable at global namespace scope."

2021-05-11 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-05-11T17:46:18-07:00 New Revision: bb726383ac7554857c62edd2d19e83dc713165ee URL: https://github.com/llvm/llvm-project/commit/bb726383ac7554857c62edd2d19e83dc713165ee DIFF: https://github.com/llvm/llvm-project/commit/bb726383ac7554857c62edd2d19e83dc713165ee.diff

Re: RFC: proposing to relax standardization requirements for Clang extensions

2021-12-08 Thread Richard Smith via cfe-commits
On Tue, 7 Dec 2021 at 13:22, Aaron Ballman via cfe-commits < cfe-commits@lists.llvm.org> wrote: > tl;dr: our Clang "get involved" page implies that proposed extensions > to Clang must also be proposed to a standards committee > (https://clang.llvm.org/get_involved.html#criteria). This is a good >

Re: [clang] 9791b58 - [C++20 Modules] Don't create global module fragment for extern linkage declaration in GMF already

2021-12-10 Thread Richard Smith via cfe-commits
On Wed, 8 Dec 2021 at 21:56, Chuanqi Xu via cfe-commits < cfe-commits@lists.llvm.org> wrote: > > Author: Chuanqi Xu > Date: 2021-12-09T13:55:15+08:00 > New Revision: 9791b589516b644a6273607b46a9c6661993d667 > > URL: > https://github.com/llvm/llvm-project/commit/9791b589516b644a6273607b46a9c6661993

[clang] a875721 - PR49585: Emit the jump destination for a for loop 'continue' from within the scope of the condition variable.

2021-03-17 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-17T16:24:04-07:00 New Revision: a875721d8a2dacb894106a2cefa18828bf08f25d URL: https://github.com/llvm/llvm-project/commit/a875721d8a2dacb894106a2cefa18828bf08f25d DIFF: https://github.com/llvm/llvm-project/commit/a875721d8a2dacb894106a2cefa18828bf08f25d.diff

[clang] 3315bd0 - PR49619: Remove delayed call to noteFailed.

2021-03-17 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-17T17:25:18-07:00 New Revision: 3315bd0beb4cf23f838bd522a1f0e3fcc0a9fae2 URL: https://github.com/llvm/llvm-project/commit/3315bd0beb4cf23f838bd522a1f0e3fcc0a9fae2 DIFF: https://github.com/llvm/llvm-project/commit/3315bd0beb4cf23f838bd522a1f0e3fcc0a9fae2.diff

[clang] 5c689e4 - Improve documentation for the [[clang::lifetimebound]] attribute.

2021-03-18 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-18T19:58:21-07:00 New Revision: 5c689e4bb0473e08645547ddbf9874b5e2fa04d0 URL: https://github.com/llvm/llvm-project/commit/5c689e4bb0473e08645547ddbf9874b5e2fa04d0 DIFF: https://github.com/llvm/llvm-project/commit/5c689e4bb0473e08645547ddbf9874b5e2fa04d0.diff

[clang] d8ab7ad - Fix example in documentation.

2021-03-18 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-18T20:06:17-07:00 New Revision: d8ab7ad317305d80e405ffdb4f33983f743a6ca2 URL: https://github.com/llvm/llvm-project/commit/d8ab7ad317305d80e405ffdb4f33983f743a6ca2 DIFF: https://github.com/llvm/llvm-project/commit/d8ab7ad317305d80e405ffdb4f33983f743a6ca2.diff

[clang] c3134d7 - [clang] Replaced some manual pointer tagging with llvm::PointerIntPair.

2021-03-22 Thread Richard Smith via cfe-commits
Author: Joshua Haberman Date: 2021-03-22T14:13:42-07:00 New Revision: c3134d7c44f1059889dfee698dff415f7c2e1620 URL: https://github.com/llvm/llvm-project/commit/c3134d7c44f1059889dfee698dff415f7c2e1620 DIFF: https://github.com/llvm/llvm-project/commit/c3134d7c44f1059889dfee698dff415f7c2e1620.dif

Re: [clang] 5c689e4 - Improve documentation for the [[clang::lifetimebound]] attribute.

2021-03-22 Thread Richard Smith via cfe-commits
On Mon, 22 Mar 2021 at 13:31, David Blaikie wrote: > On Thu, Mar 18, 2021 at 7:58 PM Richard Smith via cfe-commits < > cfe-commits@lists.llvm.org> wrote: > >> >> Author: Richard Smith >> Date: 2021-03-18T19:58:21-07:00 >> New Revision: 5c689e4bb0473e0864554

[clang] 5fab603 - Attempt to further improve the documentation for the [[clang::lifetimebound]] attribute.

2021-03-22 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-22T15:03:42-07:00 New Revision: 5fab60377c1afec872235747d99ef6b7c508e4f8 URL: https://github.com/llvm/llvm-project/commit/5fab60377c1afec872235747d99ef6b7c508e4f8 DIFF: https://github.com/llvm/llvm-project/commit/5fab60377c1afec872235747d99ef6b7c508e4f8.diff

[clang] 3c67653 - [docs] Clarify which part of the "refers to" rule for lifetimebound is

2021-03-22 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-22T15:06:20-07:00 New Revision: 3c67653ef4e3f5278b4f278cb2b181a1fe3c4f27 URL: https://github.com/llvm/llvm-project/commit/3c67653ef4e3f5278b4f278cb2b181a1fe3c4f27 DIFF: https://github.com/llvm/llvm-project/commit/3c67653ef4e3f5278b4f278cb2b181a1fe3c4f27.diff

[clang] 3775d81 - Improve module dumping for debugging.

2021-03-22 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-22T19:07:46-07:00 New Revision: 3775d811ff6dc1ed844aee7d15263a447ee18d52 URL: https://github.com/llvm/llvm-project/commit/3775d811ff6dc1ed844aee7d15263a447ee18d52 DIFF: https://github.com/llvm/llvm-project/commit/3775d811ff6dc1ed844aee7d15263a447ee18d52.diff

[clang] 4cd1098 - Improve const-correctness. NFC.

2021-03-23 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-23T16:54:27-07:00 New Revision: 4cd109891cbc448819eb9de9104cd14d993e45b1 URL: https://github.com/llvm/llvm-project/commit/4cd109891cbc448819eb9de9104cd14d993e45b1 DIFF: https://github.com/llvm/llvm-project/commit/4cd109891cbc448819eb9de9104cd14d993e45b1.diff

[clang] 4259301 - Support #__private_macro and #__public_macro in local submodule

2021-03-23 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-23T16:54:28-07:00 New Revision: 4259301aaf58c13b004d968dfbd20428bf978b32 URL: https://github.com/llvm/llvm-project/commit/4259301aaf58c13b004d968dfbd20428bf978b32 DIFF: https://github.com/llvm/llvm-project/commit/4259301aaf58c13b004d968dfbd20428bf978b32.diff

[clang] 622f8de - PR49724: Fix deduction of null member pointers.

2021-03-25 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-25T13:47:22-07:00 New Revision: 622f8de4f25136630007ce70915da4ef5321d080 URL: https://github.com/llvm/llvm-project/commit/622f8de4f25136630007ce70915da4ef5321d080 DIFF: https://github.com/llvm/llvm-project/commit/622f8de4f25136630007ce70915da4ef5321d080.diff

[clang] 11bf268 - Add a target triple to fix test failure on targets that don't support

2021-03-25 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-25T17:05:36-07:00 New Revision: 11bf268864afbe35ad317e6354c51440d5184911 URL: https://github.com/llvm/llvm-project/commit/11bf268864afbe35ad317e6354c51440d5184911 DIFF: https://github.com/llvm/llvm-project/commit/11bf268864afbe35ad317e6354c51440d5184911.diff

[clang] 4f3ea27 - Stop this test from dropping a .s file in the current directory.

2021-03-25 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-25T18:22:18-07:00 New Revision: 4f3ea27dacdc1b428710174c88521ca717d897ea URL: https://github.com/llvm/llvm-project/commit/4f3ea27dacdc1b428710174c88521ca717d897ea DIFF: https://github.com/llvm/llvm-project/commit/4f3ea27dacdc1b428710174c88521ca717d897ea.diff

[clang] ee176d2 - [www] Color Clang 11 and Clang 12 features as green and not yellow, and

2021-03-30 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-30T15:22:16-07:00 New Revision: ee176d2e6e9d58af2dd1856f3c1f54ae85f2b89b URL: https://github.com/llvm/llvm-project/commit/ee176d2e6e9d58af2dd1856f3c1f54ae85f2b89b DIFF: https://github.com/llvm/llvm-project/commit/ee176d2e6e9d58af2dd1856f3c1f54ae85f2b89b.diff

[clang] 1705136 - Fix pluralization error in diagnostic, and move C++ testcase to proper

2021-03-30 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-30T16:18:55-07:00 New Revision: 1705136590cd88176729efec8d291e98249713cb URL: https://github.com/llvm/llvm-project/commit/1705136590cd88176729efec8d291e98249713cb DIFF: https://github.com/llvm/llvm-project/commit/1705136590cd88176729efec8d291e98249713cb.diff

[clang] d87384f - [www] Fix build of attribute documentation.

2021-03-30 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-30T16:18:55-07:00 New Revision: d87384f7dfa1158150d9759654d5f19a929b81b7 URL: https://github.com/llvm/llvm-project/commit/d87384f7dfa1158150d9759654d5f19a929b81b7 DIFF: https://github.com/llvm/llvm-project/commit/d87384f7dfa1158150d9759654d5f19a929b81b7.diff

[clang] c23ee77 - [www] List both the regular and expanded form of %diff in the

2021-03-30 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-30T17:25:01-07:00 New Revision: c23ee7718ea4f9292622af3d80efe2491eb2a506 URL: https://github.com/llvm/llvm-project/commit/c23ee7718ea4f9292622af3d80efe2491eb2a506 DIFF: https://github.com/llvm/llvm-project/commit/c23ee7718ea4f9292622af3d80efe2491eb2a506.diff

[clang] 9eef0fa - Fix test expectations for %diff documentation.

2021-03-30 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-03-30T17:48:08-07:00 New Revision: 9eef0fae2b840cef0b44cf94517f70a41cd84d42 URL: https://github.com/llvm/llvm-project/commit/9eef0fae2b840cef0b44cf94517f70a41cd84d42 DIFF: https://github.com/llvm/llvm-project/commit/9eef0fae2b840cef0b44cf94517f70a41cd84d42.diff

[clang-tools-extra] fc1e146 - Fix documentation typo.

2021-04-12 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-04-12T11:39:08-07:00 New Revision: fc1e146e4412334d6c70173c345a698a01b122b8 URL: https://github.com/llvm/llvm-project/commit/fc1e146e4412334d6c70173c345a698a01b122b8 DIFF: https://github.com/llvm/llvm-project/commit/fc1e146e4412334d6c70173c345a698a01b122b8.diff

[clang] 8344675 - Implemented [[clang::musttail]] attribute for guaranteed tail calls.

2021-04-15 Thread Richard Smith via cfe-commits
Author: Joshua Haberman Date: 2021-04-15T17:12:21-07:00 New Revision: 8344675908424ee532d4ae30e5043c5a5834e02c URL: https://github.com/llvm/llvm-project/commit/8344675908424ee532d4ae30e5043c5a5834e02c DIFF: https://github.com/llvm/llvm-project/commit/8344675908424ee532d4ae30e5043c5a5834e02c.dif

[clang] f7c9de0 - Add triple to fix test failure.

2021-04-15 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-04-15T18:08:35-07:00 New Revision: f7c9de0de5804498085af973dc6bfc934a18f000 URL: https://github.com/llvm/llvm-project/commit/f7c9de0de5804498085af973dc6bfc934a18f000 DIFF: https://github.com/llvm/llvm-project/commit/f7c9de0de5804498085af973dc6bfc934a18f000.diff

[clang] b12e473 - Allow dependent alias template specializations in the preferred_name

2021-01-05 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-05T15:33:51-08:00 New Revision: b12e4735317ec96e1b35deee68b90d62a23a9353 URL: https://github.com/llvm/llvm-project/commit/b12e4735317ec96e1b35deee68b90d62a23a9353 DIFF: https://github.com/llvm/llvm-project/commit/b12e4735317ec96e1b35deee68b90d62a23a9353.diff

[clang] 2bf6e44 - Attempt to complete an incomplete expression type when considering a

2021-01-08 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-08T15:19:28-08:00 New Revision: 2bf6e443e54604c7818c4d1a1837f3d091023270 URL: https://github.com/llvm/llvm-project/commit/2bf6e443e54604c7818c4d1a1837f3d091023270 DIFF: https://github.com/llvm/llvm-project/commit/2bf6e443e54604c7818c4d1a1837f3d091023270.diff

[clang] aab25fa - Never call a destroying operator delete when cleaning up from an

2021-01-08 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-08T16:51:47-08:00 New Revision: aab25fa7d853d6da960607310e2cd3e3a843d5a9 URL: https://github.com/llvm/llvm-project/commit/aab25fa7d853d6da960607310e2cd3e3a843d5a9 DIFF: https://github.com/llvm/llvm-project/commit/aab25fa7d853d6da960607310e2cd3e3a843d5a9.diff

[clang] 9b222b1 - [c++20] Don't consider string literal operator templates for numeric

2021-01-11 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-11T13:19:00-08:00 New Revision: 9b222b108a2e37eb45d3156ec8554d148d658a8a URL: https://github.com/llvm/llvm-project/commit/9b222b108a2e37eb45d3156ec8554d148d658a8a DIFF: https://github.com/llvm/llvm-project/commit/9b222b108a2e37eb45d3156ec8554d148d658a8a.diff

[clang] cd4c55c - Fix grammar in diagnostic for wrong arity in a structured binding.

2021-01-13 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-13T17:41:09-08:00 New Revision: cd4c55c97402246099ae865a66517a36af5c3a7c URL: https://github.com/llvm/llvm-project/commit/cd4c55c97402246099ae865a66517a36af5c3a7c DIFF: https://github.com/llvm/llvm-project/commit/cd4c55c97402246099ae865a66517a36af5c3a7c.diff

[clang] bc713f6 - PR48763: Better handling for classes that inherit a default constructor.

2021-01-18 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-18T18:54:04-08:00 New Revision: bc713f6a004723d1325bc16e1efc32d0ac82f939 URL: https://github.com/llvm/llvm-project/commit/bc713f6a004723d1325bc16e1efc32d0ac82f939 DIFF: https://github.com/llvm/llvm-project/commit/bc713f6a004723d1325bc16e1efc32d0ac82f939.diff

[clang] e3065ce - DR2064: decltype(E) is only a dependent type if E is type-dependent, not

2021-01-18 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-18T21:05:01-08:00 New Revision: e3065ce238475ec202c707f4c58d90df171626ca URL: https://github.com/llvm/llvm-project/commit/e3065ce238475ec202c707f4c58d90df171626ca DIFF: https://github.com/llvm/llvm-project/commit/e3065ce238475ec202c707f4c58d90df171626ca.diff

[clang] fbb83f1 - PR24076, PR33655, C++ CWG 1558: Consider the instantiation-dependence of

2021-01-18 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-18T21:05:01-08:00 New Revision: fbb83f18b5485218ad3c36c1d079c89f061372b8 URL: https://github.com/llvm/llvm-project/commit/fbb83f18b5485218ad3c36c1d079c89f061372b8 DIFF: https://github.com/llvm/llvm-project/commit/fbb83f18b5485218ad3c36c1d079c89f061372b8.diff

[clang] 5a391d3 - Following up on PR48517, fix handling of template arguments that refer

2021-01-18 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-18T21:05:01-08:00 New Revision: 5a391d38ac6c561ba908334d427f26124ed9132e URL: https://github.com/llvm/llvm-project/commit/5a391d38ac6c561ba908334d427f26124ed9132e DIFF: https://github.com/llvm/llvm-project/commit/5a391d38ac6c561ba908334d427f26124ed9132e.diff

[clang-tools-extra] 4b57400 - [c++20] P1907R1: Support for generalized non-type template arguments of scalar type.

2021-01-18 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-18T21:05:01-08:00 New Revision: 4b574008aef5a7235c1f894ab065fe300d26e786 URL: https://github.com/llvm/llvm-project/commit/4b574008aef5a7235c1f894ab065fe300d26e786 DIFF: https://github.com/llvm/llvm-project/commit/4b574008aef5a7235c1f894ab065fe300d26e786.diff

[clang] 987760b - [www] Fix background color in table cell.

2021-01-19 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-19T11:04:31-08:00 New Revision: 987760b463c1303121fff8197c4ebc66b61f0616 URL: https://github.com/llvm/llvm-project/commit/987760b463c1303121fff8197c4ebc66b61f0616 DIFF: https://github.com/llvm/llvm-project/commit/987760b463c1303121fff8197c4ebc66b61f0616.diff

[clang] 5a684b7 - Ensure we don't strip the ConstantExpr carrying a non-type template

2021-01-19 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-19T12:48:39-08:00 New Revision: 5a684b70dc74f9f671f8eb61993a25769ec68117 URL: https://github.com/llvm/llvm-project/commit/5a684b70dc74f9f671f8eb61993a25769ec68117 DIFF: https://github.com/llvm/llvm-project/commit/5a684b70dc74f9f671f8eb61993a25769ec68117.diff

[clang] da98651 - Revert "DR2064: decltype(E) is only a dependent type if E is type-dependent, not

2021-01-19 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-19T12:48:40-08:00 New Revision: da986511fb9da1a46a0ca4dba2e49e2426036303 URL: https://github.com/llvm/llvm-project/commit/da986511fb9da1a46a0ca4dba2e49e2426036303 DIFF: https://github.com/llvm/llvm-project/commit/da986511fb9da1a46a0ca4dba2e49e2426036303.diff

[clang] 18e093f - [msabi] Mangle a template argument referring to array-to-pointer decay

2021-01-19 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-01-19T14:38:07-08:00 New Revision: 18e093faf726d15f210ab4917142beec51848258 URL: https://github.com/llvm/llvm-project/commit/18e093faf726d15f210ab4917142beec51848258 DIFF: https://github.com/llvm/llvm-project/commit/18e093faf726d15f210ab4917142beec51848258.diff

[clang] 7ebcb7c - PR50641: Properly handle AttributedStmts when checking for a valid

2021-10-06 Thread Richard Smith via cfe-commits
Author: Richard Smith Date: 2021-10-06T15:13:05-07:00 New Revision: 7ebcb7ce78f6abb73c5a29e7c8b9dd360acb65bc URL: https://github.com/llvm/llvm-project/commit/7ebcb7ce78f6abb73c5a29e7c8b9dd360acb65bc DIFF: https://github.com/llvm/llvm-project/commit/7ebcb7ce78f6abb73c5a29e7c8b9dd360acb65bc.diff

<    35   36   37   38   39   40   41   42   43   >