Re: ARM and __attribute__ long_call error

2005-06-08 Thread Jani Monoses
void __attribute__ ((long_call)) pig(void) { } Ok thanks, with such change to the definition the file compiles. I didn't know one can attribute definitions too, and info gcc says: " The keyword `__attribute__' allows you to specify special attributes when making a declaration. " So I suppos

Re: ARM and __attribute__ long_call error

2005-06-08 Thread Richard Earnshaw
On Wed, 2005-06-08 at 11:51, Jani Monoses wrote: > >>Is there anything tricky that prevents an easy implementation? > > > > Yes, internally the routine that's doing the comparison can't > > distinguish declarations from definitions. We need to diagnose > > Is the routine arm_comp_type_attributes

Re: ARM and __attribute__ long_call error

2005-06-08 Thread Jani Monoses
Is there anything tricky that prevents an easy implementation? Yes, internally the routine that's doing the comparison can't distinguish declarations from definitions. We need to diagnose Is the routine arm_comp_type_attributes() in gcc/config/arm/arm.c by any chance? conflicting declarati

Re: ARM and __attribute__ long_call error

2005-06-08 Thread Richard Earnshaw
On Wed, 2005-06-08 at 11:11, Jani Monoses wrote: > >>void pig(void) __attribute__ ((long_call)); > >>void pig(void) > >>{ > >>} > > > > Yes, that's the way it's currently coded. > > > > The problem, it seems to me, is that we want to fault: > > > > void pig(void) __attribute__ ((long_cal

Re: ARM and __attribute__ long_call error

2005-06-08 Thread Jani Monoses
void pig(void) __attribute__ ((long_call)); void pig(void) { } Yes, that's the way it's currently coded. The problem, it seems to me, is that we want to fault: void pig(void) __attribute__ ((long_call)); ... void pig(void); and void pig(void);

Re: ARM and __attribute__ long_call error

2005-06-07 Thread Richard Earnshaw
On Tue, 2005-06-07 at 16:08, Jani Monoses wrote: > Hello > > trying to compile the following simple source file using arm-elf-gcc 4.0 > > void pig(void) __attribute__ ((long_call)); > void pig(void) > { > } > > yields: > > error: conflicting types for 'pig' > error: previous declaration of 'pig

ARM and __attribute__ long_call error

2005-06-07 Thread Jani Monoses
Hello trying to compile the following simple source file using arm-elf-gcc 4.0 void pig(void) __attribute__ ((long_call)); void pig(void) { } yields: error: conflicting types for 'pig' error: previous declaration of 'pig' was here The same with gcc3.3. With other function attributes (isr, sec