On 10/14/19 1:32 AM, Dagobert Michelsen wrote:
I guess nowadays int is always 64 bit
No, it's 32 bits on that platform.
I am trying to compile the most recent bison 3.4.2 on Solaris 10 Sparc and i386
with Sun Studio
and get the error
CC src/bison-state.o
"./lib/inttypes.h", line 61: #error: "This file assumes that 'int' has exactly 32 bits.
Please report your platform and compiler to <bug-gnu...@gnu.org>."
cc: acomp failed for src/state.c
gmake[2]: *** [Makefile:7088: src/bison-state.o] Error 2
I'm not seeing that problem on Solaris 10 sparc with Oracle Developer Studio
12.6 (a.k.a. Sun Studio). I built Bison 3.4.2 as follows:
export
PATH=/usr/bin:/usr/sbin:/usr/ccs/bin:/r/share1/src/developerstudio12.6/bin
./configure M4=/usr/sfw/bin/gm4
where the Oracle compiler was installed in /r/share1/src/developerstudio12.6.
How did you build Bison?
Also, what's the output of 'cc -E' on the following input, when you use your
compiler with the same flags that you used to build Bison?
#include <inttypes.h>
#include <stdint.h>
#include <limits.h>
!(INT_MIN == INT32_MIN && INT_MAX == INT32_MAX)
For me, the output ends like this:
!( ( - 2147483647 - 1 ) == ( - 2147483647 - 1 ) && 2147483647 == (
2147483647 ))
#ident "acomp: Studio 12.6 Sun C 5.15 SunOS_sparc 2017/05/30"