On Mon, 30 Mar 2009 11:43:12 +0200, "Vincent R." <forumer@xxxxxxxxxxxxxxx> wrote: > Hi, > > When trying the following example with an arm_wince gcc-4.4 cross-compiler, > I get an internal > compiler error : > > #import <stdio.h> > #import <objc/Object.h> > #import <objc/NXConstStr.h> > > int main( int argc, const char *argv[] ) > { > int result = 0; > > @try { > printf("in @try\n"); > if (argc > 1) { > @throw @"Throw !"; > //[NSException exceptionWithName:@"Trwoing a test exception" > reason:@"Testing the @throw directive." userInfo:nil]; > > } > } > @catch (id except) { > result = 1; > printf("in @catch\n"); > } > @finally { > result += 2; > } > return result; > } > > objc_try_catch.m: In function 'main': > objc_try_catch.m:25: internal compiler error: in gen_eh_region, at > except.c:425 > Please submit a full bug report, > with preprocessed source if appropriate. > > The problem seems to be caused by an assert checking doing-seh > > static struct eh_region * > gen_eh_region (enum eh_region_type type, struct eh_region *outer) > { > struct eh_region *new_eh; > > #ifdef ENABLE_CHECKING > gcc_assert (doing_eh (0)); > #endif > > DO I need to pass special arguments when building objc cross compiler ? Ok I found -fexceptions.