Dan
Peter Jay Salzman wrote:
Bug: GDB segfaults when printing long double complex variables.
Sample Code:
1 #include <tgmath.h> 2 #include <stdio.h> 3 4 int main(void) 5 { 6 complex a; 7 double complex b; 8 long double complex c; 9 10 a = 5 + 2I; 11 printf("%f + %fi\n", __real__ a, __imag__ a); 12 13 b = 5.0 + 2.0I; 14 printf("%f + %fi\n", __real__ b, __imag__ b); 15 16 c = 5.0L + 2.0LI; 17 printf("%Lf + %Lfi\n", __real__ c, __imag__ c); 18 19 return 0; 20 }
The program runs fine:
[EMAIL PROTECTED] gcc-3.3 -g -W -Wall blah.c [EMAIL PROTECTED] ./a.out 5.000000 + 2.000000i
5.000000 + 2.000000i
5.000000 + 2.000000i
The program runs fine under gdb:
(gdb) run
Starting program: /home/p/a.out 5.000000 + 2.000000i
5.000000 + 2.000000i
5.000000 + 2.000000i
Program exited normally.
But GDB itself cannot print long double complex variables without segfaulting:
(gdb) break 18
Breakpoint 1 at 0x8048436: file blah.c, line 18.
(gdb) run
Starting program: /home/p/a.out 5.000000 + 2.000000i
5.000000 + 2.000000i
5.000000 + 2.000000i
Breakpoint 1, main () at blah.c:19 19 return 0; (gdb) p a $1 = 5 + 2 * I (gdb) p b $2 = 5 + 2 * I (gdb) p c Segmentation fault (core dumped)
This is very reproducible, unfortunately. This bug showed up at the worst possible moment...
Pete
_______________________________________________ vox-tech mailing list [EMAIL PROTECTED] http://lists.lugod.org/mailman/listinfo/vox-tech
