Re: Bug in gprolog.h?
Daniel Diaz <[email protected]>
| Newsgroups | gmane.comp.gnu.prolog.general |
|---|---|
| Message-ID | <[email protected]> |
Hi,
Thank you for this bug report. Fixed in the git. Here is the main diff:
diff --git a/src/EnginePl/pl_config.c b/src/EnginePl/pl_config.c
index def0080..8f9c342 100644
--- a/src/EnginePl/pl_config.c
+++ b/src/EnginePl/pl_config.c
@@ -917,7 +917,7 @@ Generate_Tags(FILE *f, FILE *g)
tag_mask = Mk_Tag_Mask((1 << tag_size) - 1);
- max_integer = ((PlLong) 1 << (WORD_SIZE - tag_size - 1)) - 1;
+ max_integer = (1 << (WORD_SIZE - tag_size - 1)) - 1;
min_integer = -max_integer - 1;
fprintf(fg_c, "#define PL_MIN_INTEGER\t\t%" PL_FMT_d "\n",
min_integer);
Daniel
Le 03/07/2013 18:09, Roberto Bagnara a écrit :
> The header file gprolog.h installed by GNU Prolog 1.4.4
> contains the following (unconditional) definitions:
>
> #define PL_MIN_INTEGER -268435456
> #define PL_MAX_INTEGER 268435455
>
> These are inconsistent with the real limits:
>
> $ gprolog
> GNU Prolog 1.4.4 (64 bits)
> Compiled Jul 3 2013, 18:05:18 with gcc
> By Daniel Diaz
> Copyright (C) 1999-2013 Daniel Diaz
> | ?- current_prolog_flag(min_integer, M).
>
> M = -1152921504606846976
>
> yes
> | ?- current_prolog_flag(max_integer, M).
>
> M = 1152921504606846975
>
> yes
> | ?-
>
> Kind regards,
>
> Roberto
>
--
Ce message a ete verifie par MailScanner
pour des virus ou des polluriels et rien de
suspect n'a ete trouve.