Re: __STRICT_ANSI__ checks in headers
From: Kyle Moffett
Date:  Sat Oct 07 2006 - 03:26:27 EST
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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/