https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/107411
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2287,6 +2288,15 @@ APValue SourceLocExpr::EvaluateInContext(const
ASTContext &Ctx,
Context = getParentContext();
}
+ // If we are currently parsing a lambda declarator, we might not have a fully
+ // formed call operator declaration yet, and we could not form a fu
@@ -2943,6 +2943,9 @@ class Parser : public CodeCompletionHandler {
return false;
}
+ bool ParseGNUSingleAttribute(ParsedAttributes &Attrs, SourceLocation &EndLoc,
erichkeane wrote:
I don't have a preference for any of the 3 names, but a comment explai
https://github.com/erichkeane commented:
I'm happy enough with it as is, I'd like @Sirraide to do 1 last pass, but if he
approves, so do I.
https://github.com/llvm/llvm-project/pull/99656
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https:/
@@ -0,0 +1,1566 @@
+//=== SemaFunctionEffects.cpp - Sema handling of function effects
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: A
@@ -0,0 +1,1566 @@
+//=== SemaFunctionEffects.cpp - Sema handling of function effects
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: A
@@ -8392,6 +8397,20 @@ void ASTReader::InitializeSema(Sema &S) {
NewOverrides.applyOverrides(SemaObj->getLangOpts());
}
+ if (!DeclsWithEffectsToVerify.empty()) {
+for (GlobalDeclID ID : DeclsWithEffectsToVerify) {
+ Decl *D = GetDecl(ID);
+ FunctionEf
@@ -10950,6 +10950,51 @@ def warn_imp_cast_drops_unaligned : Warning<
InGroup>;
// Function effects
+def warn_func_effect_violation : Warning<
+ "'%0' %select{function|constructor|destructor|lambda|block|constructor's
member initializer}1 "
erichkeane wrot
@@ -4932,6 +4938,78 @@ class FunctionEffectsRef {
void dump(llvm::raw_ostream &OS) const;
};
+/// A mutable set of FunctionEffect::Kind.
+class FunctionEffectKindSet {
+ // For now this only needs to be a bitmap.
+ constexpr static size_t EndBitPos = 8;
+ using KindBitsT
@@ -15099,6 +15037,106 @@ class Sema final : public SemaBase {
std::string getFixItZeroLiteralForType(QualType T, SourceLocation Loc) const;
///@}
+
+ //
erichkeane wrote:
@endilll ?
https://github.com/llvm/llvm-project/pull/99656
__
@@ -10950,6 +10950,51 @@ def warn_imp_cast_drops_unaligned : Warning<
InGroup>;
// Function effects
+def warn_func_effect_violation : Warning<
+ "'%0' %select{function|constructor|destructor|lambda|block|constructor's
member initializer}1 "
erichkeane wrot
https://github.com/erichkeane commented:
I've not done as in depth of a review as Corentin, but I approve of the
direction here, I think the approach is correct, and most of the changes are
fairly mechanical. So once Corentin is happy with the changes, so am I.
https://github.com/llvm/llvm-pr
erichkeane wrote:
Rather than this being "not added in the header file", should we just make this
one of the attributes that is disallowed after the thing has been 'referenced'?
Or is that a dumb suggestion here?
https://github.com/llvm/llvm-project/pull/67520
@@ -186,4 +218,370 @@ bool Sema::CheckCountedByAttrOnField(FieldDecl *FD, Expr
*E, bool CountInBytes,
return false;
}
+SourceRange Sema::BoundsSafetySourceRangeFor(const CountAttributedType *CATy) {
erichkeane wrote:
I agree with Sirraide here, but would h
@@ -3343,6 +3363,8 @@ class CountAttributedType final
static bool classof(const Type *T) {
return T->getTypeClass() == CountAttributed;
}
+
+ StringRef GetAttributeName(bool WithMacroPrefix) const;
erichkeane wrote:
```suggestion
StringRef getAttrib
@@ -186,4 +218,370 @@ bool Sema::CheckCountedByAttrOnField(FieldDecl *FD, Expr
*E, bool CountInBytes,
return false;
}
+SourceRange Sema::BoundsSafetySourceRangeFor(const CountAttributedType *CATy) {
+ // Note: This implementation relies on `CountAttributedType` being uniqu
https://github.com/erichkeane commented:
I did a pass, I think @Sirraide is on the right direction in his reviews here,
but the general direction of this patch is also completely acceptable.
https://github.com/llvm/llvm-project/pull/106321
___
cfe-com
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/106321
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -13559,6 +13562,27 @@ QualType Sema::CheckAssignmentOperands(Expr *LHSExpr,
ExprResult &RHS,
QualType LHSType = LHSExpr->getType();
QualType RHSType = CompoundType.isNull() ? RHS.get()->getType() :
CompoundType;
+
+ if (RHS.
@@ -4932,6 +4938,78 @@ class FunctionEffectsRef {
void dump(llvm::raw_ostream &OS) const;
};
+/// A mutable set of FunctionEffect::Kind.
+class FunctionEffectKindSet {
+ // For now this only needs to be a bitmap.
+ constexpr static size_t EndBitPos = 8;
+ using KindBitsT
@@ -0,0 +1,1566 @@
+//=== SemaFunctionEffects.cpp - Sema handling of function effects
-===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: A
@@ -8392,6 +8397,20 @@ void ASTReader::InitializeSema(Sema &S) {
NewOverrides.applyOverrides(SemaObj->getLangOpts());
}
+ if (!DeclsWithEffectsToVerify.empty()) {
+for (GlobalDeclID ID : DeclsWithEffectsToVerify) {
+ Decl *D = GetDecl(ID);
+ FunctionEf
@@ -0,0 +1,1566 @@
+//=== SemaFunctionEffects.cpp - Sema handling of function effects
-===//
erichkeane wrote:
I've had a hard time with the review of this file, so I haven't done a close
look. Hopefully someone who understands this better than me has
@@ -225,6 +225,11 @@ Attribute Changes in Clang
more cases where the returned reference outlives the object.
(#GH100567)
+- Now correctly diagnosing use of ``btf_type_tag`` in C++ and ignoring it; this
+ attribute is a C-only attribute, and was causing crashes with templa
@@ -225,6 +225,11 @@ Attribute Changes in Clang
more cases where the returned reference outlives the object.
(#GH100567)
+- Now correctly diagnosing use of ``btf_type_tag`` in C++ and ignoring it; this
erichkeane wrote:
```suggestion
- Clang now correctly
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/107238
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -6490,6 +6490,15 @@ static void HandleBTFTypeTagAttribute(QualType &Type,
const ParsedAttr &Attr,
TypeProcessingState &State) {
Sema &S = State.getSema();
+ // This attribute is only supported in C.
+ // FIXME: we should implement
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/106585
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -52,38 +52,6 @@ using namespace sema;
//===--===/
namespace {
-namespace TemplateInstArgsHelpers {
erichkeane wrote:
Awe, I thought this was clever/useful :)
https://github.com/llvm/llvm
https://github.com/erichkeane commented:
I'll have to take another look at this when I get more time for it, but I'm
glad this is getting further attention. I'd refactored this only a year or two
ago (preivously it was a single really long function with a loop), so it is
disappointing that we
https://github.com/erichkeane commented:
I'm a little cold on review here, so I don't want to accept this, but I did a
scroll through and don't have any problems here. Additionally, a bunch of
whitespace changes are still in this, which is making it difficult tor eview.
https://github.com/llv
@@ -101,91 +102,164 @@ namespace clang {
};
}
-class DiagnosticMapping {
- LLVM_PREFERRED_TYPE(diag::Severity)
- unsigned Severity : 3;
- LLVM_PREFERRED_TYPE(bool)
- unsigned IsUser : 1;
- LLVM_PREFERRED_TYPE(bool)
- unsigned IsPragma : 1;
- LLVM_PREFERRED_TYPE(bo
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/70976
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -177,6 +177,26 @@ static bool isLanguageDefinedBuiltin(const SourceManager
&SourceMgr,
return false;
}
+static bool isReservedAttrName(Preprocessor &PP, IdentifierInfo *II) {
erichkeane wrote:
> Because we don't support any non-standard attributes witho
@@ -5576,6 +5576,10 @@ static void TryOrBuildParenListInitialization(
ExprResult ER;
ER = IS.Perform(S, SubEntity, SubKind,
Arg ? MultiExprArg(Arg) : std::nullopt);
+
+ if (ER.isInvalid())
erichkeane wrote:
For `ExprResul
@@ -177,6 +177,26 @@ static bool isLanguageDefinedBuiltin(const SourceManager
&SourceMgr,
return false;
}
+static bool isReservedAttrName(Preprocessor &PP, IdentifierInfo *II) {
erichkeane wrote:
I concur with Aaron. The point of this restriction is to pe
erichkeane wrote:
As background: That chunking behavior was not in the specification document
that I was provided internally when I implemented that. IIRC at the time,
regcall wasn't actually documented externally, so that documentation likely
post-dates when I did my implementation.
https:/
@@ -1117,6 +1118,31 @@ NumericLiteralParser::NumericLiteralParser(StringRef
TokSpelling,
if (isImaginary) break; // Cannot be repeated.
isImaginary = true;
continue; // Success.
+case '_':
+ if (isFPConstant)
+break; // Invalid for floats
erichkeane wrote:
> > I see the 2nds commit doesn't add any tests! Please make it do so
>
> I've tried and I'm not quite sure how to do it. The issue is we need to test
> AST printing of «implicitly declared» functions, such as builtins and
> functions instrumented by lldb, such as `log` for l
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/94756
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
erichkeane wrote:
I see the 2nds commit doesn't add any tests! Please make it do so, else LGTM
(plus might want to do a 'merge' commit to reset the CI to a more stable state).
https://github.com/llvm/llvm-project/pull/93913
___
cfe-commits mailing li
@@ -1790,24 +1782,25 @@ ExprResult Sema::ActOnMemberAccessExpr(Scope *S, Expr
*Base,
const TemplateArgumentListInfo *TemplateArgs;
DecomposeUnqualifiedId(Id, TemplateArgsBuffer,
NameInfo, TemplateArgs);
-
- bool IsArrow = (OpKind == tok::arrow);
+
@@ -390,29 +390,37 @@ bool Sema::isAcceptableNestedNameSpecifier(const
NamedDecl *SD,
/// (e.g., Base::), perform name lookup for that identifier as a
/// nested-name-specifier within the given scope, and return the result of that
/// name lookup.
-NamedDecl *Sema::FindFirstQu
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/92957
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane approved this pull request.
Sorry this took so long! Apparently I'd left some comments without finishing
my review. Did another look through, everything looks good, just some minor
nits. Apply/merge at your convenience.
https://github.com/llvm/llvm-project/pull
@@ -1442,19 +1442,27 @@ SourceLocation
CXXUnresolvedConstructExpr::getBeginLoc() const {
CXXDependentScopeMemberExpr::CXXDependentScopeMemberExpr(
const ASTContext &Ctx, Expr *Base, QualType BaseType, bool IsArrow,
SourceLocation OperatorLoc, NestedNameSpecifierLoc Qua
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/94529
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane closed
https://github.com/llvm/llvm-project/pull/93742
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/94347
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/94288
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -2469,11 +2469,20 @@ static bool CheckConstexprFunctionBody(Sema &SemaRef,
const FunctionDecl *Dcl,
// base class sub-objects shall be a constexpr constructor.
//
// Note that this rule is distinct from the "requirements for a constexpr
- // function", so is not
@@ -505,6 +505,9 @@ COMPATIBLE_LANGOPT(IncrementalExtensions, 1, 0, " True if
we want to process sta
BENIGN_LANGOPT(CheckNew, 1, 0, "Do not assume C++ operator new may not return
NULL")
+BENIGN_LANGOPT(CheckConstexprFunctionBodies, 1, 1,
+ "True if we want to
@@ -961,6 +961,10 @@ def Wdeprecated : Flag<["-"], "Wdeprecated">,
Group,
HelpText<"Enable warnings for deprecated constructs and define
__DEPRECATED">;
def Wno_deprecated : Flag<["-"], "Wno-deprecated">, Group,
Visibility<[ClangOption, CC1Option]>;
+def Winvalid_constexp
@@ -5813,6 +5813,23 @@ static TypoCorrection TryTypoCorrectionForCall(Sema &S,
Expr *Fn,
return TypoCorrection();
}
+static bool isParenthetizedAndQualifiedAddressOfExpr(Expr *Fn) {
+ if (!isa(Fn))
+return false;
+
+ Fn = Fn->IgnoreParens();
erichkean
@@ -7807,6 +7833,7 @@ void Sema::AddTemplateOverloadCandidate(
Candidate.IgnoreObjectArgument =
isa(Candidate.Function) &&
!isa(Candidate.Function);
+Candidate.TookAddressOfOverload = false;
erichkeane wrote:
Feel like Candidate should
@@ -3048,10 +3050,12 @@ class OverloadExpr : public Expr {
Result.HasFormOfMemberPointer = (E == Ovl && Ovl->getQualifier());
Result.IsAddressOfOperand = true;
+ Result.IsAddressOfOperandWithParen = HasParen;
erichkeane wrote:
Cleanup nit: I
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/93430
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/93430
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
erichkeane wrote:
Yep! I added it to the 'run' line as well, and adding it there fixes the test
on my machine. So I suspect that would be the fix?
https://github.com/llvm/llvm-project/pull/94000
___
cfe-commits mailing list
cfe-commits@lists.llvm.or
erichkeane wrote:
Bizarrely if I run the piped version, I get no error:
```
ekeane@dev-epyc4:/local/home/ekeane/llvm-project/build$
/local/home/ekeane/llvm-project/build/bin/clang -### -x cuda
--target=powerpc64le-linux-gnu -std=c++11 --cuda-gpu-arch=sm_35 -nocudainc
-nocudalib -fopenmp=libomp
https://github.com/erichkeane updated
https://github.com/llvm/llvm-project/pull/93742
>From 51792c63e8fee3ad662174d6a53bbca195cbc1b4 Mon Sep 17 00:00:00 2001
From: erichkeane
Date: Fri, 24 May 2024 12:12:29 -0700
Subject: [PATCH 1/4] [OpenACC] Loop construct basic Sema and AST work
This patch
erichkeane wrote:
I've been having this fail in my local build for a few days now:
```
TEST 'Clang :: Driver/offloading-interoperability.c'
FAILED
Exit Code: 1
Command Output (stderr):
--
RUN: at line 4: /local/home/ekeane/llvm-project/build/bin/clang -
erichkeane wrote:
Did another merge to help with my work on followups.
https://github.com/llvm/llvm-project/pull/93742
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane updated
https://github.com/llvm/llvm-project/pull/93742
>From 51792c63e8fee3ad662174d6a53bbca195cbc1b4 Mon Sep 17 00:00:00 2001
From: erichkeane
Date: Fri, 24 May 2024 12:12:29 -0700
Subject: [PATCH 1/3] [OpenACC] Loop construct basic Sema and AST work
This patch
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/93966
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -14,9 +14,11 @@
#define LLVM_CLANG_SEMA_SEMASYCL_H
#include "clang/AST/Decl.h"
+#include "clang/AST/DeclBase.h"
erichkeane wrote:
Wonder same about declbase as well, probably a bit of work on a few of these
includes to do that sort of analysis.
https://g
@@ -18,6 +18,7 @@
#include "clang/AST/Type.h"
#include "clang/Basic/SourceLocation.h"
#include "clang/Basic/TargetInfo.h"
+#include "clang/Sema/ParsedAttr.h"
erichkeane wrote:
Same question here.
https://github.com/llvm/llvm-project/pull/93966
___
@@ -3825,6 +3843,115 @@ class Sema final : public SemaBase {
void redelayDiagnostics(sema::DelayedDiagnosticPool &pool);
+ /// Diagnose mutually exclusive attributes when present on a given
erichkeane wrote:
Where did this section of stuff come from? At
@@ -0,0 +1,57 @@
+//===- SemaSwift.h --- Swift language-specific routines ---*- C++
-*---===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM
Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apa
@@ -32,6 +32,7 @@
#include "clang/Basic/Specifiers.h"
#include "clang/Sema/DeclSpec.h"
#include "clang/Sema/Ownership.h"
+#include "clang/Sema/ParsedAttr.h"
erichkeane wrote:
Could this be a forward decl?
https://github.com/llvm/llvm-project/pull/93966
__
https://github.com/erichkeane commented:
I didn't take a close look at the individual .cpp files, I assume that is
mostly just Copy & paste.
I would like us to be a little more forward-decl aggressive in the headers
however, and perhpas try to minimize what gets pushed up to Sema.h.
https://
@@ -5004,6 +5004,20 @@ static bool CheckDeducedPlaceholderConstraints(Sema &S,
const AutoType &Type,
return true;
MultiLevelTemplateArgumentList MLTAL(Concept, CanonicalConverted,
/*Final=*/false);
+ // Build up an EvaluationContex
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/80801
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
erichkeane wrote:
> > No worries, and I reverted it for you. When you have the fix ready, I'm
> > happy to verify it on our builders before you reland.
>
> Can you also reopen this PR, please? For documentation/history reasons, it's
> probably better to provide a fix within the scope of this P
https://github.com/erichkeane approved this pull request.
Sensible to me! Definitely needs a release note. Perhaps an alert on
discourse about 'potentially breaking' changes.
https://github.com/llvm/llvm-project/pull/93873
___
cfe-commits mailing li
https://github.com/erichkeane closed
https://github.com/llvm/llvm-project/pull/93131
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane approved this pull request.
Sensible to me, I'm all for it.
https://github.com/llvm/llvm-project/pull/93849
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commit
erichkeane wrote:
> What should be the next step following the approvals?
If you do not have 'squash and merge' rights here, one of us can do it for you
once testing completes.
https://github.com/llvm/llvm-project/pull/93131
___
cfe-commits mailing l
erichkeane wrote:
Did a merge which will hopefully fix the build failures this was seeing.
https://github.com/llvm/llvm-project/pull/93742
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commi
https://github.com/erichkeane updated
https://github.com/llvm/llvm-project/pull/93742
>From 51792c63e8fee3ad662174d6a53bbca195cbc1b4 Mon Sep 17 00:00:00 2001
From: erichkeane
Date: Fri, 24 May 2024 12:12:29 -0700
Subject: [PATCH 1/3] [OpenACC] Loop construct basic Sema and AST work
This patch
https://github.com/erichkeane updated
https://github.com/llvm/llvm-project/pull/93742
>From 51792c63e8fee3ad662174d6a53bbca195cbc1b4 Mon Sep 17 00:00:00 2001
From: erichkeane
Date: Fri, 24 May 2024 12:12:29 -0700
Subject: [PATCH 1/3] [OpenACC] Loop construct basic Sema and AST work
This patch
@@ -0,0 +1,164 @@
+
+// RUN: %clang_cc1 %s -fopenacc -ast-dump | FileCheck %s
+
+// Test this with PCH.
+// RUN: %clang_cc1 %s -fopenacc -emit-pch -o %t %s
+// RUN: %clang_cc1 %s -fopenacc -include-pch %t -ast-dump-all | FileCheck %s
+
+#ifndef PCH_HELPER
+#define PCH_HELPER
+
+vo
https://github.com/erichkeane updated
https://github.com/llvm/llvm-project/pull/93742
>From 51792c63e8fee3ad662174d6a53bbca195cbc1b4 Mon Sep 17 00:00:00 2001
From: erichkeane
Date: Fri, 24 May 2024 12:12:29 -0700
Subject: [PATCH 1/2] [OpenACC] Loop construct basic Sema and AST work
This patch
@@ -0,0 +1,164 @@
+
+// RUN: %clang_cc1 %s -fopenacc -ast-dump | FileCheck %s
+
+// Test this with PCH.
+// RUN: %clang_cc1 %s -fopenacc -emit-pch -o %t %s
+// RUN: %clang_cc1 %s -fopenacc -include-pch %t -ast-dump-all | FileCheck %s
+
+#ifndef PCH_HELPER
+#define PCH_HELPER
+
+vo
https://github.com/erichkeane created
https://github.com/llvm/llvm-project/pull/93742
This patch implements the 'loop' construct AST, as well as the basic
appertainment rule. Additionally, it sets up the 'parent' compute construct,
which is necessary for codegen/other diagnostics.
A 'loop' c
erichkeane wrote:
> One suggestion, if you are going to go about this problem systematically, try
> to tackle the hardest problems first.
>
> For example: Try to make `MultiLevelTemplateArgumentList` const correct. I
> would like other suggestions as well.
Right, yeah. Unfortunately const-co
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/93556
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -221,8 +221,13 @@ static const ValueDecl *getAsSimpleValueDeclRef(const
ASTContext &Ctx,
// We model class non-type template parameters as their template parameter
// object declaration.
- if (V.isStruct() || V.isUnion())
+ if (V.isStruct() || V.isUnion()) {
+//
https://github.com/erichkeane commented:
This change seems smaller than I expected here, so I guess I'm not entirely
sure what is going on. Can you better explain how this ends up using
structural values instead of the TemplateParamObjectDecl?
https://github.com/llvm/llvm-project/pull/93556
_
@@ -221,8 +221,13 @@ static const ValueDecl *getAsSimpleValueDeclRef(const
ASTContext &Ctx,
// We model class non-type template parameters as their template parameter
// object declaration.
- if (V.isStruct() || V.isUnion())
+ if (V.isStruct() || V.isUnion()) {
+//
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/93556
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/erichkeane closed
https://github.com/llvm/llvm-project/pull/91720
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1576,7 +1576,10 @@ ExprResult Parser::ParseLambdaExpressionAfterIntroducer(
TrailingReturnTypeLoc, &DS),
std::move(Attributes), DeclEndLoc);
-Actions.ActOnLambdaClosureQualifiers(Intro, MutableLoc);
+// We have called ActOnLa
https://github.com/erichkeane approved this pull request.
https://github.com/llvm/llvm-project/pull/93265
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1576,7 +1576,10 @@ ExprResult Parser::ParseLambdaExpressionAfterIntroducer(
TrailingReturnTypeLoc, &DS),
std::move(Attributes), DeclEndLoc);
-Actions.ActOnLambdaClosureQualifiers(Intro, MutableLoc);
+// We have called ActOnLa
https://github.com/erichkeane commented:
I hope @cor3ntin comes and checks this out, but it generally looks OK to me. 1
oddity I'd like to hear about (why we can't do ActOnLambdaClosureQualifiers in
the same place).
https://github.com/llvm/llvm-project/pull/93206
_
https://github.com/erichkeane edited
https://github.com/llvm/llvm-project/pull/93206
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1302,7 +1302,8 @@ static void verifyDiagnosticWording(const Record &Diag) {
// closing '}', skipping intermediary {} pairs.
size_t BraceCount = 1;
-auto Iter = FullDiagText.begin() + /*%select{*/ 8;
+constexpr size_t PercentSelectBraceLen = sizeof("%select{
@@ -1355,7 +1357,7 @@ static void verifyDiagnosticWording(const Record &Diag) {
if (isDigit(FullDiagText.back()) && *(FullDiagText.end() - 2) == '}') {
// Scan backwards to find the opening curly brace.
size_t BraceCount = 1;
-auto Iter = FullDiagText.end() - /*}0
https://github.com/erichkeane approved this pull request.
1 suggestion on improving the diagnostics, else, LGTM.
https://github.com/llvm/llvm-project/pull/93229
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mail
301 - 400 of 2115 matches
Mail list logo