davide added a comment.

In D140224#4014256 <https://reviews.llvm.org/D140224#4014256>, @MaskRay wrote:

> In D140224#4014243 <https://reviews.llvm.org/D140224#4014243>, @rsundahl 
> wrote:
>
>>> I'll reject [-\Xparser for a while as well. This is a valid amendment to 
>>> D139717 <https://reviews.llvm.org/D139717> , so I don't think it needs more 
>>> approval.
>>
>> We have projects that are failing because of -Xlinker and I'm not too 
>> excited about walking through every project we have to find more examples. 
>> Can we please have a reprieve on deprecating this until every project in the 
>> world that uses these flags that have existed for a very long time can have 
>> a chance to at least get timely notification? Why is this any different than 
>> anything else that gets deprecated?
>
> Thank you for your reply! If there are more issues 
> -Xlinker/-Xparser/-Xcctests, ok, I think I'm fine with a Joined -X, but 
> ideally we can figure out a way to apply that only to Apple platforms.
>
> (FWIW I feel sad when I made valid objection to D139717 
> <https://reviews.llvm.org/D139717>, but that patch landed very soon after 
> your colleague approved it, leaving me no time to object.
> My other objection included the insufficient commit message `-Xfoo` instead 
> of what's actually used, `internal builds` which seems to hint an internal 
> workaround, where the tests are located)

It's not an internal workaround.

In D140224#4014291 <https://reviews.llvm.org/D140224#4014291>, @MaskRay wrote:

> In D140224#4014246 <https://reviews.llvm.org/D140224#4014246>, @davide wrote:
>
>> In D140224#4014245 <https://reviews.llvm.org/D140224#4014245>, @MaskRay 
>> wrote:
>>
>>> In D140224#4014234 <https://reviews.llvm.org/D140224#4014234>, @davide 
>>> wrote:
>>>
>>>> In D140224#4014230 <https://reviews.llvm.org/D140224#4014230>, @MaskRay 
>>>> wrote:
>>>>
>>>>> In D140224#4014203 <https://reviews.llvm.org/D140224#4014203>, @davide 
>>>>> wrote:
>>>>>
>>>>>> @MaskRay Roy hasn't replied. We found other spellings that break (e.g. 
>>>>>> `-Xcctests` or something). Revert this patch until we find an agreement.
>>>>>
>>>>> D139717 <https://reviews.llvm.org/D139717> (this patch reverts) was 
>>>>> pushed when I made valid comments which were ignored. I did not complain 
>>>>> for that.
>>>>>
>>>>> I don't mind if you work around `-Xcctests` in a similar way.
>>>>
>>>> Working around 3 cases creates more complexity than it fixes.
>>>> We're also not providing a deprecation path for users. This needs to be 
>>>> discussed more thoroughly. I'll go ahead and revert to the previous status.
>>>>
>>>> Thanks.
>>>
>>> Have you seen https://reviews.llvm.org/D139717#4001712 I have analyzed that 
>>> such `-X*` has `-Wunused-command-line-argument` warning for many many years.
>>> I'm not sure how is considered insufficient.
>>>
>>> "Working around 3 cases creates more complexity than it fixes." the number 
>>> isn't that high. By enumerating the misuse, we have a valid path to remove 
>>> all workarounds as misuses are fixed.
>>> This made some forward progress.
>>
>> You can't just remove options willy-nilly. This is not how drivers work. The 
>> warning says "unused", it doesn't say "it goes away".
>> If we want to provide a path forward, we first need to reinstate this, then 
>> change the warning, then remove (in 1 year or something).
>> That's how transitions work.
>>
>> HTH.
>
> I almost agree with you, but only for actually-used options which do real 
> work instead of ignored options.
> If it is pure compatibility option, I wish that there is public references 
> instead of pure internal build uses.
> For Joined `-X` I am unsure I want to take your opinion.
>
> Neither sourcegraph nor search/Debian Code Search shows anything about 
> `-Xcctests`.

Debian code search and source graphs aren't the universe. There's a lot of code 
in the world that doesn't get published for a variety of reasons.
The gain of this change is very little compared to the pain introduced. Let's 
give people a window where they can transition, then screw them over. not the 
other way around.

Best,

-

D

> Separate `-Xlinker ` still exists: not removed by this patch. `-Xlinker=` is 
> invalid. Note that many references on a code search website reveal libtool 
> uses instead of compiler driver uses.
> If your internal build uses many `-X*` forms, I am fine with ignoring them. 
> If there are so many that you want to ignore `-X*`, I think I am fine as 
> well, but ideally restricted to Apple platforms (ideally show some external 
> usage examples).




Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140224

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to