mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-18 10:53:40 +00:00
Estimated hours taken: 14 Branches: main Change the compiler and tools so that `.' and not `:' is now used as the module separator in all output. Infix `.' now has associativity yfx and priority 10. NEWS: Report the change. configure.in: Amend the test for an up-to-date Mercury compiler to check whether it recognises `.' as a module qualifier. compiler/code_gen.m: compiler/error_util.m: compiler/hlds_out.m: compiler/prog_out.m: compiler/prog_util.m: compiler/rl_exprn.m: compiler/rl_gen.m: compiler/source_file_map.m: compiler/unused_args.m: library/io.m: library/rtti_implementation.m: library/type_desc.m: runtime/mercury_debug.c: runtime/mercury_deconstruct.c: runtime/mercury_stack_trace.c: Change `:' to `.' as module separator for output. compiler/mercury_to_mercury.m: compiler/prog_io_typeclass.m: As above. Fixed a bug where `.' was not being recognised as a module separator. doc/reference_manual.texi: Report the change. library/term_io.m: Ensure that infix `.' is written without surrounding spaces. tests/hard_coded/dot_separator.m: tests/hard_coded/dot_separator.exp: tests/hard_coded/Mmakefile: Test case added.
141 lines
6.6 KiB
Plaintext
141 lines
6.6 KiB
Plaintext
A collection of symbols for use in testing mdemangle.
|
|
This file tests demangling of symbols generated by the MLDS (--high-level-code) back-end.
|
|
|
|
Each symbol is followed by the correct decoding.
|
|
|
|
a type ctor info
|
|
<type_ctor_info for type 'builtin.int'/0>
|
|
<type_ctor_info for type 'builtin.int'/0>
|
|
|
|
a nested module type ctor info
|
|
<type_ctor_info for type 'mdb.util.trace_port_type'/0>
|
|
<type_ctor_info for type 'mdb.util.trace_port_type'/0>
|
|
|
|
a type ctor layout
|
|
the MLDS back-end doesn't generate these yet
|
|
|
|
a type ctor functors
|
|
the MLDS back-end doesn't generate these yet
|
|
|
|
a mangled name
|
|
<predicate 'foo:!'/0 mode 0>
|
|
<predicate 'foo:!'/0 mode 0>
|
|
|
|
a compare predicate
|
|
<compare/3 predicate for type 'list.list'/1>
|
|
<compare/3 predicate for type 'list.list'/1>
|
|
|
|
an index predicate
|
|
<index/2 predicate for type 'list.list'/1>
|
|
<index/2 predicate for type 'list.list'/1>
|
|
|
|
a unify predicate
|
|
<unification predicate for type 'list.list'/1 mode 0>
|
|
<unification predicate for type 'list.list'/1 mode 0>
|
|
|
|
a normal predicate
|
|
<predicate 'list.append'/3 mode 0>
|
|
<predicate 'list.append'/3 mode 0>
|
|
|
|
a function
|
|
<function 'list.append'/2 mode 0>
|
|
<function 'list.append'/2 mode 0>
|
|
|
|
an internal label
|
|
<predicate 'list.append'/3 mode 4 label 1>
|
|
<predicate 'list.append'/3 mode 4 label 1>
|
|
|
|
unused args
|
|
XXX need to test this
|
|
|
|
higher order specialization
|
|
<function 'higher_order_func_test.my_map'/3 mode 0 (specialized [#3])>
|
|
<function 'higher_order_func_test.my_map'/3 mode 0 (specialized [#3])>
|
|
|
|
higher order specialization (regression test for 1 char pred names)
|
|
<function 'higher_order_func_test.c'/3 mode 0 (specialized [#3])>
|
|
<function 'higher_order_func_test.c'/3 mode 0 (specialized [#3])>
|
|
|
|
higher order specialization and unused args
|
|
<function 'higher_order_func_test.c'/3 mode 1 (specialized [#3]) (minus unused args [#0])>
|
|
<function 'higher_order_func_test.c'/3 mode 1 (specialized [#3]) (minus unused args [#0])>
|
|
|
|
mangled name with unused args
|
|
(XXX TODO)
|
|
|
|
some tests of symbols that should not be demangled
|
|
(this is a regression test: previous versions of mdemangle
|
|
seg faulted for this case)
|
|
mercury_data_foo
|
|
mercury_data_foo
|
|
|
|
some lambda goals
|
|
(XXX TODO)
|
|
<pred goal (#9) from 'simplex' in module 'lp' line 262 label 5>
|
|
<pred goal (#9) from 'simplex' in module 'lp' line 262 label 5>
|
|
<func goal (#4) from 'collect_vars' in module 'lp' line 153>
|
|
<func goal (#4) from 'collect_vars' in module 'lp' line 153>
|
|
|
|
procedures introduced by deforestation
|
|
(XXX TODO)
|
|
<deforestation procedure (#9) from 'simplex' in module 'lp' line 262 label 5>
|
|
<deforestation procedure (#9) from 'simplex' in module 'lp' line 262 label 5>
|
|
<deforestation procedure (#4) from 'collect_vars' in module 'lp' line 153>
|
|
<deforestation procedure (#4) from 'collect_vars' in module 'lp' line 153>
|
|
|
|
procedure introduced by type specialization
|
|
(XXX TODO)
|
|
<function 'sparse_bitset.list_to_set'/1 mode 0 (type specialized [T = var(V_2)])>
|
|
<function 'sparse_bitset.list_to_set'/1 mode 0 (type specialized [T = var(V_2)])>
|
|
|
|
type specialization and deforestion
|
|
(XXX TODO)
|
|
XXX this needs to be fixed
|
|
<predicate 'doubleapp_impl:DeforestationIn__pred__TypeSpecOf__pred_or_func__double_app__[T = int]__21__0'/5 mode 0 (minus unused args [#0])>
|
|
<predicate 'doubleapp_impl:DeforestationIn__pred__TypeSpecOf__pred_or_func__double_app__[T = int]__21__0'/5 mode 0 (minus unused args [#0])>
|
|
|
|
A realistic test
|
|
|
|
/usr/lib/crt1.o: In function `_start':
|
|
/usr/lib/crt1.o(.text+0x18): undefined reference to `main'
|
|
interpreter.o: In function `<predicate 'interpreter.deref'/4 mode 0>':
|
|
interpreter.o(.text+0xcb1): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o: In function `<predicate 'interpreter.not_occurs'/4 mode 0>':
|
|
interpreter.o(.text+0xdcc): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o: In function `<predicate 'interpreter.unify'/4 mode 0>':
|
|
interpreter.o(.text+0xed4): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o(.text+0xf01): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o(.text+0x10bb): undefined reference to `<predicate 'tr_store.set_mutvar'/4 mode 0>'
|
|
interpreter.o(.text+0x10fa): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o(.text+0x117a): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o(.text+0x11ba): undefined reference to `<predicate 'tr_store.set_mutvar'/4 mode 0>'
|
|
interpreter.o: In function `<predicate 'interpreter.my_term_to_term'/8 mode 0>':
|
|
interpreter.o(.text+0x192e): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o: In function `<predicate 'interpreter.term_to_my_term'/6 mode 0>':
|
|
interpreter.o(.text+0x1b97): undefined reference to `<predicate 'tr_store.new_mutvar'/4 mode 0>'
|
|
interpreter.o: In function `<predicate 'interpreter.main_loop_2'/4 mode 0 label 2>':
|
|
interpreter.o(.text+0x2146): undefined reference to `<predicate 'unsafe.unsafe_perform_io'/1 mode 0>'
|
|
collect2: ld returned 1 exit status
|
|
|
|
/usr/lib/crt1.o: In function `_start':
|
|
/usr/lib/crt1.o(.text+0x18): undefined reference to `main'
|
|
interpreter.o: In function `<predicate 'interpreter.deref'/4 mode 0>':
|
|
interpreter.o(.text+0xcb1): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o: In function `<predicate 'interpreter.not_occurs'/4 mode 0>':
|
|
interpreter.o(.text+0xdcc): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o: In function `<predicate 'interpreter.unify'/4 mode 0>':
|
|
interpreter.o(.text+0xed4): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o(.text+0xf01): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o(.text+0x10bb): undefined reference to `<predicate 'tr_store.set_mutvar'/4 mode 0>'
|
|
interpreter.o(.text+0x10fa): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o(.text+0x117a): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o(.text+0x11ba): undefined reference to `<predicate 'tr_store.set_mutvar'/4 mode 0>'
|
|
interpreter.o: In function `<predicate 'interpreter.my_term_to_term'/8 mode 0>':
|
|
interpreter.o(.text+0x192e): undefined reference to `<predicate 'tr_store.get_mutvar'/4 mode 0>'
|
|
interpreter.o: In function `<predicate 'interpreter.term_to_my_term'/6 mode 0>':
|
|
interpreter.o(.text+0x1b97): undefined reference to `<predicate 'tr_store.new_mutvar'/4 mode 0>'
|
|
interpreter.o: In function `<predicate 'interpreter.main_loop_2'/4 mode 0 label 2>':
|
|
interpreter.o(.text+0x2146): undefined reference to `<predicate 'unsafe.unsafe_perform_io'/1 mode 0>'
|
|
collect2: ld returned 1 exit status
|
|
|