mirror of
https://github.com/Mercury-Language/mercury.git
synced 2025-12-20 00:15:27 +00:00
Add builtin 8, 16 and 32 bit integer types -- Part 2.
Enable support for literals of the new types.
Begin implementing library support for 8, 16, and 32 bit types.
Update the compiler to represent values of their own constants.
library/int8.m:
library/int16.m:
library/int32.m:
library/uint8.m:
library/uint16.m:
library/uint32.m:
Begin filling these modules out.
library/uint.m:
Unrelated change: add the predicates plus/2, minus/2 and
times/2 for uints.
library/integer.m:
Add predicates for converting integer/0 values into values
of the new types.
Add functions for converting values of the new types into
integer/0 values.
library/string.m:
Add functions for converting values of the new types to strings.
library/private_builtin.m:
Replace the placeholder definitions for the builtin unify and compare
predicates for the new types with their actual definitions.
library/erlang_rtti_implementation.m:
library/rtti_implementation.m:
Replace placeholder definitions for the new types with their
actual definitions.
library/io.m:
Add predicates for writing values of the new types to file streams.
library/stream.string_writer.m:
Implement generic write and print for values of the new types.
library/string.to_string.m:
Likewise for string/1.
library/term.m:
library/term_conversion.m:
Add predicates and functions for converting the new types to
and from terms.
compiler/builtin_ops.m:
compiler/elds.m:
compiler/hlds_data.m:
compiler/llds.m:
compiler/mlds.m:
compiler/prog_data.m:
Replace placeholders for the new types with the new types.
compiler/superhomogeneous.m:
Enable literals of the new types.
compiler/mlds_to_cs.m:
Avoid a warning from the C# compiler for bitwise-or operators
with sbyte operands.
compiler/c_util.m:
compiler/elds_to_erlang.m:
compiler/hlds_out_util.m:
compiler/llds_out_data.m:
compiler/lookup_switch.m:
compiler/mlds_to_c.m:
compiler/mlds_to_java.m:
compiler/opt_debug.m:
compiler/parse_tree_out_info.m:
compiler/parse_tree_to_term.m:
compiler/prog_out.m:
compiler/prog_rep.m:
compiler/prog_util.m:
Replace placeholder code for the new types with code that uses the new
types.
tests/invalid/invalid_int.m:
tests/invalid/invalid_int.err_exp2:
Extend this test case to cover the fixed size integer types.
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
%-----------------------------------------------------------------------------%
|
||||
% vim: ft=mercury ts=4 sw=4 et
|
||||
%-----------------------------------------------------------------------------%
|
||||
% Copyright (C) 1994-2011 The University of Melbourne.
|
||||
% Copyright (C) 1994-2012 The University of Melbourne.
|
||||
% Copyright (C) 2013-2017 The Mercury team.
|
||||
% This file may only be copied under the terms of the GNU General
|
||||
% Public License - see the file COPYING in the Mercury distribution.
|
||||
%-----------------------------------------------------------------------------%
|
||||
@@ -445,22 +446,22 @@ dump_const(MaybeProcLabel, Const) = Str :-
|
||||
Str = uint_to_string(U)
|
||||
;
|
||||
Const = llconst_int8(I8),
|
||||
Str = int_to_string(I8)
|
||||
Str = int8_to_string(I8)
|
||||
;
|
||||
Const = llconst_uint8(U8),
|
||||
Str = int_to_string(U8)
|
||||
Str = uint8_to_string(U8)
|
||||
;
|
||||
Const = llconst_int16(I16),
|
||||
Str = int_to_string(I16)
|
||||
Str = int16_to_string(I16)
|
||||
;
|
||||
Const = llconst_uint16(U16),
|
||||
Str = int_to_string(U16)
|
||||
Str = uint16_to_string(U16)
|
||||
;
|
||||
Const = llconst_int32(I32),
|
||||
Str = int_to_string(I32)
|
||||
Str = int32_to_string(I32)
|
||||
;
|
||||
Const = llconst_uint32(U32),
|
||||
Str = int_to_string(U32)
|
||||
Str = uint32_to_string(U32)
|
||||
;
|
||||
Const = llconst_foreign(F, _),
|
||||
Str = F
|
||||
|
||||
Reference in New Issue
Block a user