egcs-2.93.22 19990518 (i686-pc-linux-gnu): ICE in `fold_truthop', at fold-const.c:3813
Raja R Harinath
harinath@cs.umn.edu
Tue May 18 14:22:00 GMT 1999
Hi,
The following simple program causes an internal compiler error:
/* output1.c */
typedef int gboolean;
typedef struct{
gboolean names : 1;
gboolean types : 1;
} ParamOptions;
int p_param(ParamOptions* o){
return o->types && o->names;
}
The compiler output is
han ~/z/z > gcc -v
Reading specs from /home/grad04/harinath/linux/lib/gcc-lib/i686-pc-linux-gnu/egcs-2.93.22/specs
gcc version egcs-2.93.22 19990518 (gcc2 ss-980929 experimental)
han ~/z/z > gcc -O2 -c output1.c
output1.c: In function `p_param':
output1.c:9: Internal compiler error in `fold_truthop', at fold-const.c:3813
Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
See <URL: http://egcs.cygnus.com/faq.html#bugreport > for details.
The problem goes away if `int' is used directly instead of `gboolean'
(equiv. `#define gboolean int' instead of `typedef int gboolean;').
That part of the code appears to have been last modified by:
1999-05-17 Andreas Schwab <schwab@issan.cs.uni-dortmund.de>
[snip]
* fold-const.c (fold_truthop): When converting a one-bit
comparison don't sign extend the constant.
- Hari
--
Raja R Harinath ------------------------------ harinath@cs.umn.edu
"When all else fails, read the instructions." -- Cahn's Axiom
"Our policy is, when in doubt, do the right thing." -- Roy L Ash
More information about the Gcc-bugs
mailing list