Files
mercury/tests/misc_tests/mdemangle_test.inp
Ralph Becket a8ffd3680c Change the compiler and tools so that .' and not :' is now used as the
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.
2003-01-17 05:57:20 +00:00

142 lines
5.5 KiB
Plaintext

A collection of symbols for use in testing mdemangle.
Each symbol is followed by the correct decoding.
a common block
mercury_data_mercury_builtin__common_21
<shared constant number 21 for module mercury_builtin>
a type ctor info
mercury_data_mercury_builtin__type_ctor_info_list_1
<type_ctor_info for type 'mercury_builtin.list'/1>
a type ctor layout
mercury_data_mercury_builtin__type_ctor_layout_term__context_0
<type_ctor_layout for type 'mercury_builtin.term__context'/0>
a type ctor functors
mercury_data_eliza__type_ctor_functors_message_0
<type_ctor_functors for type 'eliza.message'/0>
an unqualified type ctor info
mercury_data___type_ctor_info_int_0
<type_ctor_info for type 'int'/0>
an unqualified type ctor layout
mercury_data___type_ctor_layout_float_0
<type_ctor_layout for type 'float'/0>
a mangled name
_entry_mercury__f_cut_0_0
<predicate '!'/0 mode 0>
a compare predicate
_entry_mercury____Compare___mercury_builtin__comparison_result_0_0
<compare/3 predicate for type 'mercury_builtin.comparison_result'/0>
an index predicate
_entry_mercury____Index___mercury_builtin__list_1_0
<index/2 predicate for type 'mercury_builtin.list'/1>
a unify predicate
_entry_mercury____Unify___mercury_builtin__term_0_0
<unification predicate for type 'mercury_builtin.term'/0 mode 0>
a normal predicate
_entry_mercury__copy_2_1
<predicate 'copy'/2 mode 1>
a function
_entry_mercury__fn__copy_2_1
<function 'copy'/2 mode 1>
an internal label
_entry_mercury__copy_2_1_i5
<predicate 'copy'/2 mode 1 label 5>
unused args
_entry_mercury__copy__ua1_2_0
<predicate 'copy'/2 mode 1 (minus unused args [#0])>
unused args
_entry_mercury__copy__uab1_2_0
<predicate 'copy'/2 mode 1 (minus extra unused args [#0])>
higher order specialization
_entry_mercury__copy__ho7_2_1
<predicate 'copy'/2 mode 1 (specialized [#7])>
higher order specialization (regression test for 1 char pred names)
_entry_mercury__c__ho7_2_1
<predicate 'c'/2 mode 1 (specialized [#7])>
higher order specialization and unused args
_entry_mercury__copy__ho7__ua1_2_0
<predicate 'copy'/2 mode 1 (specialized [#7]) (minus unused args [#0])>
mangled name with unused args
mercury__f_33_95_95_117_97_49_48_48_48_48_2_0
<predicate '!'/2 mode 0 (minus unused args [#0])>
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
mercury__lp__IntroducedFrom__pred__simplex__262__9_7_0_i5
<pred goal (#9) from 'simplex' in module 'lp' line 262 label 5>
mercury__lp__IntroducedFrom__func__collect_vars__153__4_3_0
<func goal (#4) from 'collect_vars' in module 'lp' line 153>
procedures introduced by deforestation
mercury__lp__DeforestationIn__pred__simplex__262__9_7_0_i5
<deforestation procedure (#9) from 'simplex' in module 'lp' line 262 label 5>
mercury__lp__DeforestationIn__pred__collect_vars__153__4_3_0
<deforestation procedure (#4) from 'collect_vars' in module 'lp' line 153>
procedure introduced by type specialization
mercury__fn__f_115_112_97_114_115_101_95_98_105_116_115_101_116_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_108_105_115_116_95_116_111_95_115_101_116_95_95_91_84_32_61_32_118_97_114_40_86_95_50_41_93_95_48_95_49_1_0
<function 'sparse_bitset.list_to_set'/1 mode 0 (type specialized [T = var(V_2)])>
type specialization and deforestion
XXX this needs to be fixed
mercury__f_100_111_117_98_108_101_97_112_112_95_105_109_112_108_95_95_68_101_102_111_114_101_115_116_97_116_105_111_110_73_110_95_95_112_114_101_100_95_95_84_121_112_101_83_112_101_99_79_102_95_95_112_114_101_100_95_111_114_95_102_117_110_99_95_95_100_111_117_98_108_101_95_97_112_112_95_95_91_84_32_61_32_105_110_116_93_95_95_50_49_95_95_48_95_95_117_97_48_5_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
ml -s asm_fast.gc.tr --no-demangle -o interpreter interpreter_init.o \
interpreter.o -lcfloat_lib
Undefined first referenced
symbol in file
_entry_mercury__tr_store__get_mutvar_4_0 interpreter.o
_entry_mercury____Index___store__mutvar_2_0 interpreter.o
_entry_mercury____Compare___store__mutvar_2_0 interpreter.o
_entry_mercury__std_util__unsorted_aggregate_4_5 interpreter.o
mercury_data_store__type_ctor_info_some_store_type_0 interpreter.o
_entry_mercury____Unify___store__mutvar_2_0 interpreter.o
_entry_mercury__tr_store__new_mutvar_4_0 interpreter.o
_entry_mercury__tr_store__set_mutvar_4_0 interpreter.o
mercury_data_store__type_ctor_info_mutvar_2 interpreter.o
ld: fatal: Symbol referencing errors. No output written to interpreter
gmake: *** [interpreter] Error 1
A realistic test
ml -s asm_fast.gc.tr --no-demangle -o interpreter interpreter_init.o \
interpreter.o -lcfloat_lib
Undefined first referenced
symbol in file
<predicate 'tr_store.get_mutvar'/4 mode 0> interpreter.o
<index/2 predicate for type 'store.mutvar'/2> interpreter.o
<compare/3 predicate for type 'store.mutvar'/2> interpreter.o
<predicate 'std_util.unsorted_aggregate'/4 mode 5> interpreter.o
<type_ctor_info for type 'store.some_store_type'/0> interpreter.o
<unification predicate for type 'store.mutvar'/2 mode 0> interpreter.o
<predicate 'tr_store.new_mutvar'/4 mode 0> interpreter.o
<predicate 'tr_store.set_mutvar'/4 mode 0> interpreter.o
<type_ctor_info for type 'store.mutvar'/2> interpreter.o
ld: fatal: Symbol referencing errors. No output written to interpreter
gmake: *** [interpreter] Error 1