This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: C99 spelling of "asm".


On Mon, Jun 02, 2003 at 09:19:03AM -0700, David O'Brien wrote:
> My read of the C99 standard is that "asm(...)" should be accepted by
> "gcc -std=c99 -pedantic":
> 
>     J.5.10 _The_asm_keyword_
> 
>     The 'asm' keyword may be used to insert assembly language directly
>     into the translator output (6.8).  The most common implementation is
>     via a statement of the form:
> 
>         asm ( 'character-string-literal' ) ;
> 
> However, I get this error:
> 
>     testasm.c: In function `main':
>     testasm.c:4: warning: implicit declaration of function `asm'
>     testasm.c:4: syntax error before ':' token
> 
> changing "asm" to "__asm" or using "-std=gnu99 -pedantic" works.  Has GCC
> not caught up with iso9899:1999, or is there some other reason "asm();"
> isn't accepted?

Yes, there is a reason, given in J.5:
"The inclusion of any extension that may cause a strictly conforming program
to become invalid renders an implementation nonconforming."

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]