How to handle clashes between options for different front ends?

Manuel López-Ibáñez
Sun Feb 3 16:44:00 GMT 2013

> If the scripts are generating incorrect options.c, are they taking
> lang-specs.h files into account or is this purely lang.opt (and/or
> whatever else feeds the awk scripts) that is at fault? There may be new
> things to do in lang.opt for example.

Options are global to the compiler (there is only one cl_options structure), so
different FEs can share the same option as long as the options have identical
properties, including documentation (although the internal behaviour may
differ). For "-P", the Fortran FE will report with --help  the documentation of
the C FE.

> ----------------------------------------------------------------------
> -no-line-commandsC ObjC C++ ObjC++ Alias(P)
> -no-line-commandsFortran Alias(P)
> ...
> PC ObjC C++ ObjC++Do not generate #line directives
> PFortran
> Pvhdl Joined-P<dir>	Add <dir> to the end of the vhdl library path
> ----------------------------------------------------------------------

Here, the vhdl FE is smashing the documentation and properties of the -P in
other FEs. I think in GCC 4.8, this is detected and an error or warning emitted
when building. If not, please file a bug.

Ideally, GCC should have FE-specific cl_option structures, so each FE will only
see their own cl_option and the common one. Unfortunately, there is no one
working on it and I don't think there will be in the near future. 

GCC needs help. If you are interested in making this work, please volunteer to
make it happen.



More information about the Gcc-help mailing list