Commit Graph

6 Commits

Author SHA1 Message Date
Zoltan Somogyi
25b4b67403 Carve io.file.m out of io.m.
library/io.file.m:
library/io.m:
    Move two sections of io.m, the "file handling predicates" section
    and the "handling temporary files" section to the new submodule io.file.m.

    Leave behind in io.m "forwarding predicates", predicates that do nothing
    except call the moved predicates in io.file.m, to provide backward
    compatibility. But do mark the forwarding predicates as obsolete,
    to tell people to update their (at their leisure, since the obsoleteness
    warning can be turned off).

    Also leave behind in io.m the definitions of the two types used
    by some parameters of some of the moved predicates. Document the reason
    why this is done.

library/MODULES_DOC:
    List the new module among the documented modules.

NEWS:
    Announce the changes.

browser/browse.m:
browser/interactive_query.m:
browser/listing.m:
compiler/analysis.file.m:
compiler/compile_target_code.m:
compiler/export.m:
compiler/fact_table.m:
compiler/file_util.m:
compiler/handle_options.m:
compiler/make.build.m:
compiler/make.module_dep_file.m:
compiler/make.module_target.m:
compiler/make.program_target.m:
compiler/make.util.m:
compiler/mercury_compile_main.m:
compiler/module_cmds.m:
compiler/parse_module.m:
compiler/passes_aux.m:
compiler/prog_event.m:
compiler/recompilation.check.m:
compiler/write_deps_file.m:
compiler/write_module_interface_files.m:
deep_profiler/conf.m:
deep_profiler/mdprof_cgi.m:
library/dir.m:
mdbcomp/program_representation.m:
ssdb/ssdb.m:
    Call the file operation predicates directly in io.file.m, not indirectly
    through io.m.

    In two modules, add a #include of fcntl.h in C code. These modules contain
    C code that needs this #include, but until now, they got it via a copy
    in an automatically generated C header file of a foreign_decl pragma
    in io.m that contained that #include. This diff moves that foreign_decl
    to io.file.m, removing that crutch.

tests/debugger/browser_test.m:
tests/hard_coded/bit_buffer_test.m:
tests/hard_coded/bitmap_test.m:
tests/hard_coded/construct_bug.m:
tests/hard_coded/dir_fold.m:
tests/hard_coded/dir_test.m:
tests/hard_coded/read_binary_int16.m:
tests/hard_coded/read_binary_int32.m:
tests/hard_coded/read_binary_int64.m:
tests/hard_coded/read_binary_uint16.m:
tests/hard_coded/read_binary_uint32.m:
tests/hard_coded/read_binary_uint64.m:
tests/hard_coded/read_bitmap_size.m:
tests/hard_coded/remove_file.m:
tests/hard_coded/write_binary.m:
tests/hard_coded/write_binary_int8.m:
tests/hard_coded/write_binary_multibyte_int.m:
tests/hard_coded/write_binary_uint8.m:
    Call the file operation predicates directly in io.file.m, not indirectly
    through io.m.
2022-03-08 06:01:21 +11:00
Zoltan Somogyi
4865f11503 Update programming style. 2020-10-04 13:20:42 +11:00
Zoltan Somogyi
33eb3028f5 Clean up the tests in half the test directories.
tests/accumulator/*.m:
tests/analysis_*/*.m:
tests/benchmarks*/*.m:
tests/debugger*/*.{m,exp,inp}:
tests/declarative_debugger*/*.{m,exp,inp}:
tests/dppd*/*.m:
tests/exceptions*/*.m:
tests/general*/*.m:
tests/grade_subdirs*/*.m:
tests/hard_coded*/*.m:
    Make these tests use four-space indentation, and ensure that
    each module is imported on its own line. (I intend to use the latter
    to figure out which subdirectories' tests can be executed in parallel.)

    These changes usually move code to different lines. For the debugger tests,
    specify the new line numbers in .inp files and expect them in .exp files.
2015-02-14 20:14:03 +11:00
Peter Wang
d953a1d17f Collapse equivalences when comparing type_infos for equality.
Branches: main, 10.04

java/runtime/TypeInfo_Struct.java:
        Collapse equivalences when comparing type_infos for equality.

java/runtime/TypeCtorRep.java:
        Duplicate the required constants which otherwise are in
        private_builtin.m.  They should all be moved here but I don't want to
        make that change on the 10.04 branch.

library/rtti_implementation.m:
        Collapse equivalences in type_info_num_functors.

tests/hard_coded/construct_bug.m:
        Use text streams in this test case, as the current hacky implementation
        of `io.write_binary' doesn't work on the Java backend.
2010-09-22 04:11:34 +00:00
Zoltan Somogyi
80bd3ca5b3 Make these tests conform to our style conventions.
Estimated hours taken: 0.1
Branches: main

tests/hard_coded/construct_bug.m:
tests/hard_coded/construct_bug_submodule.m:
tests/hard_coded/typeclasses/complicated_constraint.m:
	Make these tests conform to our style conventions. The old style made
	the code quite hard to read.
2007-12-13 08:40:35 +00:00
Fergus Henderson
931b9a866a Fix a bug reported by Ondrej Bojar (obo [AT] cuni [DOT] cz)
Estimated hours taken: 2.5
Branches: main

Fix a bug reported by Ondrej Bojar (obo [AT] cuni [DOT] cz)
which caused seg faults in io.read_binary.

library/construct.m:
	Expand equivalence types in get_functor/5, get_functor_2/6,
	and construct/4.  This is needed in order to have the proper
	type_info to use when substituting type parameters in the list
	of argument types for the functor.

tests/hard_coded/Mmakefile:
tests/hard_coded/construct_bug.m:
tests/hard_coded/construct_bug.exp:
tests/hard_coded/construct_bug_submodule.m:
	Add a new regression test.
2004-02-16 02:28:09 +00:00