http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46755

--- Comment #9 from H.J. Lu <hjl.tools at gmail dot com> 2011-01-02 23:12:46 
UTC ---
(In reply to comment #8)
> Not sure if this is still useful, but here's a fairly small failure-inducing
> testcase for this bug for today's GCC.
> 
> [reg...@gamow tmp437]$ current-gcc -O2 -c small.c
> 
> small.c: In function 'func':
> small.c:32:1: internal compiler error: in calc_dfs_tree, at dominance.c:395
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <http://gcc.gnu.org/bugs.html> for instructions.
> 
> [reg...@gamow tmp437]$ current-gcc -v
> 
> Using built-in specs.
> COLLECT_GCC=current-gcc
> COLLECT_LTO_WRAPPER=/uusoc/exports/scratch/regehr/z/compiler-install/gcc-r168402-install/bin/../libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
> Target: x86_64-unknown-linux-gnu
> Configured with: ../configure --with-libelf=/usr/local --enable-lto
> --prefix=/home/regehr/z/compiler-install/gcc-r168402-install
> --program-prefix=r168402- --enable-languages=c,c++
> Thread model: posix
> gcc version 4.6.0 20110102 (experimental) (GCC) 
> 
> [reg...@gamow tmp437]$ cat small.c
> 
> 
> static int
> foo (int si1, short si2)
> {
>   return ((si1 ^ si2) & ((si1 ^ (si1 ^ si2) & ~2147483647) - si2 ^ si2)) <
>     0 ? si1 : si1 - si2;
> }
> 
> struct S0
> {
>   const unsigned f3:1;
>   const unsigned f8:1;
> };
> struct S0 g_111 = {
>   1
> };
> 
> struct S0 g_139 = {
>   1
> };
> 
> unsigned long int g_22;
> 
> void safe (int);
> int func_42 (void);
> 
> void func (void)
> {
>   safe (foo (func_42 () != (g_139.f3 | g_111.f8), -1L));
>   for (g_22 = 0; g_22; g_22 = 1)
>     {
>     }
> }

This is caused by revision 164431:

http://gcc.gnu.org/ml/gcc-cvs/2010-09/msg00727.html

Reply via email to