MERCURY_OPTIONS= gmake[3]: Entering directory '/home/mercury/testing/run/build/mercury-srcdist-rotd-2025-06-26/tests/warnings' { echo MCFLAGS += '--grade java --options-file /home/mercury/testing/run/build/mercury-srcdist-rotd-2025-06-26/stage2/Mercury.options --mercury-linkage static -j2 --flags ../TESTS_FLAGS --flags ../WS_FLAGS --output-compile-error-lines 0 --color-diagnostics --infer-all --use-subdirs '; echo MCFLAGS += ' '; echo CFLAGS += ' '; echo JAVACFLAGS += '-J"-Xmx1024m" '; echo CSCFLAGS += ' '; echo C2INITARGS += '/home/mercury/testing/run/build/mercury-srcdist-rotd-2025-06-26/stage2/library/mer_std.init /home/mercury/testing/run/build/mercury-srcdist-rotd-2025-06-26/stage2/runtime/mer_rt.init '; echo MLLIBS += ' '; echo MLOBJS += ' '; echo LDFLAGS += ' '; echo LD_LIBFLAGS += ' '; echo EXTRA_LIBRARIES += ''; echo EXTRA_LIB_DIRS += ''; echo LIBGRADES = 'hlc.gc '; echo INSTALL_PREFIX = '/home/mercury/testing/run/install'; echo LINKAGE = 'shared'; echo MERCURY_LINKAGE = 'shared'; } | /home/mercury/testing/run/build/mercury-srcdist-rotd-2025-06-26/stage2/scripts/mmc --make --options-file - help_opt_levels.depend gmake[3]: Leaving directory '/home/mercury/testing/run/build/mercury-srcdist-rotd-2025-06-26/tests/warnings' gmake[3]: Entering directory '/home/mercury/testing/run/build/mercury-srcdist-rotd-2025-06-26/tests/warnings' /home/mercury/testing/run/build/mercury-srcdist-rotd-2025-06-26/stage2/scripts/mmc --options-file /home/mercury/testing/run/build/mercury-srcdist-rotd-2025-06-26/stage2/Mercury.options --mercury-linkage static -j2 --flags ../TESTS_FLAGS --flags ../WS_FLAGS --output-compile-error-lines 0 --color-diagnostics --infer-all --use-subdirs --output-optimization-options-upto 8 \ help_opt_levels.m > help_opt_levels.err 2>&1 diff -u help_opt_levels.err_exp help_opt_levels.err \ > help_opt_levels.res || \ { cat help_opt_levels.res; exit 1; } --- help_opt_levels.err_exp 2025-06-22 21:41:47.000000000 +1000 +++ help_opt_levels.err 2025-06-27 07:23:33.274727249 +1000 @@ -107,7 +107,7 @@ Optimization level 6: - apply optimizations which may have any payoff even if they + Apply optimizations which may have any payoff even if they increase compilation time to completely unreasonable levels. Currently this just enables inlining of GC_malloc(), redo(), and fail(). gmake[3]: *** [/tmp/mmake.oTyx4q:911: help_opt_levels.runtest] Error 1 gmake[3]: Leaving directory '/home/mercury/testing/run/build/mercury-srcdist-rotd-2025-06-26/tests/warnings' ERROR OUTPUT Optimization level 0: Aim to minimize overall compilation time. The options set at this level are: --common-data --excess-assign --llds-optimize --mlds-optimize --mlds-peephole --optimize-dead-procs --optimize-jumps --optimize-labels --optimize-peep --optimize-peep-mkword --optimize-repeat=1 --smart-indexing --static-ground-terms Optimization level 1: Apply optimizations which are cheap and have a good payoff while still keeping compilation time small. The options set at this level are: --c-optimize --emit-c-loops --middle-rec --optimize-delay-slot --optimize-frames --optimize-tailcalls --use-local-vars Optimization level 2: Apply optimizations which have a good payoff relative to their cost; but include optimizations which are more costly than with -O1. The options set at this level are: --common-struct --follow-code --inline-compound-threshold=10 --inline-simple --inline-single-use --merge-code-after-switch --optimize-constant-propagation --optimize-dups --optimize-fulljumps --optimize-initializations --optimize-repeat=3 --simple-neg --split-switch-arms --user-guided-type-specialization Optimization level 3: Apply optimizations which usually have a good payoff even if they increase compilation time quite a bit. The options set at this level are: --constraint-propagation --deforestation --excess-assign --optimize-higher-order --optimize-reassign --optimize-repeat=4 --optimize-saved-vars-const --optimize-unused-args Optimization level 4: Apply optimizations which may have some payoff even if they increase compilation time quite a bit. Currently this enables the use of local variables and increases the inlining thresholds. The options set at this level are: --higher-order-size-limit=30 --inline-compound-threshold=20 --inline-simple-threshold=8 Optimization level 5: Apply optimizations which may have some payoff even if they increase compilation time a lot. Currently this enables the search for construction unifications that can be delayed past failing computations, allows more passes of the low-level optimizations, and increases the inlining thresholds still further. We also enable eliminate_local_vars only at this level, because that pass is implemented pretty inefficiently. The options set at this level are: --delay-constructs --eliminate-local-vars --higher-order-size-limit=40 --inline-compound-threshold=100 --loop-invariants --optimize-repeat=5 Optimization level 6: Apply optimizations which may have any payoff even if they increase compilation time to completely unreasonable levels. Currently this just enables inlining of GC_malloc(), redo(), and fail(). The options set at this level are: --inline-alloc --use-macro-for-redo-fail END OF THE ERROR OUTPUT