summaryrefslogtreecommitdiff
path: root/giscanner/scannerlexer.l
diff options
context:
space:
mode:
authorAlban Browaeys <prahal@yahoo.com>2012-06-28 18:34:02 +0200
committerTomeu Vizoso <tomeu.vizoso@collabora.com>2012-08-03 13:57:11 +0200
commitbeb5c820139693c85f4e5277a7c430dd6042fbcb (patch)
treedec4ff90163f46aa8afaa22d0356609cde3f8dfa /giscanner/scannerlexer.l
parentd0ffee9bffacbeb45cc4e03079fe143d5f73288d (diff)
downloadgobject-introspection-beb5c820139693c85f4e5277a7c430dd6042fbcb.tar.gz
giscanner: special case G_GINT64_CONSTANT and G_GUINT64_CONSTANT + misc
This let the macro expands to its value as gint64/guint64. Also - fix lexer identifier/typdef detection for macro and misc - do not discard cast
Diffstat (limited to 'giscanner/scannerlexer.l')
-rw-r--r--giscanner/scannerlexer.l4
1 files changed, 3 insertions, 1 deletions
diff --git a/giscanner/scannerlexer.l b/giscanner/scannerlexer.l
index 8ff6b7be..a783ec06 100644
--- a/giscanner/scannerlexer.l
+++ b/giscanner/scannerlexer.l
@@ -147,7 +147,9 @@ stringtext ([^\\\"])|(\\.)
"__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; }
+"G_GINT64_CONSTANT" { return INTL_CONST; }
+"G_GUINT64_CONSTANT" { return INTUL_CONST; }
+[a-zA-Z_][a-zA-Z_0-9]* { if (scanner->macro_scan) return check_identifier(scanner, yytext); else REJECT; }
"asm" { if (!parse_ignored_macro()) REJECT; }
"auto" { return AUTO; }