This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the EGCS project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: [C/C++] obscure ICEs with __complex__ on Solaris


Gabriel Dos_Reis <Gabriel.Dos_Reis@sophia.inria.fr> writes:
> 
> Well, these took me two days to track :-(

If I had seen yours earlier, mine would've taken a lot shorter ;-) See
below.

> While cleaning libstdc++-v3/bits/std_complex.h, I found the following
> craches the compiler (current CVS):
> 
> poivre% cat /tmp/1.C 
> 
> struct gnu_double_complex {
>     __complex__ double v;
> 
>     gnu_double_complex(double, double);
> };
> 
> gnu_double_complex::gnu_double_complex(double r, double i)
> {
>     __real__ v = r;
>     __imag__ v = i;
> }
> 
> int main()
> {
>     gnu_double_complex z(9, 7);
> 
>     gnu_double_complex w = z;
> }
> 
> poivre% ~/EGCS/bin/g++ -O 1.C  
> 1.C: In function `int main()':
> 1.C:16: Internal compiler error.
> 1.C:16: Please submit a full bug report.
> 1.C:16: See <URL:http://egcs.cygnus.com/faq.html#bugreport> for instructions.

Hi Gaby, 

Ah, I just submitted a bug report that dies in the same place. Please see
my post to see the gdb backtrace and cause of the crash.

The culprit seems to be 
  tree part_type = TREE_TYPE (TREE_TYPE (decl));
in function.c:put_var_into_stack().

Regards,
Mumit


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]