[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[ft-devel] ft_setjmp in Codewarrior
From: |
Garrick Meeker |
Subject: |
[ft-devel] ft_setjmp in Codewarrior |
Date: |
Tue, 19 Sep 2006 15:15:51 -0700 |
In Codewarrior jmp_buf is declared as:
typedef long *jmp_buf[70];
so the volatile FT_ValidatorRec makes the pointers volatile but this
code in ftobjs.c fails:
volatile jmp_buf* jump_buffer = &valid->jump_buffer;
Error : illegal implicit conversion from 'long *volatile (*)[70]' to
'volatile long * (*)[70]'
ftobjs.c line 95 volatile jmp_buf* jump_buffer = &valid-
>jump_buffer;
Note that jmp_buf volatile* is not the correct type either.
also:
Error : illegal implicit conversion from 'long *volatile [70]' to
'long **'
ttcmap.c line 2296 if ( idator)( &valid ))-
>jump_buffer) == 0 )
Before I submit a patch that explicitly casts:
< if ( ft_setjmp( FT_VALIDATOR( &valid )->jump_buffer )
== 0 )
---
> if ( ft_setjmp( *(ft_jmp_buf*) &FT_VALIDATOR( &valid )-
>jump_buffer ) == 0 )
is there a better way to deal with this?
- [ft-devel] ft_setjmp in Codewarrior,
Garrick Meeker <=