Files
mercury/tests/invalid/synth_attr_error.err_exp
Zoltan Somogyi 81b4c3272e Stop using digraph.tsort and digraph.atsort ...
... and start using their more descriptively-named synonyms.

In some cases, instead of getting and then reversing a list of sccs,
ask for the sccs in the needed order in the first place.

compiler/dependency_graph.m:
compiler/generate_dep_d_files.m:
compiler/make.program_target.m:
compiler/mlds_to_java_global.m:
compiler/mode_ordering.m:
compiler/rtti_to_mlds.m:
compiler/stratify.m:
    As above.

compiler/prog_event.m:
    As above.

    Address an old and now-inaccurate XXX. When a synthesized attribute
    depends on its value, either directly or through the values of other
    synthesized attributes, include the names of the attributes involved
    in the error message, instead of just saying that there is circular
    dependency *somewhere* among the attributes.

tests/invalid/synth_attr_error.err_exp:
    Expect the updated, more specific error messages.

tests/invalid/Mmakefile:
    Enable the synth_attr_error test case, which wasn't enabled before
    (though it does have an entry in Mercury.options.)

tests/invalid/invalid_event_spec:
tests/invalid/syntax_error_event_spec:
tests/invalid/synth_attr_error_spec:
    Replace tabs with spaces.
2023-06-22 00:25:26 +02:00

19 lines
1.2 KiB
Plaintext

synth_attr_error_spec:003: Synthesized attribute `sorted_list' of event
synth_attr_error_spec:003: `nodiag_fail' depends on itself.
synth_attr_error_spec:007: Attribute `arg_list_len' of event `nodiag_fail' uses
synth_attr_error_spec:007: nonexistent attribute `xsorted_list' in its
synth_attr_error_spec:007: synthesis.
synth_attr_error_spec:009: Attribute `arg_list_lenb' cannot be synthesized by
synth_attr_error_spec:009: non-function attribute `arg_list'.
synth_attr_error_spec:015: Synthesized attributes `excp' and `excp2' of event
synth_attr_error_spec:015: `safe_test' depend on each other.
synth_attr_error_spec:017: Attribute `f' is assigned inconsistent types by
synth_attr_error_spec:017: synthesized attributes.
synth_attr_error_spec:026: Duplicate event specification for event `safe_test'.
synth_attr_error_spec:015: The previous event specification is here.
synth_attr_error_spec:030: Event `e' has more than one attribute named `dupx'.
synth_attr_error_spec:033: Attribute `f' is assigned inconsistent types by
synth_attr_error_spec:033: synthesized attributes.
synth_attr_error_spec:040: Attribute `f' is assigned inconsistent types by
synth_attr_error_spec:040: synthesized attributes.