mirror of
https://github.com/Mercury-Language/mercury.git
synced 2026-04-20 20:03:44 +00:00
compiler/elds.m:
compiler/elds_to_erlang.m:
compiler/erl_backend.m:
compiler/erl_call_gen.m:
compiler/erl_code_gen.m:
compiler/erl_code_util.m:
compiler/erl_rtti.m:
compiler/erl_unify_gen.m:
compiler/erlang_rtti.m:
compiler/mercury_compile_erl_back_end.m:
Delete these modules, which together constitute the Erlang backend.
compiler/notes/compiler_design.html:
Delete references to the deleted modules.
compiler/parse_tree_out_type_repn.m:
Update the format we use to represent the sets of foreign_type and
foreign_enum declarations for a type as part of its item_type_repn_info,
now that Erlang is no longer a target language.
compiler/parse_type_repn.m:
Accept both the updated version of the item_type_repn_info and the
immediately previous version, since the installed compiler will
initially generate that previous version. However, stop accepting
an even older version that we stopped generating several months ago.
compiler/parse_pragma_foreign.m:
When the compiler finds a reference to Erlang as a foreign language,
add a message about support for Erlang being discontinued to the error
message.
Make the code parsing foreign_decls handle the term containing
the foreign language the same way as the codes parsing foreign
codes, procs, types and enums.
Add a mechanism to help parse_mutable.m to do the same.
compiler/parse_mutable.m:
When the compiler finds a reference to Erlang as a foreign language,
print an error message about support for Erlang being discontinued.
compiler/compute_grade.m:
When the compiler finds a reference to Erlang as a grade component,
print an informational message about support for Erlang being discontinued.
compiler/pickle.m:
compiler/make.build.m:
Delete Erlang foreign procs and types.
compiler/add_foreign_enum.m:
compiler/add_mutable_aux_preds.m:
compiler/add_pred.m:
compiler/add_solver.m:
compiler/add_type.m:
compiler/check_libgrades.m:
compiler/check_parse_tree_type_defns.m:
compiler/code_gen.m:
compiler/compile_target_code.m:
compiler/compute_grade.m:
compiler/const_struct.m:
compiler/convert_parse_tree.m:
compiler/dead_proc_elim.m:
compiler/decide_type_repn.m:
compiler/deps_map.m:
compiler/du_type_layout.m:
compiler/export.m:
compiler/foreign.m:
compiler/globals.m:
compiler/granularity.m:
compiler/handle_options.m:
compiler/hlds_code_util.m:
compiler/hlds_data.m:
compiler/hlds_module.m:
compiler/inlining.m:
compiler/int_emu.m:
compiler/intermod.m:
compiler/item_util.m:
compiler/lambda.m:
compiler/lco.m:
compiler/llds_out_file.m:
compiler/make.dependencies.m:
compiler/make.m:
compiler/make.module_dep_file.m:
compiler/make.module_target.m:
compiler/make.program_target.m:
compiler/make.util.m:
compiler/make_hlds_separate_items.m:
compiler/make_hlds_warn.m:
compiler/mercury_compile_llds_back_end.m:
compiler/mercury_compile_main.m:
compiler/mercury_compile_middle_passes.m:
compiler/mercury_compile_mlds_back_end.m:
compiler/ml_code_util.m:
compiler/ml_foreign_proc_gen.m:
compiler/ml_target_util.m:
compiler/ml_top_gen.m:
compiler/mlds.m:
compiler/mlds_dump.m:
compiler/mlds_to_c_export.m:
compiler/mlds_to_c_file.m:
compiler/mlds_to_cs_data.m:
compiler/mlds_to_cs_export.m:
compiler/mlds_to_cs_file.m:
compiler/mlds_to_cs_type.m:
compiler/mlds_to_java_export.m:
compiler/mlds_to_java_file.m:
compiler/mlds_to_java_type.m:
compiler/module_imports.m:
compiler/parse_pragma_foreign.m:
compiler/parse_tree_out.m:
compiler/polymorphism.m:
compiler/pragma_c_gen.m:
compiler/prog_data.m:
compiler/prog_data_foreign.m:
compiler/prog_foreign.m:
compiler/prog_item.m:
compiler/simplify_goal_scope.m:
compiler/special_pred.m:
compiler/string_encoding.m:
compiler/top_level.m:
compiler/uint_emu.m:
compiler/write_deps_file.m:
Remove references to Erlang as a backend or as a target language.
tests/invalid/bad_foreign_code.{m,err_exp}:
tests/invalid/bad_foreign_decl.{m,err_exp}:
tests/invalid/bad_foreign_enum.{m,err_exp}:
tests/invalid/bad_foreign_export.{m,err_exp}:
tests/invalid/bad_foreign_export_enum.{m,err_exp}:
tests/invalid/bad_foreign_import_module.{m,err_exp}:
tests/invalid/bad_foreign_proc.{m,err_exp}:
tests/invalid/bad_foreign_type.{m,err_exp}:
Add a test for Erlang as an invalid foreign language. Expect both the
new error message for this new error, and the updated list of now-valid
foreign languages on all errors.
54 lines
3.2 KiB
Plaintext
54 lines
3.2 KiB
Plaintext
bad_foreign_enum.m:044: Error: a `:- pragma foreign_enum' declaration must have
|
|
bad_foreign_enum.m:044: exactly three arguments.
|
|
bad_foreign_enum.m:048: In the first argument of `:- pragma foreign_enum'
|
|
bad_foreign_enum.m:048: declaration:
|
|
bad_foreign_enum.m:048: error: expected the name of a foreign language, got
|
|
bad_foreign_enum.m:048: `"InvalidLanguage"'.
|
|
bad_foreign_enum.m:048: The valid languages are c, C, csharp, C#, java and
|
|
bad_foreign_enum.m:048: Java.
|
|
bad_foreign_enum.m:048: In the third argument of `:- pragma foreign_enum'
|
|
bad_foreign_enum.m:048: declaration:
|
|
bad_foreign_enum.m:048: error: the list mapping constructors to foreign
|
|
bad_foreign_enum.m:048: values must not be empty.
|
|
bad_foreign_enum.m:052: In the second argument of `:- pragma foreign_enum'
|
|
bad_foreign_enum.m:052: declaration:
|
|
bad_foreign_enum.m:052: error: expected `type_name/type_arity', got
|
|
bad_foreign_enum.m:052: `vegetable'.
|
|
bad_foreign_enum.m:059: In the first argument of `:- pragma foreign_enum'
|
|
bad_foreign_enum.m:059: declaration:
|
|
bad_foreign_enum.m:059: error: expected the name of a foreign language, got
|
|
bad_foreign_enum.m:059: `"InvalidLanguage"'.
|
|
bad_foreign_enum.m:059: The valid languages are c, C, csharp, C#, java and
|
|
bad_foreign_enum.m:059: Java.
|
|
bad_foreign_enum.m:060: In the second argument of `:- pragma foreign_enum'
|
|
bad_foreign_enum.m:060: declaration:
|
|
bad_foreign_enum.m:060: error: expected `type_name/type_arity', got `meat'.
|
|
bad_foreign_enum.m:061: In the third argument of `:- pragma foreign_enum'
|
|
bad_foreign_enum.m:061: declaration:
|
|
bad_foreign_enum.m:061: error: the list mapping constructors to foreign
|
|
bad_foreign_enum.m:061: values must not be empty.
|
|
bad_foreign_enum.m:067: Error: expected a mapping element of the form
|
|
bad_foreign_enum.m:067: `possibly_qualified_name - string', got `chicken'.
|
|
bad_foreign_enum.m:074: In `:- pragma foreign_enum' mapping constructor name:
|
|
bad_foreign_enum.m:074: error: atom expected at "goose".
|
|
bad_foreign_enum.m:081: Error: expected a mapping element of the form
|
|
bad_foreign_enum.m:081: `possibly_qualified_name - string', got `"goose"'.
|
|
bad_foreign_enum.m:082: Error: expected a mapping element of the form
|
|
bad_foreign_enum.m:082: `possibly_qualified_name - string', got `turkey'.
|
|
bad_foreign_enum.m:083: Error: expected a mapping element of the form
|
|
bad_foreign_enum.m:083: `possibly_qualified_name - string', got `X'.
|
|
bad_foreign_enum.m:087: In the first argument of `:- pragma foreign_enum'
|
|
bad_foreign_enum.m:087: declaration:
|
|
bad_foreign_enum.m:087: error: expected the name of a foreign language, got
|
|
bad_foreign_enum.m:087: `"Erlang"'.
|
|
bad_foreign_enum.m:087: The valid languages are c, C, csharp, C#, java and
|
|
bad_foreign_enum.m:087: Java.
|
|
bad_foreign_enum.m:087: Support for Erlang has been discontinued.
|
|
bad_foreign_enum.m:088: In the second argument of `:- pragma foreign_enum'
|
|
bad_foreign_enum.m:088: declaration:
|
|
bad_foreign_enum.m:088: error: expected `type_name/type_arity', got `meat'.
|
|
bad_foreign_enum.m:089: In the third argument of `:- pragma foreign_enum'
|
|
bad_foreign_enum.m:089: declaration:
|
|
bad_foreign_enum.m:089: error: the list mapping constructors to foreign
|
|
bad_foreign_enum.m:089: values must not be empty.
|