[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Bug in gprolog.h?
From: |
Daniel Diaz |
Subject: |
Re: Bug in gprolog.h? |
Date: |
Thu, 04 Jul 2013 13:22:28 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130623 Thunderbird/17.0.7 |
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.