rjmccall added a comment.

In D124435#3701163 <https://reviews.llvm.org/D124435#3701163>, @jyknight wrote:

> In D124435#3697259 <https://reviews.llvm.org/D124435#3697259>, @rjmccall 
> wrote:
>
>> I know what you're saying, but I don't think it matches any model of how 
>> programmers use command line flags.  You're imagining that a programmer sits 
>> down and considers all of their flags deeply and holistically before 
>> touching any of them, and that's just not how these things go in actual 
>> build systems.  Flags have a tendency to be set in separate places and 
>> therefore to drift.  Someone setting this option is doing it because they 
>> have a concrete compatibility need, and the flag going from meaning "be 
>> compatible with GCC" to meaning "be compatible with old Clangs" based on the 
>> value of a separate flag is surprising and likely to cause bugs.
>
> Funny, my argument is based precisely on the fact that people _don't_ 
> understand deeply what things are doing, and that the original proposal is 
> likely to trigger bugs via mistakes in its usage!
>
> The default (`-mconservative-small-integer-abi`) is "be compatible with all 
> Clang and GCC versions" -- it "just works". (I think everyone agrees upon 
> that being the default.)
>
> So, the use-case for `-mconservative-small-integer-abi` is not a need for 
> compatibility but rather a need for performance/code-size overriding 
> cross-compiler compatibility concerns. In that case, the user better be able 
> to answer "what other compiler/version do you need to be compatible with, if 
> any?" -- and set -fclang-abi-compat flag appropriately based on that answer.
>
> That seems much easier thing to explain to a user than the details of where 
> exactly extension may/must happen in the call ABI.

I'm not arguing that we shouldn't work `-fclang-abi-compat` into this; I think 
that is a very good idea.  And for many people, that'll be all they need.  My 
concern is about the people who do add `-mno-conservative-small-integer-abi` to 
their builds.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D124435

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

Reply via email to