Subject: Re: problem compiling egcs cpp
To: Johnny C. Lam <lamj@stat.cmu.edu>
From: Feico Dillema <dillema@acm.org>
List: current-users
Date: 09/30/1998 12:05:21
Your message dated: Wed, 30 Sep 1998 04:34:08 -0400
>After studying the code, I see the problem is here:
>#define MAX_WCHAR_TYPE_MASK (MAX_WCHAR_TYPE_SIZE < HOST_BITS_PER_WIDE_INT \
>                             ? ~ (~ (HOST_WIDE_INT) 0 << MAX_WCHAR_TYPE_SIZE) \
>                             : ~ (HOST_WIDE_INT) 0)
>
>On i386, HOST_WIDE_INT is long, and MAX_WCHAR_TYPE_SIZE == 32, so when
>gcc-2.7.2 evaluates the subexpressions of the macro, the middle piece
>performing the bit shifts is faulted for over-shifting.
>
>I assume egcs would also give the same warning, and the compile of cpp
>would break if compiled with -Werror.

Well, I'n not sure. I got this Warning and followed the naive approach;
remove -Werror and hope for the best (as I thought it might be an egcs
bootstrap problem of some kind). The build completed just fine, and I
did another complete make build with the new compiler. It completed
without hitting the warning...

Feico.