On 12/6/22 16:03, David Blaikie wrote:
Over in https://reviews.llvm.org/D137059 we're discussing the naming
of a clang flag - would be good to have it be consistent with GCC.

The functionality is to name the BMI (.pcm in Clang's parlance) output
file when compiling a C++20 module.

Current proposal is to use `-fsave-std-cxx-module-file=` which is
certainly precise, but maybe a bit verbose. Clang has some other flags
related to modules that skip the std/cxx parts, and are just
`-fmodule-*` or `-fmodules-*`, so there's some precedent for that too.

Do GCC folks have any veto votes (is the currently proposed name
especially objectionable/wouldn't be acceptable in GCC) or preferences
(suggestions to add to the pool)?

I think the suggested option name is problematic for a number of additional 
reasons:

1) 'save' -- does it *cause* the bmi to be saved, or is that actually controlled by other options? (I suspect the latter)

2) 'std' -- why is this there. There's only one C++ std, with different variants thereof being temporally selectable.

3) 'cxx' -- why not 'c++'? Let's not let this transliteration of + to x get into the options -- it hasn't in '-std=c++20' for example.

Might I suggest something more like '-fmodule-output='? That collates nicely with other -fmodule-$FOO options, and the 'output' part is similar to the mnemonic '-o' for the regular output file naming. (Incidentally, as clang treats the BMI as a step in the compilation pipeline, what do you do if you just want compilation to produce the BMI and no assembly artifact? Does '-o' name the BMI in that case?)

nathan

--
Nathan Sidwell

Reply via email to