ChuanqiXu added a comment.

> so I can appreciate the -fsave-std-c++-module-file name here, but it does 
> sound a bit verbose?

My thought is the option is mainly used by build systems so that the users 
wouldn't type it frequently. In this case, I feel it might not be bad to make 
it a little bit redundant. Someone's redundancy is another's readability : )

> Hmm, I don't mind that too much (& as you say, '-fobject-only' - though that 
> flag is maybe too vague?) - but it does mean we'd need a separate flag to 
> name the .pcm output file, because that flag ('-fmodule-only') wouldn't be 
> present in all cases where the pcm is generated, only when it's 
> pcm-but-no-object. Maybe less "exclusionary" flag names and more explicit 
> (like '-fbuild-the-binary-module' and '-fbuild-the-object'). I guess most C++ 
> GCC options ( https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html ) don't 
> include "C++" in them, but the modules ones mostly include "module".

If this paragraph only talks about the GCC?

> We could get out in front, planning for the world in which BMIs are really 
> only the interface (& whatever else we want to carry for optimizing /use/ of 
> that interface, but not complete enough to be usable for generating the 
> modules object) and use -fmodule-interface[=] (skipping the 'binary' part) 
> and -fmodule-implementation or -fmodule-object (which could go either way - 
> default on or off, but provide -fno-module-object to do the "generate PCM 
> only")?

For clang, I would like to add `c++` in the option name since users are really 
easy to  get confused with the existing clang modules. I've met many such 
cases. And for the proposal it self, I feel it is complex and hard to 
understand.

>> GCC has "-fmodule-only" for which I have a patch (also unpublished) that 
>> aliases that to --precompile in the driver.

This idea sounds good to me. But I would like to suggest to change the name to 
`-fc++-module-interface-only`. Due to the same reason above. The name 
`-fmodule-only` is not clear especially in the context of clang now.

> Only other minor thing might be singular V plural - some of Clang's flags are 
> -fmodules and others are -fmodule - any sense of what's likely to work 
> better? (be nice to unify/standardize on one or the other, I can see having 
> variation there might make for frustrating usability trying to remember which 
> is which)

Yeah, sometimes it is frustrating. But I think we can't unify the existing 
options. It'd cause many breaking changes. And for `module` and `modules`, I 
prefer `module` a little more in practice.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D137058

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

Reply via email to