Parse and discard __typeof and __attribute.
authorJohan Dahlin <jdahlin@async.com.br>
Thu, 30 Oct 2008 17:48:45 +0000 (17:48 +0000)
committerJohan Dahlin <johan@src.gnome.org>
Thu, 30 Oct 2008 17:48:45 +0000 (17:48 +0000)
2008-10-30  Johan Dahlin  <jdahlin@async.com.br>

    * giscanner/scannerlexer.l:
    Parse and discard __typeof and __attribute.

svn path=/trunk/; revision=843

ChangeLog
giscanner/scannerlexer.l

index 81caed9..eb750c4 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,10 @@
 2008-10-30  Johan Dahlin  <jdahlin@async.com.br>
 
+       * giscanner/scannerlexer.l:
+       Parse and discard __typeof and __attribute.
+
+2008-10-30  Johan Dahlin  <jdahlin@async.com.br>
+
        * giscanner/girparser.py:
        Remove arguments from the constructor, move them to
        separate accessors. Add a new parse_tree method
index 9a1daf6..50dec6c 100644 (file)
@@ -118,20 +118,22 @@ stringtext                                ([^\\\"])|(\\.)
 ","                                    { return ','; }
 "->"                                   { return ARROW; }
 
+"__asm"                                { if (!parse_ignored_macro()) REJECT; }
+"__asm__"                              { if (!parse_ignored_macro()) REJECT; }
 "__attribute__"                        { if (!parse_ignored_macro()) REJECT; }
+"__attribute"                          { if (!parse_ignored_macro()) REJECT; }
 "__const"                               { return CONST; }
 "__extension__"                         { return EXTENSION; }
 "__inline"                             { return INLINE; }
 "__nonnull"                            { if (!parse_ignored_macro()) REJECT; }
 "__restrict"                           { return RESTRICT; }
+"__typeof"                             { if (!parse_ignored_macro()) REJECT; }
+"_Bool"                                        { return BOOL; }
 
 [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; }
-"__asm__"                              { if (!parse_ignored_macro()) REJECT; }
 "auto"                                 { return AUTO; }
-"_Bool"                                        { return BOOL; }
 "break"                                        { return BREAK; }
 "case"                                 { return CASE; }
 "char"                                 { return CHAR; }
@@ -148,7 +150,6 @@ stringtext                          ([^\\\"])|(\\.)
 "goto"                                 { return GOTO; }
 "if"                                   { return IF; }
 "inline"                               { return INLINE; }
-"__inline__"                           { return INLINE; }
 "int"                                  { return INT; }
 "long"                                 { return LONG; }
 "register"                             { return REGISTER; }