users-prolog
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]