Author: shafik
Date: Wed Oct 31 14:53:15 2018
New Revision: 345784
URL: http://llvm.org/viewvc/llvm-project?rev=345784=rev
Log:
Revert "[ASTImporter][Structural Eq] Check for isBeingDefined"
This reverts commit r345760
because it caused an assertion in the lldb test suite. This is the log from
Author: shafik
Date: Wed Mar 27 10:47:36 2019
New Revision: 357100
URL: http://llvm.org/viewvc/llvm-project?rev=357100=rev
Log:
[ASTImporter] Fix IsStructuralMatch specialization for EnumDecl to prevent
re-importing an EnumDecl while trying to complete it
Summary:
We may try and re-import an
Author: shafik
Date: Mon Mar 4 12:25:54 2019
New Revision: 355332
URL: http://llvm.org/viewvc/llvm-project?rev=355332=rev
Log:
[ASTImporter] Handle built-in when importing SourceLocation and FileID
Summary:
Currently when we see a built-in we try and import the include location.
Instead what
Author: shafik
Date: Mon Jan 28 13:55:33 2019
New Revision: 352436
URL: http://llvm.org/viewvc/llvm-project?rev=352436=rev
Log:
[ASTImporter] Fix handling of overriden methods during ASTImport
Summary:
When importing classes we may add a CXXMethodDecl more than once to a
CXXRecordDecl when
Author: shafik
Date: Mon Apr 8 13:50:21 2019
New Revision: 357940
URL: http://llvm.org/viewvc/llvm-project?rev=357940=rev
Log:
[ASTImporter] Call to HandleNameConflict in VisitEnumDecl mistakeningly using
Name instead of SearchName
Summary:
https://reviews.llvm.org/D51633 added error handling
Author: shafik
Date: Fri May 24 09:53:44 2019
New Revision: 361650
URL: http://llvm.org/viewvc/llvm-project?rev=361650=rev
Log:
[ASTImporter] Call to HandleNameConflict in VisitRecordDecl mistakeningly using
Name instead of SearchName
Summary:
https://reviews.llvm.org/D51633 added error
Author: shafik
Date: Fri Apr 26 11:51:28 2019
New Revision: 359338
URL: http://llvm.org/viewvc/llvm-project?rev=359338=rev
Log:
[ASTImporter] Copy Argument Passing Restrictions setting when importing a
CXXRecordDecl definition
Summary:
For a CXXRecordDecl the RecordDeclBits are stored in the
Author: shafik
Date: Mon Aug 12 10:07:49 2019
New Revision: 368591
URL: http://llvm.org/viewvc/llvm-project?rev=368591=rev
Log:
[ASTDump] Add is_anonymous to VisitCXXRecordDecl
Summary:
Adding is_anonymous the ASTDump for CXXRecordDecl. This turned out to be useful
when debugging some problems
Author: shafik
Date: Tue Aug 27 13:17:35 2019
New Revision: 370107
URL: http://llvm.org/viewvc/llvm-project?rev=370107=rev
Log:
Debug Info: Support for DW_AT_export_symbols for anonymous structs
This implements the DWARF 5 feature described in:
http://dwarfstd.org/ShowIssue.php?issue=141212.1
Author: Shafik Yaghmour
Date: 2022-02-17T11:14:14-08:00
New Revision: f56cb520d8554ca42a215e82ecfa58d0b6c178e4
URL:
https://github.com/llvm/llvm-project/commit/f56cb520d8554ca42a215e82ecfa58d0b6c178e4
DIFF:
https://github.com/shafik commented:
LGTM but we should test all changes.
https://github.com/llvm/llvm-project/pull/65266
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -792,11 +793,11 @@ void clang::TextNodeDumper::dumpNestedNameSpecifier(const
NestedNameSpecifier *N
OS << " '" << NNS->getAsIdentifier()->getName() << "'";
break;
case NestedNameSpecifier::Namespace:
- OS << " Namespace";
+ OS << " "; //
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/65266
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
shafik wrote:
So it looks like some of these changes undo some of the change introduced by
@mizvekov in some tests. Maybe @zygoloid or @AaronBallman has some more input
here.
https://github.com/llvm/llvm-project/pull/65214
___
cfe-commits mailing
@@ -2158,8 +2158,10 @@ StmtResult Parser::ParseForStatement(SourceLocation
*TrailingElseLoc) {
// for-range-declaration next.
bool MightBeForRangeStmt = !ForRangeInfo.ParsedForRangeDecl();
ColonProtectionRAIIObject ColonProtection(*this,
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/65381
___
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 looks good to me but I would like another set of eyes on it.
https://github.com/llvm/llvm-project/pull/65381
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
shafik wrote:
> > So it looks like some of these changes undo some of the change introduced
> > by @mizvekov in some tests. Maybe @zygoloid or @AaronBallman has some more
> > input here.
>
> Do you have a pointer to such changes?
One of the commits is here: 15f3cd6bfc670
I know he did a
@@ -231,14 +231,18 @@ Response HandleFunctionTemplateDecl(const
FunctionTemplateDecl *FTD,
MultiLevelTemplateArgumentList ) {
if (!isa(FTD->getDeclContext())) {
NestedNameSpecifier *NNS = FTD->getTemplatedDecl()->getQualifier();
-
@@ -231,14 +231,18 @@ Response HandleFunctionTemplateDecl(const
FunctionTemplateDecl *FTD,
MultiLevelTemplateArgumentList ) {
if (!isa(FTD->getDeclContext())) {
NestedNameSpecifier *NNS = FTD->getTemplatedDecl()->getQualifier();
-
@@ -231,14 +231,18 @@ Response HandleFunctionTemplateDecl(const
FunctionTemplateDecl *FTD,
MultiLevelTemplateArgumentList ) {
if (!isa(FTD->getDeclContext())) {
NestedNameSpecifier *NNS = FTD->getTemplatedDecl()->getQualifier();
-
https://github.com/shafik commented:
If the function is `constexpr` do we treat it as a VLA?
https://github.com/llvm/llvm-project/pull/66222
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
@@ -13928,7 +13930,7 @@ static bool CheckTautologicalComparison(Sema ,
BinaryOperator *E,
return false;
IntRange OtherValueRange = GetExprRange(
- S.Context, Other, S.isConstantEvaluated(), /*Approximate*/ false);
+ S.Context, Other,
@@ -13928,7 +13930,7 @@ static bool CheckTautologicalComparison(Sema ,
BinaryOperator *E,
return false;
IntRange OtherValueRange = GetExprRange(
- S.Context, Other, S.isConstantEvaluated(), /*Approximate*/ false);
+ S.Context, Other,
https://github.com/shafik review_requested
https://github.com/llvm/llvm-project/pull/66222
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -15159,16 +15163,16 @@ static void CheckImplicitConversion(Sema , Expr *E,
QualType T,
IntRange SourceTypeRange =
IntRange::forTargetOfCanonicalType(S.Context, Source);
- IntRange LikelySourceRange =
- GetExprRange(S.Context, E, S.isConstantEvaluated(),
@@ -14143,8 +14145,9 @@ static void AnalyzeComparison(Sema , BinaryOperator
*E) {
}
// Otherwise, calculate the effective range of the signed operand.
- IntRange signedRange = GetExprRange(
- S.Context, signedOperand, S.isConstantEvaluated(), /*Approximate*/ true);
@@ -15090,8 +15093,9 @@ static void CheckImplicitConversion(Sema , Expr *E,
QualType T,
if (SourceBT && TargetBT && SourceBT->isIntegerType() &&
TargetBT->isFloatingType() && !IsListInit) {
// Determine the number of precision bits in the source integer type.
-
@@ -9843,30 +9833,44 @@ class Sema final {
/// diagnostics that will be suppressed.
std::optional isSFINAEContext() const;
- /// Determines whether we are currently in a context that
- /// is not evaluated as per C++ [expr] p5.
- bool isUnevaluatedContext() const {
+
@@ -0,0 +1,84 @@
+//===- llvm/unittest/ADT/PagedVectorTest.cpp
--===//
+//
+// 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:
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/66430
___
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 contributions, I just have one comment so far on testing. We
should make sure any new ADT is very well tested before landing it.
https://github.com/llvm/llvm-project/pull/66430
___
cfe-commits
shafik wrote:
Thank you for the quick fix
https://github.com/llvm/llvm-project/pull/66341
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
shafik wrote:
> Perhaps it needs a release note?
You would think I would remember this by now.
https://github.com/llvm/llvm-project/pull/66270
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/shafik updated
https://github.com/llvm/llvm-project/pull/66270:
>From b934841d7fc3d3447b23a9718a38742943f76916 Mon Sep 17 00:00:00 2001
From: Shafik Yaghmour
Date: Wed, 13 Sep 2023 11:09:28 -0700
Subject: [PATCH 1/2] [Clang] Fix CXXRewrittenBinaryOperator::getDecomposedForm
Author: Shafik Yaghmour
Date: 2023-09-12T11:06:06-07:00
New Revision: 6eadc8f16e03f6aa3b1b1c178c308ac452eabeac
URL:
https://github.com/llvm/llvm-project/commit/6eadc8f16e03f6aa3b1b1c178c308ac452eabeac
DIFF:
@@ -1295,6 +1306,21 @@ static bool
IsStructurallyEquivalent(StructuralEquivalenceContext ,
return true;
}
+static bool IsStructurallyEquivalent(StructuralEquivalenceContext ,
shafik wrote:
Should we also be checking the storage class and the various bits
https://github.com/shafik review_requested
https://github.com/llvm/llvm-project/pull/66110
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik created
https://github.com/llvm/llvm-project/pull/66270:
Currently CXXRewrittenBinaryOperator::getDecomposedForm(...) may crash if the
spaceship operator returns a comparison category by reference. This because
IgnoreImplicitAsWritten() does not look through
https://github.com/shafik review_requested
https://github.com/llvm/llvm-project/pull/66270
___
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/65412
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -4588,28 +4641,29 @@ std::string CompilerInvocation::getModuleHash() const {
return toString(llvm::APInt(64, Hash), 36, /*Signed=*/false);
}
-void CompilerInvocation::generateCC1CommandLine(
+void CompilerInvocationBase::generateCC1CommandLine(
ArgumentConsumer
https://github.com/shafik commented:
nit
https://github.com/llvm/llvm-project/pull/65412
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
shafik wrote:
> Yes, there's this way and also when you compare integers smaller than `int`,
> but those don't trigger -Wsign-compare. -Wsign-compare only triggers if a
> signed operand is converted to an unsigned operand. This is a PR description
> bug :)
I did not understand that. I can
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/65684
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -14043,28 +14039,61 @@ static bool CheckTautologicalComparison(Sema ,
BinaryOperator *E,
return true;
}
+namespace {
+struct AnalyzeImplicitConversionsWorkItem {
+ Expr *E;
+ SourceLocation CC;
+ unsigned IsListInit : 1;
+ unsigned IsTopLevelExpr : 1;
+};
+
+class
@@ -14308,22 +14382,22 @@ static bool AnalyzeBitFieldAssignment(Sema ,
FieldDecl *Bitfield, Expr *Init,
/// Analyze the given simple or compound assignment for warning-worthy
/// operations.
-static void AnalyzeAssignment(Sema , BinaryOperator *E) {
+void
@@ -14135,8 +14164,8 @@ static void AnalyzeComparison(Sema , BinaryOperator
*E) {
// Go ahead and analyze implicit conversions in the operands. Note
// that we skip the implicit conversions on both sides.
- AnalyzeImplicitConversions(S, LHS, E->getOperatorLoc());
-
https://github.com/shafik review_requested
https://github.com/llvm/llvm-project/pull/65684
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -14308,22 +14382,22 @@ static bool AnalyzeBitFieldAssignment(Sema ,
FieldDecl *Bitfield, Expr *Init,
/// Analyze the given simple or compound assignment for warning-worthy
/// operations.
-static void AnalyzeAssignment(Sema , BinaryOperator *E) {
+void
@@ -0,0 +1,129 @@
+// RUN: %clang_cc1 -fsyntax-only -Wsign-compare -Wno-unused-comparison
-Wno-empty-body -Wno-unused-value -verify %s
+// RUN: cp %s %t
+// RUN: %clang_cc1 -fsyntax-only -Wsign-compare -fixit -x c %t 2> /dev/null
+// RUN: grep -v CHECK %t | FileCheck %s
+
@@ -15423,29 +15489,29 @@ static void AnalyzeImplicitConversions(
// FIXME: Use a more uniform representation for this.
for (auto *SE : POE->semantics())
if (auto *OVE = dyn_cast(SE))
-WorkList.push_back({OVE->getSourceExpr(), CC, IsListInit});
+
@@ -15277,35 +15351,33 @@ static void CheckImplicitConversion(Sema , Expr *E,
QualType T,
}
}
-static void CheckConditionalOperator(Sema , AbstractConditionalOperator *E,
- SourceLocation CC, QualType T);
-
-static void
@@ -14308,22 +14382,22 @@ static bool AnalyzeBitFieldAssignment(Sema ,
FieldDecl *Bitfield, Expr *Init,
/// Analyze the given simple or compound assignment for warning-worthy
/// operations.
-static void AnalyzeAssignment(Sema , BinaryOperator *E) {
+void
@@ -14490,12 +14564,12 @@ static void DiagnoseFloatingImpCast(Sema , Expr *E,
QualType T,
/// Analyze the given compound assignment for the possible losing of
/// floating-point precision.
-static void AnalyzeCompoundAssignment(Sema , BinaryOperator *E) {
+void
https://github.com/shafik commented:
Looks good overall, just the one side case I mentioned should be tested and
mostly small nits.
https://github.com/llvm/llvm-project/pull/65684
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
@@ -15423,29 +15489,29 @@ static void AnalyzeImplicitConversions(
// FIXME: Use a more uniform representation for this.
for (auto *SE : POE->semantics())
if (auto *OVE = dyn_cast(SE))
-WorkList.push_back({OVE->getSourceExpr(), CC, IsListInit});
+
@@ -15277,35 +15351,33 @@ static void CheckImplicitConversion(Sema , Expr *E,
QualType T,
}
}
-static void CheckConditionalOperator(Sema , AbstractConditionalOperator *E,
- SourceLocation CC, QualType T);
-
-static void
@@ -15478,7 +15544,7 @@ static void AnalyzeImplicitConversions(
// Ignore checking string literals that are in logical and operators.
// This is a common pattern for asserts.
continue;
-WorkList.push_back({ChildExpr, CC, IsListInit});
+
shafik wrote:
> form when the user doesn't know what happens when integers of different signs
> are compared (the signed one is cast to an unsigned value).
I just wanted to point out that although this is very much an edge case, but
mixed sign comparison can result in conversion to signed
@@ -96,6 +96,21 @@ void JSONNodeDumper::Visit(QualType T) {
JOS.attribute("qualifiers", T.split().Quals.getAsString());
}
+void JSONNodeDumper::Visit(TypeLoc TL) {
+ if (TL.isNull())
+return;
+ JOS.attribute("kind",
+(llvm::Twine(TL.getTypeLocClass()
shafik wrote:
LGTM, thank you for the quick fix!
https://github.com/llvm/llvm-project/pull/65818
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Shafik Yaghmour
Date: 2023-08-29T11:28:57-07:00
New Revision: 6f30ef360127ffb3346fd3d3e60a229ed44dc667
URL:
https://github.com/llvm/llvm-project/commit/6f30ef360127ffb3346fd3d3e60a229ed44dc667
DIFF:
https://github.com/shafik review_requested
https://github.com/llvm/llvm-project/pull/66436
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik review_requested
https://github.com/llvm/llvm-project/pull/66436
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik review_requested
https://github.com/llvm/llvm-project/pull/66436
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik review_requested
https://github.com/llvm/llvm-project/pull/66270
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -542,3 +542,46 @@ void foo(C c) {
}
}
+
+
+namespace GH69838 {
+struct S {
+ S(this auto ) {} // expected-error {{an explicit object parameter
cannot appear in a constructor}}
+ virtual void f(this S self) {} // expected-error {{an explicit object
parameter cannot
shafik wrote:
The clang-format error is a false positive.
https://github.com/llvm/llvm-project/pull/70150
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
shafik wrote:
The clang-format error is a false positive.
https://github.com/llvm/llvm-project/pull/70150
___
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/70150
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Carlos =?utf-8?q?G=C3=A1lvez?=
Message-ID:
In-Reply-To:
shafik wrote:
Thank you for doing this work.
https://github.com/llvm/llvm-project/pull/67528
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
=?utf-8?b?5YiY6Zuo5Z+5?=
Message-ID:
In-Reply-To:
@@ -1299,8 +1299,9 @@ static bool checkTupleLikeDecomposition(Sema ,
// in the associated namespaces.
Expr *Get = UnresolvedLookupExpr::Create(
S.Context, nullptr, NestedNameSpecifierLoc(),
=?utf-8?b?5YiY6Zuo5Z+5?=
Message-ID:
In-Reply-To:
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/69075
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
=?utf-8?b?5YiY6Zuo5Z+5?=
Message-ID:
In-Reply-To:
https://github.com/shafik commented:
A couple of nitpicks
https://github.com/llvm/llvm-project/pull/69075
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
=?utf-8?b?5YiY6Zuo5Z+5?=
Message-ID:
In-Reply-To:
@@ -354,10 +354,10 @@ UnresolvedLookupExpr::UnresolvedLookupExpr(
NestedNameSpecifierLoc QualifierLoc, SourceLocation TemplateKWLoc,
const DeclarationNameInfo , bool RequiresADL, bool Overloaded,
const
@@ -7688,7 +7688,7 @@ bool Sema::CheckNonDependentConversions(
QualType ParamType = ParamTypes[I + Offset];
if (!ParamType->isDependentType()) {
unsigned ConvIdx = PO == OverloadCandidateParamOrder::Reversed
- ? 0
+
https://github.com/shafik closed https://github.com/llvm/llvm-project/pull/70150
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik commented:
You need to make sure you tests have newlines at the end
https://github.com/llvm/llvm-project/pull/69061
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
@@ -0,0 +1,103 @@
+// RUN: %clang_cc1 -Wchar-subscripts -fsyntax-only -verify %s
+
+void t1(void) {
+ int array[1] = { 0 };
+ char subscript = 0;
+ int val = array[subscript]; // expected-warning{{array subscript is of type
'char'}}
+}
+
+void t2(void) {
+ int array[1] = { 0
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/69061
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -15604,10 +15604,13 @@ bool Expr::EvaluateAsInitializer(APValue ,
const ASTContext ,
LValue LVal;
LVal.set(VD);
-if (!EvaluateInPlace(Value, Info, LVal, this,
- /*AllowNonLiteralTypes=*/true) ||
-EStatus.HasSideEffects)
-
shafik wrote:
> While the change itself looks neat, I am curious about the reason how this
> interact with modules.
IIUC modules is incidental to the problem, it is just a way we run into an
underlying issue that we are not dealing with full-expressions properly in this
case.
shafik wrote:
Please next time add a detailed description to your PR. This is key for
reviewers to fully understand at a glance what the fix is for.
This is also key for users of git log to be able to understand changes at a
glance without having to dig in. Folks often use git log to track
shafik wrote:
I think this change makes sense but I am not crazy about how we deal w/
full-expressions right now with these `FullExpressionRAII`, it feels very
ad-hoc and it takes a bunch of time to understand why they are needed where
they are.
@@ -0,0 +1,16 @@
+// RUN: %clang_cc1 -x c++ -std=c++14 -fsyntax-only -verify %s
+
+template
+using Type = typename A::NestedType; // expected-error {{type 'float' cannot
be used prior to '::' because it has no members}}
+
+template
+void Func() {
+ using MyType = Type(); //
shafik wrote:
Please make sure you write a more complete description of the problem and why
this solves the problem. The description is usually what goes into the git log
and that is very useful for quickly understanding commits and tracking down
problems.
I know some folks edit the
@@ -19,4 +19,8 @@ void f2(void) {
struct U u;
}
-
+void f3(void) {
shafik wrote:
So unlike the original test case this one does not seem to cause a crash. Can
we add a test case for that as well to verify we are fixing that issue as well.
shafik wrote:
What is the intended use for this?
https://github.com/llvm/llvm-project/pull/69487
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -585,3 +585,34 @@ class Server : public Thing {
S name_;
};
}
+
+namespace GH69233 {
+struct Base {};
+struct S : Base {
+int j;
+S& operator=(this Base& self, const S&) = default;
+// expected-warning@-1 {{explicitly defaulted copy assignment operator is
@@ -11773,7 +11786,25 @@ QualType Sema::CheckShiftOperands(ExprResult ,
ExprResult ,
isScopedEnumerationType(RHSType)) {
return InvalidOperands(Loc, LHS, RHS);
}
- DiagnoseBadShiftValues(*this, LHS, RHS, Loc, Opc, LHSType);
+
+ BadShiftValueKind BSVKind =
+
@@ -65,7 +65,7 @@ class CXXFieldCollector {
/// getCurFields - Pointer to array of fields added to the currently parsed
/// class.
- FieldDecl **getCurFields() { return &*(Fields.end() - getCurNumFields()); }
shafik wrote:
I think this is basically
@@ -3553,6 +3553,48 @@ static unsigned getPackIndexForParam(Sema ,
llvm_unreachable("parameter index would not be produced from template");
}
+// if `Specialization` is a `CXXConstructorDecl` or `CXXConversionDecl`,
+// we'll try to instantiate and update its explicit
https://github.com/shafik edited https://github.com/llvm/llvm-project/pull/70548
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/shafik approved this pull request.
I just want to make sure we have enough testing in place for this change but
overall I think I am happy.
https://github.com/llvm/llvm-project/pull/70548
___
cfe-commits mailing list
@@ -3553,6 +3553,49 @@ static unsigned getPackIndexForParam(Sema ,
llvm_unreachable("parameter index would not be produced from template");
}
+// if `Specialization` is a `CXXConstructorDecl` or `CXXConversionDecl`
+// we try to instantiate and update its explicit specifier
@@ -3682,6 +3725,17 @@ Sema::TemplateDeductionResult
Sema::FinishTemplateArgumentDeduction(
}
}
+ // We skipped the instantiation of the explicit-specifier during subst the
shafik wrote:
This sentence is not super clear, can we spell out `subst` and
@@ -966,9 +962,65 @@ static llvm::Value *getArrayIndexingBound(CodeGenFunction
,
return nullptr;
}
-FieldDecl *CodeGenFunction::FindCountedByField(
-const Expr *Base,
-LangOptions::StrictFlexArraysLevelKind StrictFlexArraysLevel) {
+const Expr *
@@ -966,9 +962,65 @@ static llvm::Value *getArrayIndexingBound(CodeGenFunction
,
return nullptr;
}
-FieldDecl *CodeGenFunction::FindCountedByField(
-const Expr *Base,
-LangOptions::StrictFlexArraysLevelKind StrictFlexArraysLevel) {
+const Expr *
shafik wrote:
Can you please add a more detailed description of the problem and what the fix
actually is. The description is what ends up in the git log and it is important
that we have enough details there to understand the PR and what changes it
makes.
I do not see a test, can this fix be
1 - 100 of 511 matches
Mail list logo