lkml.org 
[lkml]   [2006]   [Oct]   [7]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
FromKyle Moffett <>
SubjectRe: __STRICT_ANSI__ checks in headers
DateSat, 7 Oct 2006 03:17:55 -0400
On Oct 06, 2006, at 04:26:22, David Woodhouse wrote:
> On Thu, 2006-10-05 at 11:16 +0300, Ismail Donmez wrote:
>> The problem shows itself in the modpost, somehow __extension__  
>> clause seems to  foobar module CRC. I am not yet successfull on  
>> making modpost ignore
>> __extension__ .
>>
>> Any ideas appreciated.
>
> Something like this (and build with GENERATE_PARSER=1) _ought_ to  
> do it,
> but doesn't work:
>
> @@ -269,7 +270,7 @@ cvar_qualifier_seq:
>
>  cvar_qualifier:
>  	CONST_KEYW | VOLATILE_KEYW | ATTRIBUTE_PHRASE
> -	| RESTRICT_KEYW
> +	| RESTRICT_KEYW | EXTENSION_KEYW
>  		{ /* restrict has no effect in prototypes so ignore it */
>  		  remove_node($1);
>  		  $$ = $1;

Well it's actually technically not a cvar_qualifier; it's a pseudo- 
arbitrarily attached keyword that can be stuck on any number of GCC- 
only constructs, like nested code: "__extension__ ({ foo(); 1; })"  
for example.
Probably the simplest thing to do is actually to just convert it into  
a nonexistent or whitespace token, or if there's a preprocessing step  
just #define it to the empty string.

Cheers,
Kyle Moffett

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2006-10-07 09:23    [from the cache]
©2003-2008