On Tue, Jul 03, 2007 at 09:55:15PM +0100, Pedro Alves wrote: > Perhaps. Did you look closely? I've registered the .pdata stuff and > the data just before the function directly in the source file that > uses it. That means we can probably hide it in > more-or-less-easy-to-use macros in any function we want.
I think future versions of gcc wont guarantee function placement relative to top-level asm statements. > It shouldn't. It should not be on by default. C++ exceptions are > one thing. SEH is another. Unless they are properly integrated at > the compiler level, they should only be mapped by the user. Let's > make it easy for the user to choose to use it instead. Heh, I never thought of it that way. I was working under the assumption that mingw32ce was trying to be fully compatible with the native CE compiler. However, now that you mention it, raising a C++ exception due to an access violation seems like a pretty silly thing to do. (It helps in haret, because the only thing I use exceptions for are access violations, but in a general application...) I can understand if you don't want this behavior. > Think of it as func() being the __try {} block, and handler() being > the __except block. The user can use this to wrap seh into gcc's C++ > exceptions. I certainly wouldn't want this in most of my c++ code. > I hate when try {} catch (...) { } catches access violations. > We can provide examples, and perhaps a lib for that to serve as example. > > Kevin's case is special, since he is writing a tool that > bypasses WinCE and accesses the physical memory and ARM registers > directly. How many here are doing that? Yes, it is special. I was reluctant to handle this locally in haret because I viewed it as a general problem. However, I'm starting to think that raising a c++ exception isn't a particularly good solution (despite what the msdn docs say). I guess what I really want is to call setjmp before the offending code and have a handler that will longjmp back to it if an access violation comes up. Doing this in a thread-safe manor is going to be a pain though. I'll try to take some of the sample code and integrate it into haret. Thanks again, -Kevin ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Cegcc-devel mailing list Cegcc-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cegcc-devel