On Thu, Nov 13, 2025 at 11:33:41AM +0100, Richard Biener via Gcc wrote:
> Joined gets you -fexec-charebedic, if you want both
> -fexec-char ebedic and -fexec-char=ebedic to work you'd need
> to have both
> 
> fexec-char
> Separate
> 
> and
> 
> fexec-char=
> Joined
> 
> Possibly aliasing one to the other works, but I'm not sure with respect
> to the argument.  The C frontend has only the -fexec-charset= variant.

The Joined Separate exists, but is used for something like the I
option.
One can specify
-I/usr/include
or
-I /usr/include
and with
I
C ObjC C++ ObjC++ Joined Separate MissingArgError(missing path after %qs)
-I <dir>        Add <dir> to the end of the main include path.
if even complains if the argument is missing.

For -fexec-charset that would be
-fexec-charsetIBM1047
vs.
-fexec-charset IBM1047
if Joined Separate.  Joined Separate is never used for options ending with
=, that would be just weird,
-fexec-charset=IBM1047
(normal) but also
-fexec-charset= IBM1047
(undesirable).

Though, I wouldn't recommend it for new options.  It is fine for
the single/two letter options like -I or -MF or we have it on various
historic cases, like -idirafter, -include etc.
But e.g. with the Joined Separate e (i.e.
-e_start
or
-e _start
), you see the caused pain that options starting with e aren't possible
anymore.

        Jakub

Reply via email to