|
From: <no...@so...> - 2001-05-18 00:43:16
|
Bugs item #425021, was updated on 2001-05-17 17:03 You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=102435&aid=425021&group_id=2435 Category: gcc Group: Known bugs Status: Open Resolution: None Priority: 5 Submitted By: David Gravereaux (davygrvy) Assigned to: Nobody/Anonymous (nobody) Summary: Structured Exception Handling missing Initial Comment: Although Win32 SEH is an OS `feature`, it requires new language semantics: http://msdn.microsoft.com/library/devprods/vs6/visualc/ vccore/_core_exception_handling_topics_.28.seh.29.htm The attached file should compile with mingw. The M$VC++ understands it: D:\itcl_exp>cl -c SEHtest.c Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 Copyright (C) Microsoft Corp 1984-1998. All rights reserved. sehtest.c D:\itcl_exp> MinGW does not: daveg@HALEAKALA d:/itcl_exp $ gcc -c -mno-cygwin SEHtest.c SEHtest.c: In function `SomeCloseProc': SEHtest.c:7: `__try' undeclared (first use in this function) SEHtest.c:7: (Each undeclared identifier is reported only once SEHtest.c:7: for each function it appears in.) SEHtest.c:7: parse error before `{' SEHtest.c: At top level: SEHtest.c:11: syntax error before `{' SEHtest.c:15: parse error before `1' SEHtest.c:18: parse error before `return' daveg@HALEAKALA d:/itcl_exp $ ---------------------------------------------------------------------- >Comment By: Danny Smith (dannysmith) Date: 2001-05-17 17:43 Message: Logged In: YES user_id=11494 Can you show me in the ANSI standard or any standard for that matter where SEH is defined as "built-in language statement"? I agree that SEH is useful and very important to some users, and I wish I knew enough about assembly programming to do something about it. But... BTW TCL 8.3.3 can be compiled with mingw, with a few simple patches to the __try blocks, which essentially convert them to no-ops. Crashes aren't handled very gracefully, but it will compile and run. I have been intending to submit patches to TCL but have been delayed by the change in host of their site. Danny ---------------------------------------------------------------------- Comment By: David Gravereaux (davygrvy) Date: 2001-05-17 17:16 Message: Logged In: YES user_id=7549 SEHtest.c:7: `__try' undeclared (first use in this function) __try is not a function. __try is a built-in language statement, and has semantics, to implement SEH. __leave is only valid within a __try block. GetExceptionCode() is not a function either. It's a keyword only valid within the except filter. I could keep going on defining the rules, but I'll save my typing energy for other things :) Please don't consider this an M$ hack job. SEH is very important to some users, like myself. Tcl cannot be compiled by MinGW due to this missing feature. ---------------------------------------------------------------------- You can respond by visiting: http://sourceforge.net/tracker/?func=detail&atid=102435&aid=425021&group_id=2435 |