@@ -263,6 +263,14 @@ namespace {
}
}
+QualType Expr::getEnumCoercedType(const ASTContext &Ctx) const {
+ bool NotEnumType = dyn_cast(this->getType()) == nullptr;
+ if (NotEnumType)
shafik wrote:
This look redundant since `getEnumConstantDecl()` will just
@@ -0,0 +1,42 @@
+// RUN: %clang_cc1 -x c -fsyntax-only -verify -Wenum-compare
-Wno-unused-comparison %s
+// RUN: %clang_cc1 -x c++ -fsyntax-only -verify -Wenum-compare
-Wno-unused-comparison %s
+
+typedef enum EnumA {
+ A
+} EnumA;
+
+enum EnumB {
+ B
+};
+
+enum {
+ C
+};
+
shafik wrote:
@cor3ntin the fix looks like the one you recommended but that is quite a lot of
tests that fail.
https://github.com/llvm/llvm-project/pull/81251
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mail
https://github.com/shafik commented:
This also needs a release note.
https://github.com/llvm/llvm-project/pull/81251
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,15 @@
+// RUN: %clang_cc1 -fsyntax-only -verify %s
+
+template < class T, class V > struct A
+{
+A ();
+A (A &);
+A (A < V,T >);
+// expected-error@-1 {{copy constructor must pass its first argument by
reference}}
+};
+
+void f ()
+{
+A (A < int, i
https://github.com/shafik approved this pull request.
Thank you for the fix! LGTM
https://github.com/llvm/llvm-project/pull/97322
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik closed https://github.com/llvm/llvm-project/pull/97322
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -97,3 +97,29 @@ void foo() {
}
#endif
+
+#if __cplusplus >= 202002L
+void GH107048() {
+ constexpr int x{};
+ const int y{};
+ auto b = []{};
+ using A = decltype([]{});
+
+ int z; // expected-note {{'z' declared here}}
+ auto c = []{
+// expected-error@-1 {{no ma
@@ -5443,11 +5443,24 @@ struct EnsureImmediateInvocationInDefaultArgs
// Rewrite to source location to refer to the context in which they are used.
ExprResult TransformSourceLocExpr(SourceLocExpr *E) {
-if (E->getParentContext() == SemaRef.CurContext)
+DeclContext
https://github.com/shafik edited
https://github.com/llvm/llvm-project/pull/102135
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik commented:
Minor comments, I agree with @cor3ntin that you should split this into two PRs.
It will be much better to review in smaller form.
https://github.com/llvm/llvm-project/pull/102135
___
cfe-commits mailing list
cfe-co
@@ -4558,6 +4574,12 @@ bool Lexer::LexDependencyDirectiveToken(Token &Result) {
Result.setRawIdentifierData(TokPtr);
if (!isLexingRawMode()) {
const IdentifierInfo *II = PP->LookUpIdentifierInfo(Result);
+ if (Result.isModuleContextualKeyword()) {
+//
@@ -652,14 +647,14 @@ bool Parser::ParseTopLevelDecl(DeclGroupPtrTy &Result,
// Recognize context-sensitive C++20 'export module' and 'export import'
// declarations.
case tok::identifier: {
- IdentifierInfo *II = NextToken().getIdentifierInfo();
- if ((II
https://github.com/shafik commented:
I think I need a second run through
https://github.com/llvm/llvm-project/pull/97308
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/97308
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -5578,19 +5579,35 @@ ExprResult Sema::BuildCXXDefaultInitExpr(SourceLocation
Loc, FieldDecl *Field) {
ImmediateCallVisitor V(getASTContext());
if (!NestedDefaultChecking)
V.TraverseDecl(Field);
- if (V.HasImmediateCalls) {
+
+ // CWG1815
+ // Support lifetime ext
shafik wrote:
I am not sure I see all the examples from:
https://cplusplus.github.io/CWG/issues/1696.html
https://github.com/llvm/llvm-project/pull/97308
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https:
@@ -6298,6 +6298,15 @@ class Sema final : public SemaBase {
using ImmediateInvocationCandidate = llvm::PointerIntPair;
+ enum class LifetimeExtendingContext {
+None, // Not in a lifetime extending context.
+FlagOnly, // A flag indicating whether we are in l
@@ -18931,7 +18931,7 @@ void Sema::MarkFunctionReferenced(SourceLocation Loc,
FunctionDecl *Func,
// constant evaluated
bool NeededForConstantEvaluation =
isPotentiallyConstantEvaluatedContext(*this) &&
- isImplicitlyDefinableConstexprFunction(Func);
+ is
@@ -18931,7 +18931,7 @@ void Sema::MarkFunctionReferenced(SourceLocation Loc,
FunctionDecl *Func,
// constant evaluated
bool NeededForConstantEvaluation =
isPotentiallyConstantEvaluatedContext(*this) &&
- isImplicitlyDefinableConstexprFunction(Func);
+ is
@@ -18931,7 +18931,7 @@ void Sema::MarkFunctionReferenced(SourceLocation Loc,
FunctionDecl *Func,
// constant evaluated
bool NeededForConstantEvaluation =
isPotentiallyConstantEvaluatedContext(*this) &&
- isImplicitlyDefinableConstexprFunction(Func);
+ is
https://github.com/shafik commented:
This mostly makes sense to me, @AaronBallman does this look good to you?
https://github.com/llvm/llvm-project/pull/72607
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman
shafik wrote:
ping @cor3ntin
https://github.com/llvm/llvm-project/pull/82310
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1741,8 +1741,10 @@ void is_layout_compatible(int n)
static_assert(!__is_layout_compatible(unsigned char, signed char));
static_assert(__is_layout_compatible(int[], int[]));
static_assert(__is_layout_compatible(int[2], int[2]));
- static_assert(!__is_layout_compatible
@@ -2791,6 +2791,12 @@ bool ASTContext::hasUniqueObjectRepresentations(
return hasUniqueObjectRepresentations(getBaseElementType(Ty),
CheckIfTriviallyCopyable);
+ if (Ty->isVoidType())
shafik wrote:
It is not cle
https://github.com/shafik created
https://github.com/llvm/llvm-project/pull/95474
P2280R4 allows the use of references in pointers of unknown origins in a
constant expression context but only in specific cases that could be constant
expressions.
We track whether a variable is a constexpr unkn
@@ -3420,6 +3441,15 @@ static bool evaluateVarDeclInit(EvalInfo &Info, const
Expr *E,
}
Result = VD->getEvaluatedValue();
+
+ // P2280R4 If we don't have a value because this is a reference that was not
+ // initialized or whose lifetime began within E then create a val
https://github.com/shafik commented:
LGTM after addressing coloring issues.
https://github.com/llvm/llvm-project/pull/94876
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
shafik wrote:
Is this ready to land?
https://github.com/llvm/llvm-project/pull/90387
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
shafik wrote:
Looks like this is ready to land, if you have reached out to the Fuchsia and XL
folks you should be good.
https://github.com/llvm/llvm-project/pull/90462
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/95399
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -241,6 +238,13 @@ TPLa a;
} // namespace Thirteen
+namespace Fourteen {
+template
+int A = T();
+
+using enum A; // expected-error {{A is not an enumerated type}}
+} // namespace Fourteen
shafik wrote:
What does `Fourteen` stand for here or is it just a u
@@ -148,13 +148,10 @@ template struct C {
enum class D { d,
e,
f };
- using enum D;
-
- static constexpr int W = int(f) + I;
+ using enum D; // expected-error {{using-enum cannot name a dependent type}}
shafik wrote:
It
https://github.com/shafik approved this pull request.
https://github.com/llvm/llvm-project/pull/95399
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik commented:
Thank you for this fix. It needs a release note and your summary should have
some more details on what the cause of the bug is and how your PR fixes it.
efriedma-quic's comment provides a good framework for explaining the cause.
https://github.com/llvm/llvm
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/96301
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,11 @@
+// RUN: %clang_cc1 -std=c++23 -fsyntax-only -verify %s
shafik wrote:
I think this may be a more appropriate place for the test:
https://github.com/llvm/llvm-project/blob/main/clang/test/SemaCXX/anonymous-union.cpp
We usually wrap tests from gi
@@ -1392,7 +1392,8 @@ class CXXRecordDecl : public RecordDecl {
bool allowConstDefaultInit() const {
return !data().HasUninitializedFields ||
!(data().HasDefaultedDefaultConstructor ||
- needsImplicitDefaultConstructor());
+ needsImplici
@@ -2995,13 +2996,23 @@ bool Parser::ParseUnqualifiedId(CXXScopeSpec &SS,
ParsedType ObjectType,
SS, ObjectType, ObjectHadErrors,
TemplateKWLoc ? *TemplateKWLoc : SourceLocation(), Id, IdLoc,
EnteringContext, Result, TemplateSpecified);
-else
@@ -947,6 +947,26 @@ void TextNodeDumper::dumpDeclRef(const Decl *D, StringRef
Label) {
});
}
+void TextNodeDumper::dumpTemplateArgument(const TemplateArgument &TA) {
+ llvm::SmallString<128> Str;
+ {
+llvm::raw_svector_ostream SS(Str);
+TA.print(PrintPolicy, SS,
https://github.com/shafik commented:
Thank you for the fix!
https://github.com/llvm/llvm-project/pull/93460
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik edited 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
https://github.com/shafik commented:
LGTM
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
@@ -373,6 +373,98 @@ namespace cwg1837 { // cwg1837: 3.3
#endif
}
+namespace cwg1862 { // cwg1862: no
+template
+struct A {
+ struct B {
+void e();
+ };
+
+ void f();
+
+ struct D {
+void g();
+ };
+
+ T h();
+
+ template
+ T i();
+};
+
+template<>
+struc
@@ -121,6 +145,21 @@ derived d2(42, 9);
#endif
}
+namespace cwg1945 { // cwg1945: no
+template struct A {
+ class B {
+class C {};
+ };
+};
+class X {
+ static int x;
+ // FIXME: this is ill-formed, because A::B::C does not end with a
simple-template-id
+ template
+
https://github.com/shafik 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
https://github.com/shafik edited 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
https://github.com/shafik commented:
LGTM, curious why you skipped some and not others from that telecom. Likely
folks won't be able to check out the DRs until after St Louis.
https://github.com/llvm/llvm-project/pull/94167
___
cfe-commits mailing li
https://github.com/shafik approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/98965
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
shafik wrote:
> There's some existing coverage of the affected diagnostics, which shows we
> continue to produce those diagnostics... but I added a few more tests for
> in-class static member variables.
Thank you!
https://github.com/llvm/llvm-project/pull/99579
___
https://github.com/shafik closed https://github.com/llvm/llvm-project/pull/98965
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik commented:
Can you please add a reference to
https://github.com/llvm/llvm-project/issues/100095 in the summary so folks just
reading the git log have more context w/o going to the commit itself.
I would like to see a more flushed out long-term plan for fixing this pro
shafik wrote:
> The structure of the AST is not stable but whoever change is would have to
> fix the code anyway as it's all the same project so it's a non-issue (as long
> as you add sufficient test coverage)
I agree relying on the AST is fine w/ sufficient testing.
https://github.com/llvm/
https://github.com/shafik commented:
Thank you for this PR, could please put a little more detail in the summary
since that is what will be seen by folks using git log.
https://github.com/llvm/llvm-project/pull/100351
___
cfe-commits mailing list
cfe-
https://github.com/shafik commented:
Seems sensible @cor3ntin wdyt?
https://github.com/llvm/llvm-project/pull/100142
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -14578,21 +14578,51 @@ ExprResult Sema::CreateBuiltinBinOp(SourceLocation
OpLoc,
BinaryOperatorKind Opc,
Expr *LHSExpr, Expr *RHSExpr) {
if (getLangOpts().CPlusPlus11 && isa(RHSExpr)) {
-// The sy
https://github.com/shafik commented:
Thank you for submitting a potential fix.
First of all this needs a reproducer, one to verify the existing issue and two
because we need to add a test to insure we fix and three we need the rest to
make sure we don't regress the fix in later releases.
The
https://github.com/shafik commented:
I would like @AaronBallman to review this before committing.
https://github.com/llvm/llvm-project/pull/99833
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/c
https://github.com/shafik commented:
The code mostly makes sense, can we update the summary to clarify the goal of
this change? This is what goes in the git log and it is important this is
detailed enough to understand the change w/o looking at the details of the
change itself.
https://github
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/99748
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1579,11 +1579,11 @@ void JSONNodeDumper::VisitMaterializeTemporaryExpr(
}
void JSONNodeDumper::VisitCXXDefaultArgExpr(const CXXDefaultArgExpr *Node) {
- attributeOnlyIfTrue("hasRewrittenInit", Node->hasRewrittenInit());
+ JOS.attribute("hasRewrittenInit", Node->hasRewrit
https://github.com/shafik updated
https://github.com/llvm/llvm-project/pull/95474
>From 69b09ea5b0f0a1c5419c488ade29b6fedc6de773 Mon Sep 17 00:00:00 2001
From: Shafik Yaghmour
Date: Thu, 13 Jun 2024 14:20:50 -0700
Subject: [PATCH 1/2] [Clang] Implement P2280R4 Using unknown pointers and
refere
https://github.com/shafik updated
https://github.com/llvm/llvm-project/pull/95474
>From 69b09ea5b0f0a1c5419c488ade29b6fedc6de773 Mon Sep 17 00:00:00 2001
From: Shafik Yaghmour
Date: Thu, 13 Jun 2024 14:20:50 -0700
Subject: [PATCH 1/4] [Clang] Implement P2280R4 Using unknown pointers and
refere
https://github.com/shafik updated
https://github.com/llvm/llvm-project/pull/95474
>From 69b09ea5b0f0a1c5419c488ade29b6fedc6de773 Mon Sep 17 00:00:00 2001
From: Shafik Yaghmour
Date: Thu, 13 Jun 2024 14:20:50 -0700
Subject: [PATCH 1/5] [Clang] Implement P2280R4 Using unknown pointers and
refere
@@ -1917,6 +1929,16 @@ APValue &CallStackFrame::createTemporary(const KeyT
*Key, QualType T,
return createLocal(Base, Key, T, Scope);
}
+APValue &
+CallStackFrame::createConstexprUnknownAPValues(const VarDecl *Key,
+ APValue::LV
@@ -314,53 +316,69 @@ class APValue {
DataType Data;
public:
- APValue() : Kind(None) {}
- explicit APValue(APSInt I) : Kind(None) {
+ bool allowConstexprUnknown() const { return AllowConstexprUnknown; }
+
+ void setConstexprUnknown() { AllowConstexprUnknown = true; }
+
@@ -314,53 +316,69 @@ class APValue {
DataType Data;
public:
- APValue() : Kind(None) {}
- explicit APValue(APSInt I) : Kind(None) {
+ bool allowConstexprUnknown() const { return AllowConstexprUnknown; }
+
+ void setConstexprUnknown() { AllowConstexprUnknown = true; }
--
shafik wrote:
> Another PR would fix the crash when this one is landed.
Can you land the fix for the crash first? If the other PR gets reverted it
creates a lot of churn, so it would preferable to land that first. Assuming it
is not somehow dependent on this fix.
https://github.com/llvm/llv
https://github.com/shafik approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/101206
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik edited
https://github.com/llvm/llvm-project/pull/101206
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -75,7 +75,7 @@ bool Qualifiers::isStrictSupersetOf(Qualifiers Other) const {
const IdentifierInfo* QualType::getBaseTypeIdentifier() const {
const Type* ty = getTypePtr();
NamedDecl *ND = nullptr;
- if (ty->isPointerType() || ty->isReferenceType())
+ if (ty->isPointerO
https://github.com/shafik edited
https://github.com/llvm/llvm-project/pull/101126
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -442,6 +446,16 @@ namespace {
MostDerivedArraySize = 2;
MostDerivedPathLength = Entries.size();
}
+
+void addVectorElementUnchecked(QualType EltTy, uint64_t Size,
+ uint64_t Idx) {
+ Entries.push_back(PathEntry::Arra
https://github.com/shafik commented:
Thank you for working to get this PR finished up. I see at least two comments
from the previous PR not addressed here. Please, let's try and get those
addressed.
@AaronBallman wanted a test to make sure we reject `&V[0]` which I don't see:
https://github.c
https://github.com/shafik commented:
This LGTM but when someone blocks you should wait for approval before landing
the change.
https://github.com/llvm/llvm-project/pull/98699
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.o
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/98699
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1722,10 +1722,12 @@ void Preprocessor::ExpandBuiltinMacro(Token &Tok) {
// MSVC, ICC, GCC, VisualAge C++ extension. The generated string should be
// of the form "Ddd Mmm dd hh::mm::ss ", which is returned by asctime.
const char *Result;
+char TimeStrin
@@ -1284,16 +1294,26 @@ void checkExprLifetime(Sema &SemaRef, const
InitializedEntity &Entity,
auto LTResult = getEntityLifetime(&Entity);
LifetimeKind LK = LTResult.getInt();
const InitializedEntity *ExtendingEntity = LTResult.getPointer();
- checkExprLifetimeImpl(Sema
https://github.com/shafik updated
https://github.com/llvm/llvm-project/pull/95474
>From 69b09ea5b0f0a1c5419c488ade29b6fedc6de773 Mon Sep 17 00:00:00 2001
From: Shafik Yaghmour
Date: Thu, 13 Jun 2024 14:20:50 -0700
Subject: [PATCH] [Clang] Implement P2280R4 Using unknown pointers and
references
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/98965
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -11846,19 +11854,21 @@ static void DiagnoseFailedEnableIfAttr(Sema &S,
OverloadCandidate *Cand) {
}
static void DiagnoseFailedExplicitSpec(Sema &S, OverloadCandidate *Cand) {
- ExplicitSpecifier ES = ExplicitSpecifier::getFromDecl(Cand->Function);
+ assert(Cand->Function
https://github.com/shafik approved this pull request.
Thank you for this refactor, just a couple of minor comments but otherwise
looks good. Please fix first and then merge after it passes tests, if you need
someone to merge for you please let me know.
https://github.com/llvm/llvm-project/pull
@@ -9994,8 +9995,9 @@
Sema::AddArgumentDependentLookupCandidates(DeclarationName Name,
CandEnd = CandidateSet.end();
Cand != CandEnd; ++Cand)
if (Cand->Function) {
- Fns.erase(Cand->Function);
- if (FunctionTemplateDecl *
https://github.com/shafik requested changes to this pull request.
https://github.com/llvm/llvm-project/pull/98965
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/98965
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -11846,19 +11854,21 @@ static void DiagnoseFailedEnableIfAttr(Sema &S,
OverloadCandidate *Cand) {
}
static void DiagnoseFailedExplicitSpec(Sema &S, OverloadCandidate *Cand) {
- ExplicitSpecifier ES = ExplicitSpecifier::getFromDecl(Cand->Function);
+ assert(Cand->Function
@@ -931,7 +931,9 @@ def O : Joined<["-"], "O">, Group,
def O_flag : Flag<["-"], "O">, Visibility<[ClangOption, CC1Option, FC1Option]>,
Alias, AliasArgs<["1"]>;
def Ofast : Joined<["-"], "Ofast">, Group,
- Visibility<[ClangOption, CC1Option, FlangOption]>;
+ Visibility<[Clan
@@ -1519,7 +1519,8 @@ bool Sema::IsAtLeastAsConstrained(NamedDecl *D1,
auto IsExpectedEntity = [](const FunctionDecl *FD) {
FunctionDecl::TemplatedKind Kind = FD->getTemplatedKind();
return Kind == FunctionDecl::TK_NonTemplate ||
- Kind == FunctionDe
https://github.com/shafik commented:
I think I am bit surprised more tests are not affected by this change
considering you modified the handling in several places. It seems we should be
adding more test coverage with this change.
https://github.com/llvm/llvm-project/pull/99579
https://github.com/shafik commented:
Thank you for the additional tests, so I am not sure if the coverage is
sufficient I see changed under the following diagnostic:
note_constexpr_negative_shift
note_constexpr_large_shift
note_constexpr_lshift_of_negative
note_constexpr_lshift_discards
but I
https://github.com/shafik approved this pull request.
LGTM
https://github.com/llvm/llvm-project/pull/90012
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik commented:
This makes sense, I added Nico since they added the change that brought in that
line.
https://github.com/llvm/llvm-project/pull/89923
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/c
shafik wrote:
> Looking at the logs, and the error seems to be unrelated to the changes made
> https://buildkite.com/llvm-project/clang-ci/builds/16430#018f132d-506e-440c-b18b-fed98237def9/54-5446
You can try using `--allow-empty` to do an empty commit to kick off the build
again.
https://git
@@ -1465,6 +1465,7 @@ void CodeGenFunction::GenerateCode(GlobalDecl GD,
llvm::Function *Fn,
// Ensure that the function adheres to the forward progress guarantee, which
// is required by certain optimizations.
+ // The attribute will be removed if the body contains a tri
@@ -908,6 +908,74 @@ void CodeGenFunction::EmitIfStmt(const IfStmt &S) {
incrementProfileCounter(&S);
}
+bool CodeGenFunction::checkIfLoopMustProgress(const Expr
*ControllingExpression,
+ bool IsTrivialCXXLoop) {
+ if (CGM.get
https://github.com/shafik approved this pull request.
LGTM, thank you for the documentation fix.
https://github.com/llvm/llvm-project/pull/90485
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe
shafik wrote:
The `amdgpu-toolchain.c` test failure looks unrelated. I think we need another
empty commit to kick off the build again unfortunately.
https://github.com/llvm/llvm-project/pull/89923
___
cfe-commits mailing list
cfe-commits@lists.llvm.or
https://github.com/shafik commented:
So this seems to apply to member pointer types, pointer types, arrays and
function types but I don't see coverage for the full set of paths in the tests.
Can we please add more testing.
Erich also expressed some concern about breaking existing code due to e
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/90490
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -6714,14 +6714,16 @@ void Sema::CodeCompleteQualifiedId(Scope *S,
CXXScopeSpec &SS,
// If the scope is a concept-constrained type parameter, infer nested
// members based on the constraints.
- if (const auto *TTPT =
- dyn_cast_or_null(NNS->getAsType())) {
-
501 - 600 of 694 matches
Mail list logo