tahonermann added inline comments.

================
Comment at: clang/docs/ClangCommandLineReference.rst:1183-1185
+.. option:: -fmodule-header=\[user,system\]
+
+Build a C++20 header unit, but search for the header in the user or system 
header search paths respectively.
----------------
iains wrote:
> iains wrote:
> > tahonermann wrote:
> > > Are "user" and "system" the right terms to use here? Existing options 
> > > aren't all that consistent. Some examples from `Options.td`:
> > >   def MD : Flag<["-"], "MD">, Group<M_Group>,
> > >       HelpText<"Write a depfile containing user and system headers">;
> > >   def MMD : Flag<["-"], "MMD">, Group<M_Group>,
> > >       HelpText<"Write a depfile containing user headers">;
> > >   ...
> > >   def iquote : JoinedOrSeparate<["-"], "iquote">, Group<clang_i_Group>, 
> > > Flags<[CC1Option]>,
> > >     HelpText<"Add directory to QUOTE include search path">, 
> > > MetaVarName<"<directory>">;
> > >   def isystem : JoinedOrSeparate<["-"], "isystem">, Group<clang_i_Group>,
> > >     Flags<[CC1Option]>,
> > >     HelpText<"Add directory to SYSTEM include search path">, 
> > > MetaVarName<"<directory>">;
> > > 
> > > For comparison, the related MSVC options (also present in `Options.td`) 
> > > are:
> > >   def _SLASH_headerUnitAngle : CLJoinedOrSeparate<"headerUnit:angle">;
> > >   def _SLASH_headerUnitQuote : CLJoinedOrSeparate<"headerUnit:quote">;
> > > 
> > > Should there be a "both" or "any" option so that the search considers all 
> > > include paths as opposed to just user OR system?
> > > Are "user" and "system" the right terms to use here? Existing options 
> > > aren't all that consistent. Some examples from `Options.td`:
> > >   def MD : Flag<["-"], "MD">, Group<M_Group>,
> > >       HelpText<"Write a depfile containing user and system headers">;
> > >   def MMD : Flag<["-"], "MMD">, Group<M_Group>,
> > >       HelpText<"Write a depfile containing user headers">;
> > >   ...
> > >   def iquote : JoinedOrSeparate<["-"], "iquote">, Group<clang_i_Group>, 
> > > Flags<[CC1Option]>,
> > >     HelpText<"Add directory to QUOTE include search path">, 
> > > MetaVarName<"<directory>">;
> > >   def isystem : JoinedOrSeparate<["-"], "isystem">, Group<clang_i_Group>,
> > >     Flags<[CC1Option]>,
> > >     HelpText<"Add directory to SYSTEM include search path">, 
> > > MetaVarName<"<directory>">;
> > > 
> > > For comparison, the related MSVC options (also present in `Options.td`) 
> > > are:
> > >   def _SLASH_headerUnitAngle : CLJoinedOrSeparate<"headerUnit:angle">;
> > >   def _SLASH_headerUnitQuote : CLJoinedOrSeparate<"headerUnit:quote">;
> > > 
> > > Should there be a "both" or "any" option so that the search considers all 
> > > include paths as opposed to just user OR system?
> > 
> > 
> At this time, the objective was to be command-line-option compatible with the 
> existing GCC implementation.  There is a goal to minimise difference in 
> interfaces presented to the user (and build systems).
> 
> Given that the latter [GCC] is already "in the wild", if we wanted 
> terminology-compatibility with MSVC, we could add aliases (to both), I 
> suppose.  I have no axe to grind here - if folks form a consensus that we 
> could have better terminology, I'm happy to add the aliases etc. 
> 
> There is also -fmodule-header ... which means "find the header at the path 
> specified" which can either be 'absolute' (i.e. /xxxx on unix-y systems) or 
> relative to CWD,
> 
> I'm not sure about 'both' or 'any' in the sense of how that would relate to 
> the existing behaviour of header searches (the mechanisms for substituting 
> HUs for textual headers assume that the searches are done with the same 
> process as for the textual).  
> 
> Hopefully, that expresses the intent of the current landed work - that is not 
> to say that the story ends here, but that probably there are other features 
> we want to complete before fine-tuning this.
Ah, I didn't realize gcc already implemented these options. I agree 
compatibility with it is the more important goal. Looks good to me.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D121589

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

Reply via email to