Files
mercury/tests/valid/Mercury.options
Zoltan Somogyi 29deb20fde Fix the --show-pred-movability option.
I seem to have been broken it on Aug 18 with the move to associate
a option with every severity_informational spec. The code added then
treated all these options as bool options, but one is not.

compiler/error_util.m:
    Allow a severity_informational spec to depend on an accumulating
    option, which --show-pred-movability is.

    As far as I can see, it is the only non-bool option used
    in such messages, but since we don't have a database of
    options named in severity_informational specs, I can't be sure.

compiler/hlds_call_tree.m:
    Avoid printing a sentence when its subject is moot.

tests/valid/show_movability.m:
    New test case to test the --show-pred-movability option.

tests/valid/Mercury.options:
    Specify the option for the new test case.
2026-02-17 14:11:41 +11:00

167 lines
9.5 KiB
Bash

#---------------------------------------------------------------------------#
# vim: ts=4 sw=4 expandtab ft=sh
#---------------------------------------------------------------------------#
# Some regression tests only failed with particular options enabled.
# Please keep these lists sorted.
# We need to include DEFNS_FOR_TESTS here so that mmc --make can
# see the definitions it contains.
include ../DEFNS_FOR_TESTS
# When compiling using the installed libraries, setting GRADEFLAGS may
# may cause mgnuc to look for the `.mih' files for a non-installed grade.
# test_mercury runs the tests using the installed libraries, so GRADEFLAGS
# won't be set, but test_mercury runs the tests in at least one `.tr' grade
# on all machines, so it isn't a problem.
GRADEFLAGS-complex_failure += $(GRADEFLAGS_TRAIL)
GRADEFLAGS-semi_fail_in_non_ite += $(GRADEFLAGS_TRAIL)
# The `agc*' tests currently aren't run in grades for which `.mih'
# files are created, and no header files are generated in `il' grades,
# so it's OK to set GRADEFLAGS for these tests.
GRADEFLAGS-agc_graph += --gc accurate
GRADEFLAGS-agc_ho_pred += --gc accurate
GRADEFLAGS-agc_ite += --gc accurate
GRADEFLAGS-agc_unbound_typevars_1 += --gc accurate
GRADEFLAGS-agc_unbound_typevars_2 += --gc accurate
GRADEFLAGS-agc_unused_in += --gc accurate
# The bug that this test looks for exists only in MLDS grades without any gc.
GRADEFLAGS-bug109 += --grade hlc
MCFLAGS-ambig_functor += --type-check-constraints
MCFLAGS-ambig_stress_test += --type-check-constraints
MCFLAGS-bad_singleton_warning += --halt-at-warn
MCFLAGS-builtin_false += --intermodule-optimization
MCFLAGS-bug36 += -O0 --no-optimize-dead-procs
MCFLAGS-bug50 += --trace deep
MCFLAGS-bug50_full += --trace deep
MCFLAGS-bug51 += -O3
MCFLAGS-bug85 += -O0 --deforestation
MCFLAGS-bug128 += -O5 --loop-invariants
MCFLAGS-bug134 += --no-static-ground-terms
MCFLAGS-bug134 += --no-optimize-dead-procs
MCFLAGS-bug142 += --optimise-higher-order
MCFLAGS-bug142 += --inline-single-use
MCFLAGS-bug159 += -w
MCFLAGS-bug180 += --profile-optimized
MCFLAGS-bug180 += --allow-stubs --no-warn-stubs
MCFLAGS-bug271 += --allow-stubs --no-warn-stubs
MCFLAGS-bug300 += --optimize-constructor-last-call
MCFLAGS-bug457 += --loop-invariants
MCFLAGS-bug457 += --intermodule-optimization
MCFLAGS-bug483 += --warn-unused-imports --halt-at-warn
MCFLAGS-bug493 += --loop-invariants
MCFLAGS-bug512 += -O5 --intermodule-optimization
MCFLAGS-bug539 += --optimize-constructor-last-call
MCFLAGS-bug544 += -O5
MCFLAGS-compl_unify_bug += -O3
MCFLAGS-constraint_prop_bug += -O0 --common-struct
MCFLAGS-constraint_prop_bug += --local-constraint-propagation
MCFLAGS-csharp_hello += --no-intermodule-optimization
MCFLAGS-deforest_bug += -O3
MCFLAGS-deforest_loop += -O3 --intermodule-optimization
MCFLAGS-deforest_rerun_det += -O3 --check-termination
MCFLAGS-double_vn += -O4
MCFLAGS-equiv_solns_ia += --inlining
MCFLAGS-equiv_solns_ia += --local-constraint-propagation
MCFLAGS-exists_cast_bug += --trace rep -O0
MCFLAGS-exists_cast_bug += -O0 --optimize-saved-vars-const
MCFLAGS-explicit_quant += --halt-at-warn
MCFLAGS-foreign_underscore_var += --halt-at-warn
MCFLAGS-format_after_switch += --warn-unknown-format-calls
MCFLAGS-format_after_switch += --halt-at-warn
MCFLAGS-fzn_debug_abort += --trace rep
# XXX We should pass --ssdb-trace deep or --ss-debug to gh89,
# but that currently doesn't work in non-ssdb grades.
MCFLAGS-gh89 += --intermodule-optimization -O3
MCFLAGS-gh89 += --no-warn-missing-opt-files
MCFLAGS-higher_order_1 += --no-warn-det-decls-too-lax
MCFLAGS-higher_order_4 += -O3
MCFLAGS-higher_order_implied_mode += -O-1
MCFLAGS-ho_and_type_spec_bug += -O4
MCFLAGS-ho_and_type_spec_bug2 += -O3 --no-inlining
# XXX Grade flags should never be included in Mercury.options files.
MCFLAGS-impure_detism += -O5 --deep-profiling
MCFLAGS-impure_detism += --no-intermodule-optimization
MCFLAGS-inhibit_warn_test += --inhibit-warnings --halt-at-warn
MCFLAGS-instmap_generic_failure += --local-constraint-propagation
MCFLAGS-lambda_inference += --infer-all
# XXX Grade flags should never be included in Mercury.options files.
MCFLAGS-liveness_disagree += --grade asm_fast.gc.decldebug.stseg
# XXX Grade flags should never be included in Mercury.options files.
MCFLAGS-liveness_ite += --no-intermodule-optimization
MCFLAGS-liveness_ite += --grade none --trace shallow
MCFLAGS-livevals_seq += -O5 --opt-space
# XXX Grade flags should never be included in Mercury.options files.
MCFLAGS-livevars_shallow_1 += --no-intermodule-optimization
MCFLAGS-livevars_shallow_1 += --grade none --trace shallow
# XXX Grade flags should never be included in Mercury.options files.
MCFLAGS-livevars_shallow_2 += --no-intermodule-optimization
MCFLAGS-livevars_shallow_2 += --grade none --trace shallow
MCFLAGS-lco_term += --optimize-constructor-last-call
CFLAGS-loop_in_disj += $(CFLAGS_FOR_NO_INFINITE_RECURSION)
MCFLAGS-loop_inv_bug += --common-struct --loop-invariants
MCFLAGS-mark_static_bug += --lookup-switch-size 1
MCFLAGS-mc_bag += --prop-mode-constraints
MCFLAGS-mc_extra_nonlocals += --prop-mode-constraints
MCFLAGS-mc_graph += --prop-mode-constraints
MCFLAGS-mc_hhf_nonlocals_bug += --prop-mode-constraints
MCFLAGS-mc_implied_modes += --prop-mode-constraints
MCFLAGS-middle_rec_labels += --middle-rec
MCFLAGS-mode_selection += --no-warn-det-decls-too-lax
MCFLAGS-mode_syntax += --no-warn-det-decls-too-lax
MCFLAGS-mode_syntax += --no-warn-simple-code
MCFLAGS-mode_syntax += --no-warn-unresolved-polymorphism
CFLAGS-mode_syntax += $(CFLAGS_FOR_NO_INFINITE_RECURSION)
MCFLAGS-mostly_uniq_mode_inf += --infer-all
MCFLAGS-mostly_uniq_neg += --no-warn-singleton-vars
MCFLAGS-mpj_6 += --infer-all
MCFLAGS-mpj_7 += --infer-all
MCFLAGS-neg_erroneous += -O3
MCFLAGS-negation_in_dupl_for_switch += --halt-at-warn
MCFLAGS-no_warn_format_imports += --warn-unused-imports --halt-at-warn
MCFLAGS-no_warn_obsolete += --no-warn-obsolete
MCFLAGS-no_warn_unresolved_poly += --no-warn-unresolved-polymorphism
MCFLAGS-par_dupelim += --optimize-dups
MCFLAGS-par_saved_const += -O3 --optimize-saved-vars-const
MCFLAGS-pred_with_no_modes += --infer-all
MCFLAGS-quantifier_warning += --halt-at-warn
CFLAGS-recursive_no_tag_type += $(CFLAGS_FOR_NO_INFINITE_RECURSION)
MCFLAGS-require_tailrec_1 += -O0 --optimise-tailcalls
MCFLAGS-require_tailrec_1 += --warn-non-tail-recursion self
MCFLAGS-require_tailrec_2 += -O0 --optimise-tailcalls
MCFLAGS-require_tailrec_2 += --no-warn-non-tail-recursion
MCFLAGS-require_tailrec_3 += -O0 --optimise-tailcalls
MCFLAGS-require_tailrec_3 += --warn-non-tail-recursion self-and-mutual
MCFLAGS-reuse_static += --ctgc --deforestation
MCFLAGS-reuse_static2 += --structure-reuse --loop-invariants
MCFLAGS-sharing_exist += --ctgc --structure-sharing-widening 1
MCFLAGS-sharing_loop_1 += --ctgc --structure-sharing-widening 8
MCFLAGS-sharing_loop_2 += --ctgc --structure-sharing-widening 10
MCFLAGS-sharing_loop_3 += --ctgc --structure-sharing-widening 10
MCFLAGS-show_movability += --show-pred-movability pred_a
MCFLAGS-simplify_bug_1 += -O-1
MCFLAGS-simplify_bug_2 += -O3
MCFLAGS-solver_type_bug_1 += --halt-at-warn
MCFLAGS-solv += --halt-at-warn
MCFLAGS-some_singleton += --halt-at-warn
MCFLAGS-spurious_purity_warning += --halt-at-warn
MCFLAGS-stack_opt_simplify += --optimize-saved-vars
MCFLAGS-stack_opt_simplify += --no-warn-det-decls-too-lax
MCFLAGS-state_var_mode_bug_1 += --no-warn-singleton-vars
MCFLAGS-table_no_attr += --structure-sharing
MCFLAGS-tci_spec_varmap += --deforestation --type-specialisation
MCFLAGS-time_yaowl += --allow-stubs
MCFLAGS-tuple_eqv += --smart-recompilation
MCFLAGS-two_way_unif += -O-1
MCFLAGS-typeclass_det_warning += --halt-at-warn
MCFLAGS-type_inf_ambig_test += --infer-all
MCFLAGS-unify_typeinfo_bug += -O3
MCFLAGS-uniq_mode_inf_bug += --infer-all
MCFLAGS-vn_float += -O5
MCFLAGS-zero_arity += --infer-modes
MCFLAGS-unknown_warning += --no-halt-at-warn
MCFLAGS-use_import_only_for_instance += --warn-unused-imports --halt-at-warn