Re: Pb de compilation sous Mandrake 8.1

Page principale

Répondre à ce message
Auteur: Jérôme UZEL
Date:  
À: guilde
Sujet: Re: Pb de compilation sous Mandrake 8.1
Xavier SIRVENT a écrit :
>
> gcc -c va_arg.cpp
> va_arg.cpp: In function `void foo (char *, ...)':
> va_arg.cpp:26: `char' is promoted to `int' when passed through `...'
> va_arg.cpp:26: (so you should pass `int' not `char' to `va_arg')
> va_arg.cpp: At top level:
> va_arg.cpp:33: parse error before `}'
>


Effectivement, ca passe avec egcs-2.91.66 mais pas avec gcc-2.96 ni
gcc-3.*
Il semble que gcc 3 soit néanmoins conforme (C89)
Les chars sont promus en int. Il te faut quelque chose comme ca:
c = (char)va_arg(ap, int);

http://gcc.gnu.org/ml/gcc-bugs/2001-08/threads.html#00976

-- 
Jérôme UZEL                               jerome.uzel@???