[clang] [llvm] [SystemZ][z/OS] Add options -m[no-]zos-ppa1-name to remove the function name in PPA1. (PR #207416)
Ulrich Weigand via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 7 04:48:13 PDT 2026
================
@@ -2193,6 +2198,16 @@ bool CompilerInvocation::ParseCodeGenArgs(CodeGenOptions &Opts, ArgList &Args,
<< A->getSpelling() << T.str();
}
+ if (T.isOSzOS()) {
+ if (const Arg *A =
+ Args.getLastArg(OPT_mzos_ppa1_name, OPT_mno_zos_ppa1_name)) {
+ if (A->getOption().matches(OPT_mzos_ppa1_name))
+ Opts.setZOSPPA1Name(CodeGenOptions::ZOSPPA1NameKind::Emit);
+ else
+ Opts.setZOSPPA1Name(CodeGenOptions::ZOSPPA1NameKind::NoEmit);
+ }
+ }
----------------
uweigand wrote:
I'm not really an expert in this part of the front end, but the internals manual seems to discourage this type of "manual" marshalling:
https://clang.llvm.org/docs/InternalsManual.html#adding-new-command-line-option
```
In case the marshalling infrastructure does not support the desired semantics,
consider simplifying it to fit the existing model. This makes the command line
more uniform and reduces the amount of custom, manually written code.
Remember that the -cc1 command line interface is intended only for Clang
developers, meaning it does not need to mirror the driver interface, maintain
backward compatibility or be compatible with GCC.
```
Maybe this is something to think about?
https://github.com/llvm/llvm-project/pull/207416
More information about the cfe-commits
mailing list