Files
mercury/tests/hard_coded/Mercury.options
Zoltan Somogyi a0d6710407 Use "ts=4 sw=4 expandtab" as modeline ...
... in Mercury.options files.
2023-09-16 19:12:52 +10:00

211 lines
11 KiB
Plaintext

# vim: ts=4 sw=4 expandtab
MCFLAGS-allow_stubs = --allow-stubs --no-warn-stubs --infer-all
MCFLAGS-any_call_hoist_bug = --loop-invariants
MCFLAGS-bad_direct_reuse = --ctgc
MCFLAGS-bad_indirect_reuse = --ctgc --no-common-struct
MCFLAGS-bad_indirect_reuse2 = --ctgc --no-common-struct
MCFLAGS-bad_indirect_reuse2b = --ctgc --no-common-struct
MCFLAGS-bad_indirect_reuse3 = --ctgc --no-common-struct
MCFLAGS-big_array_from_list = --optimize-tailcalls
MCFLAGS-bigtest = --intermodule-optimization -O3
MCFLAGS-boyer = --infer-all
MCFLAGS-bug103 = --optimize-constructor-last-call
MCFLAGS-bug160 = -w --optimize-peep-mkword
MCFLAGS-bug240 = -O1
MCFLAGS-bug300 = --no-const-struct --optimize-constructor-last-call
MCFLAGS-bug314 = --trace deep
MCFLAGS-bug392 = -O0 --deforestation
MCFLAGS-bug455 = --intermodule-optimization
MCFLAGS-bug548 = --inlining
MCFLAGS-checked_nondet_tailcall = --checked-nondet-tailcalls
MCFLAGS-checked_nondet_tailcall_noinline = \
--checked-nondet-tailcalls --no-inlining
MCFLAGS-cc_and_non_cc_test = --no-inlining
MCFLAGS-constraint = --constraint-propagation --enable-termination
MCFLAGS-constraint_order = --constraint-propagation --enable-termination
MCFLAGS-coerce_opt = --intermodule-optimization
MCFLAGS-deforest_cc_bug = --deforestation
MCFLAGS-delay_partial_test = --delay-partial-instantiations
MCFLAGS-delay_partial_test2 = --delay-partial-instantiations
MCFLAGS-ground_terms = --from-ground-term-threshold=2
MCFLAGS-impl_defn_literals = --no-warn-simple-code
MCFLAGS-lp = --intermodule-optimization -O3
MCFLAGS-elim_local_var_char = --eliminate-local-vars
MCFLAGS-float_consistency = --optimize-constant-propagation
MCFLAGS-foreign_enum_mod = --intermodule-optimization
MCFLAGS-foreign_enum_mod_helper_1 = --intermodule-optimization
MCFLAGS-from_ground_term_bug = --from-ground-term-threshold=4
MCFLAGS-func_test = --infer-all
MCFLAGS-ho_order = --optimize-higher-order
MCFLAGS-ho_order2 = --optimize-higher-order
MCFLAGS-ho_float_reg = --no-warn-overlapping-scopes
MCFLAGS-no_fully_strict = --no-fully-strict
MCFLAGS-one_member = -O5
MCFLAGS-impure_foreign = --optimize-duplicate-calls
MCFLAGS-int8_static_data = -O0
MCFLAGS-intermod_c_code = --intermodule-optimization
MCFLAGS-intermod_c_code_helper_1 = --intermodule-optimization
MCFLAGS-intermod_foreign_type = --intermodule-optimization
MCFLAGS-intermod_foreign_type_helper_1 = --intermodule-optimization
MCFLAGS-intermod_may_export_body = --intermodule-optimization
MCFLAGS-intermod_may_export_body_helper_1 = --intermodule-optimization
MCFLAGS-intermod_multimode = --intermodule-optimization
MCFLAGS-intermod_multimode_helper_1 = --intermodule-optimization
MCFLAGS-intermod_poly_mode = --intermodule-optimization
MCFLAGS-intermod_poly_mode_helper_1 = --intermodule-optimization
MCFLAGS-intermod_pragma_clause = --intermodule-optimization
MCFLAGS-intermod_pragma_clause_helper_1 = --intermodule-optimization
MCFLAGS-intermod_try_goal = --intermodule-optimization
MCFLAGS-intermod_try_goal_helper_1 = --intermodule-optimization
MCFLAGS-intermod_type_qual = --intermodule-optimization
MCFLAGS-intermod_type_qual_helper_1 = --intermodule-optimization
MCFLAGS-lco_double = --optimize-constructor-last-call
MCFLAGS-lco_mday_bug_1 = --optimize-constructor-last-call
MCFLAGS-lco_mday_bug_2 = --optimize-constructor-last-call
MCFLAGS-lco_no_inline = --optimize-constructor-last-call --no-inline-builtins
MCFLAGS-lco_pack_args = --optimize-constructor-last-call
MCFLAGS-lco_pack_args_2 = --optimize-constructor-last-call
MCFLAGS-lco_pack_args_3 = --optimize-constructor-last-call
MCFLAGS-lco_reorder = --optimize-constructor-last-call
MCFLAGS-lookup_switch_simple_non = --no-warn-det-decls-too-lax
MCFLAGS-mode_check_clauses = --no-warn-det-decls-too-lax
MCFLAGS-mode_choice = --no-warn-det-decls-too-lax
MCFLAGS-no_fully_strict = --no-warn-det-decls-too-lax
MCFLAGS-nullary_ho_func = --no-warn-unresolved-polymorphism
MCFLAGS-opt_format = --optimize-format-calls
MCFLAGS-opt_format_sign_extend = --optimize-format-calls
MCFLAGS-pack_args_reuse = --structure-reuse
MCFLAGS-reuse_double = --ctgc
MCFLAGS-reuse_ho = --ctgc --no-optimise-higher-order
MCFLAGS-sharing_comb = --ctgc --structure-sharing-widening 2
MCFLAGS-simplify_multi_arm_switch = -O3
MCFLAGS-string_alignment_bug = --no-warn-obsolete
MCFLAGS-subtype_pack = --allow-packing-dummies
MCFLAGS-subtype_rtti = \
--allow-packing-local-sectags --allow-packing-remote-sectags
MCFLAGS-tail-rec-scc = --inine-linear-tail-rec-sccs
MCFLAGS-term_io_test = --no-warn-unresolved-polymorphism
MCFLAGS-test_imported_no_tag = --no-warn-interface-imports
MCFLAGS-test_split_switch_arms = --split-switch-arms
MCFLAGS-type_info_const_ins = --const-struct --optimise-constant-propagation
MCFLAGS-uncond_reuse = --ctgc
MCFLAGS-uncond_reuse_bad = --ctgc
MCFLAGS-uo_regression1 = --from-ground-term-threshold=4
MCFLAGS-write = --no-warn-unresolved-polymorphism
# We disable intermodule-optimization here because it isn't compatible with
# intermodule-analysis.
MCFLAGS-intermod_unused_args = \
--no-intermodule-optimization --intermodule-analysis --optimise-unused-args
MCFLAGS-intermod_unused_args_helper_1 = \
--no-intermodule-optimization --intermodule-analysis --optimise-unused-args
MCFLAGS-loop_inv_test = --loop-invariants --trace-optimized
MCFLAGS-loop_inv_test0 = --loop-invariants --trace-optimized
MCFLAGS-loop_inv_test1 = --loop-invariants --trace-optimized
MCFLAGS-loop_inv_test2 = --loop-invariants --trace-optimized
MCFLAGS-loop_inv_test3 = --loop-invariants
MCFLAGS-loop_inv_test4 = --loop-invariants
MCFLAGS-prince_frameopt = --intermodule-optimization -O5
MCFLAGS-prince_frameopt_helper_1 = --intermodule-optimization -O5
MCFLAGS-prince_frameopt_helper_1.prince_frameopt_helper_2 = \
--intermodule-optimization -O5
# Compile string_switch with both binary and hash switches effectively
# disabled, to test the basic indexing algorithm.
# Compile string_switch2 with only hash switches effectively disabled,
# to test the binary search algorithm.
# Compile string_switch3 with only binary search switches effectively disabled,
# to test the hash search algorithm.
MCFLAGS-string_switch = \
--string-binary-switch-size=100 --string-hash-switch-size=100
MCFLAGS-string_switch2 = \
--string-binary-switch-size=2 --string-hash-switch-size=100
MCFLAGS-string_switch3 = \
--string-binary-switch-size=100 --string-hash-switch-size=2
# This bug only shows up at optimization levels -O2 and below.
MCFLAGS-profdeep_seg_fault = -O2
MCFLAGS-puzzle_detism_bug = --trace-optimized --inlining
MCFLAGS-no_inline_builtins = --no-inline-builtins
MCFLAGS-no_warn_singleton = --halt-at-warn
MCFLAGS-nondet_copy_out = --no-inlining --nondet-copy-out
MCFLAGS-opt_dup_bug = -O2 --optimize-dups --optimize-frames
MCFLAGS-redoip_clobber = --no-inlining
MCFLAGS-rnd = -O6
MCFLAGS-switch_detect = --halt-at-warn
# The trace_goal_1 and trace_goal_2 test cases differ only in that
# we compile the latter without any --trace-flag arguments.
MCFLAGS-trace_goal_1 = --trace-flag=abc --trace-flag def
MCFLAGS-trace_goal_3 = --trace-flag=abc
MCFLAGS-trace_goal_env_1 = --trace-flag=abc
MCFLAGS-trace_goal_env_2 = --trace-flag=abc
MCFLAGS-trace_goal_opt = --intermod-opt
MCFLAGS-trans_intermod_user_equality = \
--intermodule-optimization --transitive-intermodule-optimization
MCFLAGS-trans_intermod_user_equality2 = \
--intermodule-optimization --transitive-intermodule-optimization
MCFLAGS-trans_intermod_user_equality3 = \
--intermodule-optimization --transitive-intermodule-optimization
MCFLAGS-type_qual = --infer-all --from-ground-term-threshold=4
MCFLAGS-type_spec = --user-guided-type-specialization
MCFLAGS-existential_types_test = --infer-all
MCFLAGS-existential_float = --infer-all
MCFLAGS-user_defined_equality = --infer-all
MCFLAGS-parse = --trace rep
MCFLAGS-unused_float_box_test = --infer-all
# XXX MSVC - this won't work due to the object file extension being hardcoded
# to ".o".
MCFLAGS-target_mlobjs = --pre-link-command "mmake target_mlobjs_c.o"
MLOBJS-target_mlobjs = target_mlobjs_c.o
# We can get this warning if the user-provided type-specific compare predicate
# compare_foo is inlined at some call sites. Since our setup asks the C
# compiler to treat any warning as an error, we turn off the warning.
#
# XXX MSVC - passing GCC / clang options to MSVC will not work.
CFLAGS-user_compare = -Wno-tautological-compare
# In grade `none' with options `-O1 --opt-space' on kryten
# (a sparc-sun-solaris2.5 system), mode_choice needs to be linked
# with `--no-strip', otherwise it gets a seg fault.
# The test case ../hard_coded/string_test suffers from a similar problem.
# This is probably a bug in one of the underlying tools (e.g. the Solaris
# linker) rather than a bug in Mercury, and since it is goes away when you
# compile with debugging information, it is very difficult to debug.
# It is much easier to just work around it this way rather than
# tracking it down.
MLFLAGS-mode_choice = --no-strip
CFLAGS-no_refs_to_deleted_labels = -DMR_DEBUG_LABEL_NAMES
MLFLAGS-parse = --trace
MLFLAGS-split-c-files = --trace
MLFLAGS-needs_init = --include-initialization-code --extra-inits
# These tests run out of memory in non-GC grades
# unless we increase the heap size from the default 4M.
# The sizes specified here (70 Mb and 20 Mb respectively)
# are sufficient for running these tests on 64-bit systems.
# The setting of `--mdb-out' tests the quoting of runtime
# options containing special characters.
MLFLAGS-integer_test = \
--runtime-flags "--heap-size 70000 --mdb-out \"mdb\\mdb out\""
MLFLAGS-rational_test = --runtime-flags "--heap-size 20000"
MCFLAGS-constant_prop_1 = \
--optimize-constant-propagation --trace-optimized
MCFLAGS-constant_prop_2 = \
--optimize-constant-propagation --optimize-dead-procs --trace-optimized
MCFLAGS-constant_prop_int = \
--optimize-constant-propagation
MCFLAGS-constant_prop_loop_inv = \
--optimize-constant-propagation --optimize-dead-procs --trace-optimized \
--loop-invariants