[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. In D91913#2526866 , @dmajor wrote: > If I'm reading git correctly, the change is still present on the 12.x branch. > Should it be reverted there too? I could have sworn that I saw it already reverted on the 12.x branch too, but I

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread dmajor via Phabricator via cfe-commits
dmajor added a comment. If I'm reading git correctly, the change is still present on the 12.x branch. Should it be reverted there too? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91913/new/ https://reviews.llvm.org/D91913 __

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. In D91913#2526403 , @rnk wrote: > Anyway, I apologize for the misunderstanding. I'm doing my best to operate in > good faith with LLVM project policies. Hopefully you feel that you have a > path forward here. Thank you, I appreci

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. In D91913#2526317 , @hvdijk wrote: > In D91913#2526117 , @rsmith wrote: > >> I think @rnk's observation that `__VA_OPT__` isn't actually available in any >> compilation mode other than C++20

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. In D91913#2526317 , @hvdijk wrote: > My concern isn't with the revert itself, it's without waiting for approval. > That's a crystal clear LLVM developer policy violation: changes need to be > approved, or obvious, or by developers re

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. OK, thanks for the direction. We'll try to port code to use the device you listed. I see you think we need a new warning for this, a clang 12 release note, and then this can reland. @hvdijk , that plan looks good to me, and I'll let you and Richard sort it out. I don't pla

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. In D91913#2526117 , @rsmith wrote: > I think @rnk's observation that `__VA_OPT__` isn't actually available in any > compilation mode other than C++20 (which I hadn't previously realized) is > important here: we'd left longstanding

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. In D91913#2526255 , @rnk wrote: > In D91913#2525993 , @hvdijk wrote: > >> @rnk Taking it upon yourself to revert this without approval and without >> communication on all branches, especiall

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. In D91913#2525993 , @hvdijk wrote: > @rnk Taking it upon yourself to revert this without approval and without > communication on all branches, especially given the earlier suggestion by > @rsmith to only revert this on the LLVM 12 br

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. rG0436ec2128c9775ba13b0308937238fc79673fdd enables `__VA_OPT__` across language modes and allows support for it to be detected by `#ifdef`. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST A

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. In D91913#2525993 , @hvdijk wrote: > @rnk Taking it upon yourself to revert this without approval and without > communication on all branches, especially given the earlier suggestion by > @rsmith to only revert this on the LLVM 12

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-27 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. @rnk Taking it upon yourself to revert this without approval and without communication on all branches, especially given the earlier suggestion by @rsmith to only revert this on the LLVM 12 branch, is an abuse of your commit privileges as far as I am concerned. Reposit

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-26 Thread Reid Kleckner via Phabricator via cfe-commits
rnk added a comment. We need a solution to our problem in the short term, though: there must be a code pattern that can be used in -std=c++14 modes to accomplish what the `, ## __VA_ARGS__` code pattern accomplishes with GCC extensions. As of right now, my understanding is that `__VA_OPT__` is

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-26 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. Restoring the old behaviour for LLVM 12 may or may not help the Chrome/Chromium people: if they also regularly build with clang from git, they would need to handle this change anyway. However, if it does help, then it sounds like a good idea to me. > So we should be wor

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith added a comment. In D91913#2521031 , @thakis wrote: > In D91913#2520503 , @hvdijk wrote: > >> Chrome `-std=c++*` when building with clang, but `-std=gnu++*` when building >> with GCC for exactly this reason,

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread dmajor via Phabricator via cfe-commits
dmajor added a comment. Our bots are green at b43c26d036dc . Many thanks @hvdijk for the quick response. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91913/new/ https://reviews

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. In D91913#2521031 , @thakis wrote: > We (and every other project out there) needs some incremental rollout plan > for this. Cut the hyperbole please, this change does not affect "every other project out there". This change makes

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread Nico Weber via Phabricator via cfe-commits
thakis added a comment. In D91913#2520503 , @hvdijk wrote: > In D91913#2520432 , @zequanwu wrote: > >> In D91913#2520414 , @hvdijk wrote: >> >>> In D91913#2520399

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. In D91913#2520432 , @zequanwu wrote: > In D91913#2520414 , @hvdijk wrote: > >> In D91913#2520399 , @zequanwu wrote: >> >>> This change also breaks man

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread Zequan Wu via Phabricator via cfe-commits
zequanwu added a comment. In D91913#2520414 , @hvdijk wrote: > In D91913#2520399 , @zequanwu wrote: > >> This change also breaks many chrome ToT bots(not just windows bot), example >> build: >> https://ci.chromium

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. In D91913#2520399 , @zequanwu wrote: > This change also breaks many chrome ToT bots(not just windows bot), example > build: > https://ci.chromium.org/ui/p/chrome/builders/ci/ToTLinuxOfficial/10524/steps?succeeded=true&debug=false

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread Zequan Wu via Phabricator via cfe-commits
zequanwu added a comment. This change also breaks many chrome ToT bots(not just windows bot), example build: https://ci.chromium.org/ui/p/chrome/builders/ci/ToTLinuxOfficial/10524/steps?succeeded=true&debug=false Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://review

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. Okay, GCC enables the standards-mandated behaviour with `-std=c++17 -fms-extensions` as well, but GCC doesn't have any `-fms-compatibility` option to compare. It makes sense to me for `clang -std=c++17 -fms-compatibility` to match MSVC, and MSVC supports this GCC extensi

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread dmajor via Phabricator via cfe-commits
dmajor added a comment. On closer inspection (sorry, I'm juggling too many things this morning) it seems gcc does give a matching `int nArgs = 1` under `-std=c++17` mode. So potentially the user code is wrong? One thing that puzzles me is why this only broke on our Windows bots. I am not clear

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread dmajor via Phabricator via cfe-commits
dmajor added a comment. The bot that reported this failure was using: `clang -cc1 -triple x86_64-pc-windows-msvc19.16.27038 -fms-extensions -fms-compatibility -fms-compatibility-version=19.16.27038 -std=c++17` Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.l

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. In D91913#2520244 , @dmajor wrote: > We have a downstream build break due to this commit. One of our files has > some convoluted arg-counting logic that now returns a different count, which > does not match gcc: https://godbolt.or

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-25 Thread dmajor via Phabricator via cfe-commits
dmajor added a comment. We have a downstream build break due to this commit. One of our files has some convoluted arg-counting logic that now returns a different count, which does not match gcc: https://godbolt.org/z/W8caMr (Note: At time of writing, the clang trunk on godbolt doesn't yet have

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-24 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. In D91913#2518448 , @rsmith wrote: > Looks like this change matches the behavior of GCC all the way back to at > least GCC 4.1. Yes, it's worked this way in GCC ever since it was first introduced back when 3.3 was in development:

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-24 Thread Harald van Dijk via Phabricator via cfe-commits
This revision was landed with ongoing or failed builds. This revision was automatically updated to reflect the committed changes. Closed by commit rGf4537935dcdb: Suppress non-conforming GNU paste extension in all standard-conforming modes (authored by hvdijk). Repository: rG LLVM Github Monore

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-24 Thread Richard Smith - zygoloid via Phabricator via cfe-commits
rsmith accepted this revision. rsmith added a comment. This revision is now accepted and ready to land. Looks like this change matches the behavior of GCC all the way back to at least GCC 4.1. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91913/new

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-24 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. Ping 4 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91913/new/ https://reviews.llvm.org/D91913 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2021-01-11 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. Ping 3 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91913/new/ https://reviews.llvm.org/D91913 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2020-12-21 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. Ping 2 Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91913/new/ https://reviews.llvm.org/D91913 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2020-12-06 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. Ping Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D91913/new/ https://reviews.llvm.org/D91913 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bi

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2020-11-21 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk added a comment. In D91913#2409688 , @lebedev.ri wrote: > Then the comment needs to be fixed too i would think? It's the comment right above the code that I changed; I did fix that too. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST AC

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2020-11-21 Thread Roman Lebedev via Phabricator via cfe-commits
lebedev.ri added a comment. > The associated comment suggested that GCC keeps this extension enabled in > C90/C++03 standard-conforming mode, but it actually does not, so rather than > adding a check for C++ language version, this change simply removes the check > for C language version. Then

[PATCH] D91913: Suppress non-conforming GNU paste extension in all standard-conforming modes

2020-11-21 Thread Harald van Dijk via Phabricator via cfe-commits
hvdijk created this revision. hvdijk added a reviewer: rsmith. hvdijk added a project: clang. Herald added a subscriber: cfe-commits. hvdijk requested review of this revision. The GNU token paste extension that removes the comma in , ## __VA_ARGS__ conflicts with C99/C++11's requirements when a v