[PATCH] D139717: Revert "[Driver] Remove Joined -X"

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 15 00:14:43 PST 2022


MaskRay added a comment.

In D139717#3991765 <https://reviews.llvm.org/D139717#3991765>, @rsundahl wrote:

> In D139717#3987963 <https://reviews.llvm.org/D139717#3987963>, @MaskRay wrote:
>
>>> This change is breaking internal builds. We use the -Xfoo pattern but can now no longer manage whether we allow an unused -Xfoo option to pass as a warning or promote it to an error.
>>
>> Which `-Xfoo` is used? Do your internal builds reserve `-Xfoo` as a placeholder to do other non-upstream work? Then you can consider `-Gfoo` if your builds don't need the mips semantics.
>
> We use -Xparser

There are two cases.
First, your downstream projects incorrectly pass a previously-ignored `-Xparser`. Then it seems the right call is to remove it.
Second, there are many projects doing `-Xparser` and it was intentionally ignored. Another program would analyze `-Xparser`.

For the second case, we can add an ignored `Flag` called `-Xparser`, with a comment which tool uses it.
We should not call it `IgnoreGCCCompat` as GCC doesn't recognize `-Xparser`.

>> Is it possible to clean up the previously-ignored-with-a-warning `-Xfoo`?
>
> Possibly. Maybe preferably. Builds are breaking now though. Dependent projects would have to be notified and changes scheduled. Was there a diff that we should have been part of? It looks like at least two of us are surprised with downstream consequences.

See the previous paragraph. And we need a clang/test/Driver test to catch accidental removal from other contributors.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D139717/new/

https://reviews.llvm.org/D139717



More information about the cfe-commits mailing list