http://d.puremagic.com/issues/show_bug.cgi?id=3604
Witold Baryluk <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Platform|Other |x86 --- Comment #1 from Witold Baryluk <[email protected]> 2009-12-10 10:31:47 PST --- In, 2.032 (just tested) it returns: $ ./bug3604 input: 0 0 input.ptr: BFA00CB8 cast input: BFA00CB8 x = 0 0 x[0] = 0 x[1] = 0 ok $ So not exactly what I written, but pipe is working. So i tested it more precisly: bug3604.d: extern(C) int tttc(int[2] x); void main() { int[2] input; tttc(input); } bug3604c.c: #include <stdio.h> int tttc(int x[2]) { printf("just in C\n"); printf("x=%p\n", x); printf("x[0]=%d\n", x[0]); printf("x[1]=%d\n", x[1]); printf("back from C\n"); } # gcc -c bug3604c.c # dmd2.032 bug3604.d bug3604c.o # ./bug3604 just in C x=0xbf988ff8 x[0]=0 x[1]=0 back from C # dmd2.037 bug3604.d bug3604c.o # ./bug3604 just in C x=(nil) Segmentation fault # So it is regression. In `strace` for "pipe" example I see for 2.032: pipe([3, 4]) = 0 and for 2.037: pipe(0) = -1 EFAULT (Bad address) So it also passes NULL pointer (jiust like in tttc function) . -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
