summaryrefslogtreecommitdiff
path: root/giscanner/scannerlexer.l
diff options
context:
space:
mode:
authorTing-Wei Lan <lantw@src.gnome.org>2016-04-24 16:51:00 +0800
committerTing-Wei Lan <lantw@src.gnome.org>2018-01-09 12:24:15 +0800
commitab71b25969404f615f44b509f4272ca83349590b (patch)
tree9dedf5521d77d588c88c3fab4f265d3c699c4fa9 /giscanner/scannerlexer.l
parent3ad8fb8170d8a30b1afada8db7993ced1828b6f5 (diff)
downloadgobject-introspection-ab71b25969404f615f44b509f4272ca83349590b.tar.gz
giscanner: Recognize _Thread_local as a storage class specifier
_Thread_local is a C11 keyword, and thread_local is a macro to make it more confortable to read. As this keyword can only be used in variable declarations, not in function return values or parameters, it cannot be included in bindable APIs and we can safely ignore it. https://bugzilla.gnome.org/show_bug.cgi?id=756921
Diffstat (limited to 'giscanner/scannerlexer.l')
-rw-r--r--giscanner/scannerlexer.l2
1 files changed, 2 insertions, 0 deletions
diff --git a/giscanner/scannerlexer.l b/giscanner/scannerlexer.l
index 218024e9..7ffaad7f 100644
--- a/giscanner/scannerlexer.l
+++ b/giscanner/scannerlexer.l
@@ -181,6 +181,8 @@ stringtext ([^\\\"])|(\\.)
"__signed__" { return SIGNED; }
"__restrict" { return RESTRICT; }
"__restrict__" { return RESTRICT; }
+"thread_local" { return THREAD_LOCAL; }
+"_Thread_local" { return THREAD_LOCAL; }
"__typeof" { if (!parse_ignored_macro()) REJECT; }
"__volatile" { return VOLATILE; }
"__volatile__" { return VOLATILE; }