https://github.com/ilya-biryukov edited
https://github.com/llvm/llvm-project/pull/71945
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -15811,6 +15813,20 @@ static void diagnoseImplicitlyRetainedSelf(Sema &S) {
<< FixItHint::CreateInsertion(P.first, "self->");
}
+void Sema::CheckCoroutineWrapper(FunctionDecl *FD) {
+ if (!FD || getCurFunction()->isCoroutine())
ilya-biryukov wrot
https://github.com/ilya-biryukov approved this pull request.
LGTM assuming the `getCurFunction()` comment is addressed in some form (moving
it to callers or adding an assertion)
Thanks for the change!
https://github.com/llvm/llvm-project/pull/71945
_
https://github.com/ilya-biryukov approved this pull request.
LGTM with a few suggestiosn.
One is in the comment.
I also suggest to add a warning when users mark the type as
`coro_lifetimebound` without `coro_return_type`.
The analysis will be disabled in this case and it may be hard to understa
https://github.com/ilya-biryukov edited
https://github.com/llvm/llvm-project/pull/72851
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -334,6 +334,10 @@ Attribute Changes in Clang
[[clang::code_align(A)]] for(;;) { }
}
+- Clang now introduced ``[[clang::coro_lifetimebound]]`` attribute.
+ All arguments to a function are considered to be lifetime bound if the
function
ilya-b
ilya-biryukov wrote:
Thanks a lot! This fixes the problem we encountered with ranking includes.
https://github.com/llvm/llvm-project/pull/75965
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-
https://github.com/ilya-biryukov approved this pull request.
https://github.com/llvm/llvm-project/pull/75965
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilya-biryukov closed
https://github.com/llvm/llvm-project/pull/75965
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ilya-biryukov wrote:
I wanted to mention that it is critical to have an incremental path to
introduce these warnings for our release process at Google.
I hope this is in line with Clang's needs and not too disturbing to the
upstream development. It also helps people with similar needs, i.e. th
https://github.com/ilya-biryukov updated
https://github.com/llvm/llvm-project/pull/74490
>From 51d6e95d67c3cc6070d926ef04b168c2ea429c7d Mon Sep 17 00:00:00 2001
From: Ilya Biryukov
Date: Tue, 5 Dec 2023 14:28:01 +0100
Subject: [PATCH 1/2] [Sema] When checking for constraint equivalence, do not
https://github.com/ilya-biryukov updated
https://github.com/llvm/llvm-project/pull/74490
>From 51d6e95d67c3cc6070d926ef04b168c2ea429c7d Mon Sep 17 00:00:00 2001
From: Ilya Biryukov
Date: Tue, 5 Dec 2023 14:28:01 +0100
Subject: [PATCH 1/3] [Sema] When checking for constraint equivalence, do not
@@ -4077,6 +4084,7 @@ Sema::SubstExpr(Expr *E, const
MultiLevelTemplateArgumentList &TemplateArgs) {
TemplateInstantiator Instantiator(*this, TemplateArgs,
SourceLocation(),
DeclarationName());
+ Instan
Author: Ilya Biryukov
Date: 2023-12-22T12:41:52+01:00
New Revision: 95b423e44f6f35651bb1e7d4f6e0591df71360af
URL:
https://github.com/llvm/llvm-project/commit/95b423e44f6f35651bb1e7d4f6e0591df71360af
DIFF:
https://github.com/llvm/llvm-project/commit/95b423e44f6f35651bb1e7d4f6e0591df71360af.diff
https://github.com/ilya-biryukov created
https://github.com/llvm/llvm-project/pull/76232
Fixes #76228.
Use the same logic as braced init lists, also adds a test that puts incomplete
types in various positions to check for regressions in the future.
>From 491f3b09a2064c82c1646ca1d0c2987478bb4f5
https://github.com/ilya-biryukov updated
https://github.com/llvm/llvm-project/pull/76232
>From 491f3b09a2064c82c1646ca1d0c2987478bb4f51 Mon Sep 17 00:00:00 2001
From: Ilya Biryukov
Date: Fri, 22 Dec 2023 12:33:34 +0100
Subject: [PATCH 1/2] [Sema] Fix crash on invalid code with parenthesized
ag
https://github.com/ilya-biryukov closed
https://github.com/llvm/llvm-project/pull/76232
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Author: Ilya Biryukov
Date: 2023-12-22T13:30:43+01:00
New Revision: 7ab16fb5207fe187ab999f882069bd632d2e68e5
URL:
https://github.com/llvm/llvm-project/commit/7ab16fb5207fe187ab999f882069bd632d2e68e5
DIFF:
https://github.com/llvm/llvm-project/commit/7ab16fb5207fe187ab999f882069bd632d2e68e5.diff
https://github.com/ilya-biryukov created
https://github.com/llvm/llvm-project/pull/76233
This regressions was introduced in 70d7ea0cebcf363cd0ddcfb76375fb5fada87dd5.
The commit moved some code and correctly picked up an explicit check for not
running on Verilog.
However, the moved code also ne
ilya-biryukov wrote:
There is no way for me to fix the formatting presubmit as it can't run on new
clang-format code.
Submitting as is.
https://github.com/llvm/llvm-project/pull/76233
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lis
https://github.com/ilya-biryukov closed
https://github.com/llvm/llvm-project/pull/76233
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilya-biryukov created
https://github.com/llvm/llvm-project/pull/76239
We have found that 199fc973ced20016b04ba540cf63a1d4914fa513 regresses
formatting of our codebases because we do not properly configure the names of
attribute macros.
`GUARDED_BY` and `ABSL_GUARDED_BY` are
https://github.com/ilya-biryukov closed
https://github.com/llvm/llvm-project/pull/76239
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ilya-biryukov wrote:
Thanks for reverting it and sorry for the trouble, I will make sure to check
libc++ tests before a reland.
Clang does report less errors now, but that's expected. The errors were
spurious, caused by Clang trying to initialize an "invalid" class (more details
below in case
ilya-biryukov wrote:
This change did not aim to change the behavior, it's quite the opposite, I
tried to guide `clang-format` parsing to recognize attribute and format the
code in the way we always intended it to.
If there is a way to do that without adding the macro names to the
configuratio
Author: Ilya Biryukov
Date: 2024-01-02T16:00:55+01:00
New Revision: 02347fc7191ff4d073f439dde6523add3f5496de
URL:
https://github.com/llvm/llvm-project/commit/02347fc7191ff4d073f439dde6523add3f5496de
DIFF:
https://github.com/llvm/llvm-project/commit/02347fc7191ff4d073f439dde6523add3f5496de.diff
@@ -15845,7 +15845,7 @@ static void diagnoseImplicitlyRetainedSelf(Sema &S) {
}
void Sema::CheckCoroutineWrapper(FunctionDecl *FD) {
- if (!FD)
+ if (!FD || FD->hasSkippedBody())
ilya-biryukov wrote:
Suggestion: a comment would be appropriate here, e.g. `//
https://github.com/ilya-biryukov created
https://github.com/llvm/llvm-project/pull/76804
This addresses a problem with formatting attributes. Some context:
- 199fc973ced20016b04ba540cf63a1d4914fa513 changed `isStartOfName` to fix
problems inside macro directives (judging by the added tests), bu
ilya-biryukov wrote:
I have played around with specializing new behavior to macro directives and it
seems work well, I have sent #76804 for review.
https://github.com/llvm/llvm-project/pull/72336
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://github.com/ilya-biryukov updated
https://github.com/llvm/llvm-project/pull/76804
>From d8598a382fb1496a96d6ff8317c06cf73606ad84 Mon Sep 17 00:00:00 2001
From: Ilya Biryukov
Date: Wed, 3 Jan 2024 11:07:17 +0100
Subject: [PATCH 1/2] [Format] Fix isStartOfName to recognize attributes
This
@@ -15845,7 +15845,7 @@ static void diagnoseImplicitlyRetainedSelf(Sema &S) {
}
void Sema::CheckCoroutineWrapper(FunctionDecl *FD) {
- if (!FD)
+ if (!FD || FD->hasSkippedBody())
ilya-biryukov wrote:
Nice! Thanks, this definitely looks much better now!
htt
https://github.com/ilya-biryukov approved this pull request.
https://github.com/llvm/llvm-project/pull/76729
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -1121,6 +1121,14 @@ def CoroLifetimeBound : InheritableAttr {
let SimpleHandler = 1;
}
+def CoroNotLifetimeBound : InheritableAttr {
ilya-biryukov wrote:
Any alternatives to this name? Maybe `coro_disable_lifetime_bound`?
The current name confused me a
@@ -115,3 +115,18 @@ CoNoCRT bar(int a) {
co_return 1;
}
} // namespace not_a_crt
+
+//
=
+// Not lifetime bound coroutine wrappers: [[clang::coro_not_lifetimebound]].
+//
==
@@ -7671,9 +7671,12 @@ The ``[[clang::coro_lifetimebound]]`` is a class
attribute which can be applied
to a coroutine return type (`CRT`_) (i.e.
it should also be annotated with ``[[clang::coro_return_type]]``).
-All parameters of a function are considered to be lifetime boun
ilya-biryukov wrote:
> can you also add a test to clang/unittests/Format/TokenAnnotatorTest.cpp that
> ensures trailing attribute-like macros receive `StartOfName` annotation to
> make sure we don't regress the signal in the future?
ok, that opened a whole can of worms.
```
Tokens = annotate(
Author: Ilya Biryukov
Date: 2024-01-03T17:02:00+01:00
New Revision: 55d5ba905da0db55282dd3985761ddf3dd452fd1
URL:
https://github.com/llvm/llvm-project/commit/55d5ba905da0db55282dd3985761ddf3dd452fd1
DIFF:
https://github.com/llvm/llvm-project/commit/55d5ba905da0db55282dd3985761ddf3dd452fd1.diff
@@ -10093,11 +10090,11 @@ TEST_F(FormatTest, ReturnTypeBreakingStyle) {
getGoogleStyleWithColumns(40));
verifyFormat("Tttt ppp\n"
"ABSL_GUARDED_BY(mutex1)\n"
- "ABSL_GUARDED_BY(mutex2);",
+
@@ -1698,8 +1698,6 @@ FormatStyle getGoogleStyle(FormatStyle::LanguageKind
Language) {
/*BasedOnStyle=*/"google",
},
};
- GoogleStyle.AttributeMacros.push_back("GUARDED_BY");
ilya-biryukov wrote:
They are attribute macros indeed, the proble
ilya-biryukov wrote:
> @ilya-biryukov this is the new attempt to land this patch, the version you
> committed breaks the libc++ CI. I'll try to fix it this week.
Wow, I didn't expect that. Is libc++ ok with disabling this test until the
nightly build catches up? (The PR is in the Draft state,
https://github.com/ilya-biryukov closed
https://github.com/llvm/llvm-project/pull/74490
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ilya-biryukov wrote:
I'm Sam's colleague and wanted to mention that Sam won't be available until
January 15.
It probably does not make much sense for someone else to take over at this
point as the change is large and waiting for Sam is more efficient than ramping
up someone else at this point.
https://github.com/ilya-biryukov approved this pull request.
I agree we could add parameter attributes later! LGTM!
https://github.com/llvm/llvm-project/pull/76818
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/m
ilya-biryukov wrote:
> It's not ideal, but I can't think of a better solution. Typically nightly apt
> builds are built nightly so then we can update the Docker CI quickly. If the
> nightly builds are red it might take a bit longer.
> The patch is in draft since I wanted to test with the bootst
ilya-biryukov wrote:
I second everything that @HighCommander4 said. It would be really useful to add
an assertion that we never get out-of-bounds here, but this indicates a logic
error somewhere in the code that should be fixed.
I am slightly suspicious of source locations pointing at `eof` in
@@ -1698,8 +1698,6 @@ FormatStyle getGoogleStyle(FormatStyle::LanguageKind
Language) {
/*BasedOnStyle=*/"google",
},
};
- GoogleStyle.AttributeMacros.push_back("GUARDED_BY");
ilya-biryukov wrote:
@HazardyKnusperkeks friendly ping. Any thoug
@@ -7575,15 +7577,27 @@ static void
visitLifetimeBoundArguments(IndirectLocalPath &Path, Expr *Call,
Path.pop_back();
};
- if (ObjectArg && implicitObjectParamIsLifetimeBound(Callee))
-VisitLifetimeBoundArg(Callee, ObjectArg);
-
bool CheckCoroCall = false;
if
@@ -7575,15 +7577,27 @@ static void
visitLifetimeBoundArguments(IndirectLocalPath &Path, Expr *Call,
Path.pop_back();
};
- if (ObjectArg && implicitObjectParamIsLifetimeBound(Callee))
-VisitLifetimeBoundArg(Callee, ObjectArg);
-
bool CheckCoroCall = false;
if
@@ -7575,15 +7577,27 @@ static void
visitLifetimeBoundArguments(IndirectLocalPath &Path, Expr *Call,
Path.pop_back();
};
- if (ObjectArg && implicitObjectParamIsLifetimeBound(Callee))
-VisitLifetimeBoundArg(Callee, ObjectArg);
-
bool CheckCoroCall = false;
if
https://github.com/ilya-biryukov approved this pull request.
LGTM, other nodes also do this.
But please take a look at suggestions for improving the test before landing.
https://github.com/llvm/llvm-project/pull/77311
___
cfe-commits mailing list
cfe-c
https://github.com/ilya-biryukov edited
https://github.com/llvm/llvm-project/pull/77311
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -0,0 +1,46 @@
+// RUN: %clang_cc1 -triple x86_64-unknown-unknown %s -std=c++20 \
+// RUN:-fsyntax-only -ast-dump -ast-dump-filter test | FileCheck %s
+
+#include "Inputs/std-coroutine.h"
+
+using namespace std;
+
+struct Task {
+ struct promise_type {
+std::suspend_alw
Author: Ilya Biryukov
Date: 2022-07-27T12:31:20+02:00
New Revision: 42f87bb62d0719848842da60d2a8180b9e4d7c52
URL:
https://github.com/llvm/llvm-project/commit/42f87bb62d0719848842da60d2a8180b9e4d7c52
DIFF:
https://github.com/llvm/llvm-project/commit/42f87bb62d0719848842da60d2a8180b9e4d7c52.diff
Author: Ilya Biryukov
Date: 2022-08-09T12:17:41+02:00
New Revision: 07529996d92b9fc0cc760f4e98d88b607f66e747
URL:
https://github.com/llvm/llvm-project/commit/07529996d92b9fc0cc760f4e98d88b607f66e747
DIFF:
https://github.com/llvm/llvm-project/commit/07529996d92b9fc0cc760f4e98d88b607f66e747.diff
Author: Ilya Biryukov
Date: 2022-04-26T13:50:01Z
New Revision: 75e16fd2c656fb7d27e6edc46dc1a63ff8323999
URL:
https://github.com/llvm/llvm-project/commit/75e16fd2c656fb7d27e6edc46dc1a63ff8323999
DIFF:
https://github.com/llvm/llvm-project/commit/75e16fd2c656fb7d27e6edc46dc1a63ff8323999.diff
LOG:
Author: Ilya Biryukov
Date: 2022-04-28T09:33:26Z
New Revision: 2b833d4086aba3c0fca480549309af54bfdd8e2e
URL:
https://github.com/llvm/llvm-project/commit/2b833d4086aba3c0fca480549309af54bfdd8e2e
DIFF:
https://github.com/llvm/llvm-project/commit/2b833d4086aba3c0fca480549309af54bfdd8e2e.diff
LOG:
Author: Ilya Biryukov
Date: 2022-05-04T15:53:07Z
New Revision: 726d7b07fcde58c61743c45723c9b614911fe084
URL:
https://github.com/llvm/llvm-project/commit/726d7b07fcde58c61743c45723c9b614911fe084
DIFF:
https://github.com/llvm/llvm-project/commit/726d7b07fcde58c61743c45723c9b614911fe084.diff
LOG:
Author: Ilya Biryukov
Date: 2022-05-05T15:04:11Z
New Revision: ad2263de9f75119626f316e253fdc1de28d5c23a
URL:
https://github.com/llvm/llvm-project/commit/ad2263de9f75119626f316e253fdc1de28d5c23a
DIFF:
https://github.com/llvm/llvm-project/commit/ad2263de9f75119626f316e253fdc1de28d5c23a.diff
LOG:
Author: Ilya Biryukov
Date: 2022-05-05T15:53:00Z
New Revision: e13c28ec595d99e694cb7e2589e7574dcda628ef
URL:
https://github.com/llvm/llvm-project/commit/e13c28ec595d99e694cb7e2589e7574dcda628ef
DIFF:
https://github.com/llvm/llvm-project/commit/e13c28ec595d99e694cb7e2589e7574dcda628ef.diff
LOG:
Author: Ilya Biryukov
Date: 2022-05-05T16:11:45Z
New Revision: 1e95d1bee63837cd40e6ea5ecc95eb8854ba8d21
URL:
https://github.com/llvm/llvm-project/commit/1e95d1bee63837cd40e6ea5ecc95eb8854ba8d21
DIFF:
https://github.com/llvm/llvm-project/commit/1e95d1bee63837cd40e6ea5ecc95eb8854ba8d21.diff
LOG:
Author: Ilya Biryukov
Date: 2022-07-25T14:43:38+02:00
New Revision: 59179d72b2e3d3b99ebc342374c9c797d526ac5d
URL:
https://github.com/llvm/llvm-project/commit/59179d72b2e3d3b99ebc342374c9c797d526ac5d
DIFF:
https://github.com/llvm/llvm-project/commit/59179d72b2e3d3b99ebc342374c9c797d526ac5d.diff
ilya-biryukov wrote:
The change seems to be correct in the way code is written.
However, I wonder what's the connection between the crash and the function
being changed? Is there a way to fail gracefully if there are more mistakes in
this function for incorrect code (e.g. fail deduction instea
ilya-biryukov wrote:
> This issue comes from a bug in the implementation where we missed to handle
> the template template parameter. The resulting crash is a manifestation of
> this problem.
Sure, that's obvious. I see that we access the vector by the template parameter
index and the access
ilya-biryukov wrote:
I just wanted to bring up that using `WhitespaceSensitiveMacros` here is a
little tricky because the macro name one would need to put there is `V` (the
name is taken directly from the code that hit this).
Having a more sophisticated option to say "parameter `V` of macro
`M
@@ -4842,7 +4842,7 @@ bool TokenAnnotator::spaceRequiredBefore(const
AnnotatedLine &Line,
return true;
}
if (Left.is(TT_UnaryOperator)) {
-if (Right.isNot(tok::l_paren)) {
+if (!Right.isOneOf(tok::r_paren, tok::l_paren, tok::exclaim)) {
ilya-bi
https://github.com/ilya-biryukov created
https://github.com/llvm/llvm-project/pull/80300
Fixes #80284.
Calling `getASTRecordLayout` on invalid types may crash and results of
`__datasizeof` on invalid types can be arbitrary, so just use whatever `sizeof`
returns.
>From beeedb29d4dd1213d754ccc
https://github.com/ilya-biryukov updated
https://github.com/llvm/llvm-project/pull/80300
>From beeedb29d4dd1213d754cccefaf52cd0658a92d3 Mon Sep 17 00:00:00 2001
From: Ilya Biryukov
Date: Thu, 1 Feb 2024 16:12:23 +0100
Subject: [PATCH] [Sema] Fix crash in __datasizeof with unknown types
Fixes #
https://github.com/ilya-biryukov closed
https://github.com/llvm/llvm-project/pull/80300
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilya-biryukov created
https://github.com/llvm/llvm-project/pull/79875
Particular example that lead to this is a very long chain of `UsingShadowDecl`s
that we hit in our codebase in generated code.
To avoid that, check for stack exhaustion when deserializing the declaration.
https://github.com/ilya-biryukov edited
https://github.com/llvm/llvm-project/pull/79875
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilya-biryukov commented:
I think the alternative we could try to chase is turning the chain of
using-shadow-decls into an array somehow, so we can process it in a loop
instead of recursion.
I am not sure if there is an an approach that does **not** involve structural
change
@@ -0,0 +1,43 @@
+// RUN: rm -rf %t
+// RUN: mkdir -p %t
+// RUN: split-file %s %t
+
+// RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/usings.cppm -o
%t/usings.pcm
+// RUN: %clang_cc1 -std=c++20 -fmodule-file=usings=%t/usings.pcm %t/use.cpp
-verify -fsyntax-only -Wno-stac
@@ -0,0 +1,43 @@
+// RUN: rm -rf %t
+// RUN: mkdir -p %t
+// RUN: split-file %s %t
+
+// RUN: %clang_cc1 -std=c++20 -emit-module-interface %t/usings.cppm -o
%t/usings.pcm
+// RUN: %clang_cc1 -std=c++20 -fmodule-file=usings=%t/usings.pcm %t/use.cpp
-verify -fsyntax-only -Wno-stac
ilya-biryukov wrote:
> Could you show the stack (omitting/annotating the repeated part) that leads
> to failure? and/or the AST shape that leads to failure?
See the test I added. All you need is ~10k overloads of a method in a class and
a `using Base::func` in the derived class.\
The AST repre
@@ -4099,7 +4099,9 @@ Decl *ASTReader::ReadDeclRecord(DeclID ID) {
// calls to Decl::getASTContext() by Decl's methods will find the
// TranslationUnitDecl without crashing.
D->setDeclContext(Context.getTranslationUnitDecl());
- Reader.Visit(D);
+
+ // Reading some decl
ilya-biryukov wrote:
> To make this testable, maybe we can refactor
> `clang::runWithSufficientStackSpace` a little bit to make `DesiredStackSize`
> and `isStackNearlyExhausted::SufficientStack` configurable.
Maybe... As long as we only use this in tests.
However, for this particular case, we
@@ -324,6 +324,113 @@ bool x = X() == X(); // expected-warning {{ambiguous}}
}
} // namespace P2468R2
+namespace GH53954{
+namespace friend_template_1 {
+struct P {
+ template
+ friend bool operator==(const P&, const T&) { return true; } // expected-note
{{candidate}} \
+
https://github.com/ilya-biryukov edited
https://github.com/llvm/llvm-project/pull/72213
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
https://github.com/ilya-biryukov approved this pull request.
I only have minor requests to add a new test and update the release note a bit.
Otherwise LGMT
https://github.com/llvm/llvm-project/pull/72213
___
cfe-commits mailing list
cfe-commits@lists.l
@@ -37,6 +37,27 @@ These changes are ones which we think may surprise users
when upgrading to
Clang |release| because of the opportunity they pose for disruption to existing
code bases.
+- Fix a bug in reversed argument for templated operators.
+ This breaks code in C++20 wh
@@ -10088,9 +10088,13 @@ static bool allowAmbiguity(ASTContext &Context, const
FunctionDecl *F1,
const FunctionDecl *F2) {
if (declaresSameEntity(F1, F2))
return true;
- if (F1->isTemplateInstantiation() && F2->isTemplateInstantiation() &&
-
https://github.com/ilya-biryukov updated
https://github.com/llvm/llvm-project/pull/76804
>From d8598a382fb1496a96d6ff8317c06cf73606ad84 Mon Sep 17 00:00:00 2001
From: Ilya Biryukov
Date: Wed, 3 Jan 2024 11:07:17 +0100
Subject: [PATCH 1/3] [Format] Fix isStartOfName to recognize attributes
This
https://github.com/ilya-biryukov updated
https://github.com/llvm/llvm-project/pull/76804
>From d8598a382fb1496a96d6ff8317c06cf73606ad84 Mon Sep 17 00:00:00 2001
From: Ilya Biryukov
Date: Wed, 3 Jan 2024 11:07:17 +0100
Subject: [PATCH 1/4] [Format] Fix isStartOfName to recognize attributes
This
@@ -1698,8 +1698,6 @@ FormatStyle getGoogleStyle(FormatStyle::LanguageKind
Language) {
/*BasedOnStyle=*/"google",
},
};
- GoogleStyle.AttributeMacros.push_back("GUARDED_BY");
ilya-biryukov wrote:
I think we should postpone the inclusion of
ilya-biryukov wrote:
@owenca, @HazardyKnusperkeks could you please take another look and approve if
this looks good to you?
I believe all comments should be addressed at this point.
https://github.com/llvm/llvm-project/pull/76804
___
cfe-commits maili
https://github.com/ilya-biryukov updated
https://github.com/llvm/llvm-project/pull/76804
>From d8598a382fb1496a96d6ff8317c06cf73606ad84 Mon Sep 17 00:00:00 2001
From: Ilya Biryukov
Date: Wed, 3 Jan 2024 11:07:17 +0100
Subject: [PATCH 1/4] [Format] Fix isStartOfName to recognize attributes
This
https://github.com/ilya-biryukov closed
https://github.com/llvm/llvm-project/pull/76804
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
ilya-biryukov wrote:
> Can you provide more context for this?
I believe this is a follow-up to #77311.
https://github.com/llvm/llvm-project/pull/77465
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/list
https://github.com/ilya-biryukov approved this pull request.
Approve from my side too, but please make sure to apply suggestion from
@cor3ntin and clang-format before submitting.
https://github.com/llvm/llvm-project/pull/77465
___
cfe-commits mailing
ilya-biryukov wrote:
> @ilya-biryukov any chance you/your folks could test this change for
> performance implications in google? It's especially helpful to CERN, but the
> last iteration of this direction had some regressions that stalled out
> progress on that version a few years ago, so it'd
@@ -816,6 +816,18 @@ TEST_F(TokenBufferTest, SpelledByExpanded) {
EXPECT_EQ(Buffer.spelledForExpanded(findExpanded("prev good")),
std::nullopt);
}
+TEST_F(TokenBufferTest, NoCrashForEofToken) {
+ recordTokens(R"cpp(
+int main() {
+ )cpp");
+ // Calling spelledForExpa
https://github.com/ilya-biryukov approved this pull request.
Thanks, LGTM! I only have a minor (and optional) suggestion.
https://github.com/llvm/llvm-project/pull/78092
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi
https://github.com/ilya-biryukov edited
https://github.com/llvm/llvm-project/pull/78092
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
@@ -7575,15 +7577,27 @@ static void
visitLifetimeBoundArguments(IndirectLocalPath &Path, Expr *Call,
Path.pop_back();
};
- if (ObjectArg && implicitObjectParamIsLifetimeBound(Callee))
-VisitLifetimeBoundArg(Callee, ObjectArg);
-
bool CheckCoroCall = false;
if
@@ -4842,7 +4842,7 @@ bool TokenAnnotator::spaceRequiredBefore(const
AnnotatedLine &Line,
return true;
}
if (Left.is(TT_UnaryOperator)) {
-if (Right.isNot(tok::l_paren)) {
+if (!Right.isOneOf(tok::r_paren, tok::l_paren, tok::exclaim)) {
ilya-bi
@@ -7575,15 +7577,27 @@ static void
visitLifetimeBoundArguments(IndirectLocalPath &Path, Expr *Call,
Path.pop_back();
};
- if (ObjectArg && implicitObjectParamIsLifetimeBound(Callee))
-VisitLifetimeBoundArg(Callee, ObjectArg);
-
bool CheckCoroCall = false;
if
@@ -15845,8 +15845,10 @@ void Sema::CheckCoroutineWrapper(FunctionDecl *FD) {
RecordDecl *RD = FD->getReturnType()->getAsRecordDecl();
if (!RD || !RD->getUnderlyingDecl()->hasAttr())
return;
- // Allow `get_return_object()`.
- if (FD->getDeclName().isIdentifier() &&
+
@@ -15845,8 +15845,10 @@ void Sema::CheckCoroutineWrapper(FunctionDecl *FD) {
RecordDecl *RD = FD->getReturnType()->getAsRecordDecl();
if (!RD || !RD->getUnderlyingDecl()->hasAttr())
return;
- // Allow `get_return_object()`.
- if (FD->getDeclName().isIdentifier() &&
+
https://github.com/ilya-biryukov approved this pull request.
I'm ok with the changes, but I left a suggestion about naming the function that
I think we should follow.
https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-com
https://github.com/ilya-biryukov edited
https://github.com/llvm/llvm-project/pull/77066
___
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
501 - 600 of 1434 matches
Mail list logo