This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: gcc-4.4 objc internal compiler error
On Mon, 30 Mar 2009 11:43:12 +0200, "Vincent R." <forumer@smartmobili.com>
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.