This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: __attribute__ ((regparm(...))) in function declaration and gcc3.4.0
- From: Nicholas Nethercote <njn25 at cam dot ac dot uk>
- To: Serge Belyshev <1319 at bot dot ru>
- Cc: gcc at gcc dot gnu dot org
- Date: Sun, 29 Feb 2004 22:17:33 +0000 (GMT)
- Subject: Re: __attribute__ ((regparm(...))) in function declaration and gcc3.4.0
- References: <87oerix8sf.fsf@bot.ru>
On Sun, 29 Feb 2004, Serge Belyshev wrote:
> Why this fails to compile with gcc 3.4.0 (i686-pc-linux-gnu, 20030229)?
>
> $ cat > test.h
> int plus (int a, int b) __attribute__ ((regparm (2)));
> $ cat > test.c
> #include "test.h"
>
> int plus (int a, int b)
> {
> return a + b;
> }
> $ gcc -c test.c
> test.c:4: error: conflicting types for 'plus'
> test.h:1: error: previous declaration of 'plus' was here
> test.c:4: error: conflicting types for 'plus'
> test.h:1: error: previous declaration of 'plus' was here
Try adding the __attribute__((regparm(2))) to the function definition as
well. It seems this behaviour is new with 3.4.0.
N