YottaDB / YDB

Mirrored from https://gitlab.com/YottaDB/DB/YDB
Other
76 stars 37 forks source link

[#315] ZCOMPILE should not issue warnings if $ZCOMPILE is set to "-nowarnings" #316

Closed nars1 closed 6 years ago

nars1 commented 6 years ago

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.