op_zcompile and gtm_compile call zl_cmd_qlf() twice. Once to set the compilation
flags based on $ZCOMPILE (derived from env vars ydb_compile/gtmcompile) and again to set
the compilation flags based on what has been explicitly specified by the user (in the
ZCOMPILE command line or the MUMPS command line). The second invocation of zl_cmd_qlf()
is supposed to override any conflicting flags specified in the previous invocation.
But for the WARNINGS case, get_cmd_qlf() was checking if -NOWARNINGS was specified and
if so negating the corresponding flag (~CQ_WARNINGS) but in the else case it was
not checking if -WARNINGS was explicitly specified. It was setting the warning flag
to CQ_WARNINGS even if -WARNINGS was not explicitly specified. This meant that the
-NOWARNINGS specified in $ZCOMPILE was incorrectly overridden by the lack of a -NOWARNINGS
in the command line specification. This is now fixed to check if any explicit specification
is done in the command line (cli_present("WARNINGS")) and only in that case is the override
done. This seems to be a day-one issue in that it exists from at least GT.M V4.2-002.
op_zcompile and gtm_compile call zl_cmd_qlf() twice. Once to set the compilation flags based on $ZCOMPILE (derived from env vars ydb_compile/gtmcompile) and again to set the compilation flags based on what has been explicitly specified by the user (in the ZCOMPILE command line or the MUMPS command line). The second invocation of zl_cmd_qlf() is supposed to override any conflicting flags specified in the previous invocation. But for the WARNINGS case, get_cmd_qlf() was checking if -NOWARNINGS was specified and if so negating the corresponding flag (~CQ_WARNINGS) but in the else case it was not checking if -WARNINGS was explicitly specified. It was setting the warning flag to CQ_WARNINGS even if -WARNINGS was not explicitly specified. This meant that the -NOWARNINGS specified in $ZCOMPILE was incorrectly overridden by the lack of a -NOWARNINGS in the command line specification. This is now fixed to check if any explicit specification is done in the command line (cli_present("WARNINGS")) and only in that case is the override done. This seems to be a day-one issue in that it exists from at least GT.M V4.2-002.