gobject-introspection r577 - in trunk: . giscanner



Author: johan
Date: Sat Sep  6 22:12:14 2008
New Revision: 577
URL: http://svn.gnome.org/viewvc/gobject-introspection?rev=577&view=rev

Log:
2008-09-07  Johan Dahlin  <johan gnome org>

    Bug 551162 â giscanner does not recognize asm and __asm__
    * giscanner/scannerlexer.l:
    Patch by Jani Monoses.



Modified:
   trunk/ChangeLog
   trunk/giscanner/scannerlexer.l

Modified: trunk/giscanner/scannerlexer.l
==============================================================================
--- trunk/giscanner/scannerlexer.l	(original)
+++ trunk/giscanner/scannerlexer.l	Sat Sep  6 22:12:14 2008
@@ -127,6 +127,8 @@
 
 [a-zA-Z_][a-zA-Z_0-9]*			{ if (scanner->macro_scan) return IDENTIFIER; else REJECT; }
 
+"asm"           		        { if (!parse_ignored_macro()) REJECT; }
+"__asm__" 	        	        { if (!parse_ignored_macro()) REJECT; }
 "auto"					{ return AUTO; }
 "_Bool"					{ return BOOL; }
 "break"					{ return BREAK; }
@@ -416,7 +418,7 @@
 
 /*
  * This parses a macro which is ignored, such as
- * __attribute__(x)
+ * __attribute__((x)) or __asm__ (x)
  */
 static int
 parse_ignored_macro (void)
@@ -428,10 +430,6 @@
 		;
 	if (c != '(')
 		return FALSE;
-	while ((c = input ()) != EOF && isspace (c))
-		;
-	if (c != '(')
-		return FALSE;
 
 	nest = 0;
 	while ((c = input ()) != EOF && (nest > 0 || c != ')')) {
@@ -457,10 +455,5 @@
 			lineno++;
 	}
 
-	while ((c = input ()) != EOF && isspace (c))
-		;
-	if (c != ')')
-		return FALSE;
-
 	return TRUE;
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]