digitalmars.D.bugs - longjmp Error: Access Violation
- some where.com (48/48) May 06 2004 The following program runs correctly on Linux, but on Win2K it errors ou...
- some where.com (1/49) Jun 04 2004
- some where.com (1/68) Jun 08 2004
The following program runs correctly on Linux, but on Win2K it errors out: H:\bug.exe here! Error: Access Violation ----------------------------------------------------------- bug.d --------- import std.c.setjmp; int main() { jmp_buf jb; setjmp(jb); printf("here!\n"); longjmp(jb, 1); return 1; } ----------------------------------------------------------- setjmp.d --------- module std.c.setjmp; extern (C) { struct __nt_context { int esp; int info; int prev; int handler; int stable; int sindex; int ebp; }; /* Copyright (C) 1986-2001 by Digital Mars. $Revision: 1.1.1.1 $ */ /* Define _CRTAPI1 (for compatibility with the NT SDK) */ /* Define _CRTAPI2 (for compatibility with the NT SDK) */ /* Define CRTIMP */ alias int jmp_buf[16]; extern (C) int _setjmp(jmp_buf); extern (C) int setjmp(jmp_buf); /* prototype provided for backward compatability */ extern (C) void longjmp(jmp_buf,int); extern (C) int _inline_setjmp(jmp_buf); /* * Define jump buffer layout for setjmp/longjmp under NT that unwinds stack */ struct __JUMP_BUFFER { uint Ebp; uint Ebx; uint Edi; uint Esi; uint Esp; uint Eip; uint Except_Registration; uint TryLevel; uint Reserved; uint Unwind_Handler; uint ExceptData[6]; } } ----------------------------------------------------------- setjmp.d ---------
May 06 2004
In article <c7fb8q$25oi$1 digitaldaemon.com>, some where.com says...The following program runs correctly on Linux, but on Win2K it errors out: H:\bug.exe here! Error: Access Violation ----------------------------------------------------------- bug.d --------- import std.c.setjmp; int main() { jmp_buf jb; setjmp(jb); printf("here!\n"); longjmp(jb, 1); return 1; } ----------------------------------------------------------- setjmp.d --------- module std.c.setjmp; extern (C) { struct __nt_context { int esp; int info; int prev; int handler; int stable; int sindex; int ebp; }; /* Copyright (C) 1986-2001 by Digital Mars. $Revision: 1.1.1.1 $ */ /* Define _CRTAPI1 (for compatibility with the NT SDK) */ /* Define _CRTAPI2 (for compatibility with the NT SDK) */ /* Define CRTIMP */ alias int jmp_buf[16]; extern (C) int _setjmp(jmp_buf); extern (C) int setjmp(jmp_buf); /* prototype provided for backward compatability */ extern (C) void longjmp(jmp_buf,int); extern (C) int _inline_setjmp(jmp_buf); /* * Define jump buffer layout for setjmp/longjmp under NT that unwinds stack */ struct __JUMP_BUFFER { uint Ebp; uint Ebx; uint Edi; uint Esi; uint Esp; uint Eip; uint Except_Registration; uint TryLevel; uint Reserved; uint Unwind_Handler; uint ExceptData[6]; } } ----------------------------------------------------------- setjmp.d ---------
Jun 04 2004
In article <c9r2a8$28hf$1 digitaldaemon.com>, some where.com says...In article <c7fb8q$25oi$1 digitaldaemon.com>, some where.com says...The following program runs correctly on Linux, but on Win2K it errors out: H:\bug.exe here! Error: Access Violation ----------------------------------------------------------- bug.d --------- import std.c.setjmp; int main() { jmp_buf jb; setjmp(jb); printf("here!\n"); longjmp(jb, 1); return 1; } ----------------------------------------------------------- setjmp.d --------- module std.c.setjmp; extern (C) { struct __nt_context { int esp; int info; int prev; int handler; int stable; int sindex; int ebp; }; /* Copyright (C) 1986-2001 by Digital Mars. $Revision: 1.1.1.1 $ */ /* Define _CRTAPI1 (for compatibility with the NT SDK) */ /* Define _CRTAPI2 (for compatibility with the NT SDK) */ /* Define CRTIMP */ alias int jmp_buf[16]; extern (C) int _setjmp(jmp_buf); extern (C) int setjmp(jmp_buf); /* prototype provided for backward compatability */ extern (C) void longjmp(jmp_buf,int); extern (C) int _inline_setjmp(jmp_buf); /* * Define jump buffer layout for setjmp/longjmp under NT that unwinds stack */ struct __JUMP_BUFFER { uint Ebp; uint Ebx; uint Edi; uint Esi; uint Esp; uint Eip; uint Except_Registration; uint TryLevel; uint Reserved; uint Unwind_Handler; uint ExceptData[6]; } } ----------------------------------------------------------- setjmp.d ---------
Jun 08 2004