From: Juerg Billeter Date: Fri, 18 Jan 2008 22:17:00 +0000 (+0000) Subject: support C99 _Bool type X-Git-Tag: VALA_0_1_6~7 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f17d23de90182c2fd05d1d859b60a4cf2ec46409;p=thirdparty%2Fvala.git support C99 _Bool type 2008-01-18 Juerg Billeter * gobject-introspection/gidlparser.c, gobject-introspection/scannerlexer.l, gobject-introspection/scannerparser.y: support C99 _Bool type svn path=/trunk/; revision=860 --- diff --git a/ChangeLog b/ChangeLog index 474073d73..609873cba 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-01-18 Jürg Billeter + + * gobject-introspection/gidlparser.c, + gobject-introspection/scannerlexer.l, + gobject-introspection/scannerparser.y: support C99 _Bool type + 2008-01-18 Jürg Billeter * vala/scanner.l: support nested generic types, fixes bug 443522 diff --git a/gobject-introspection/gidlparser.c b/gobject-introspection/gidlparser.c index 3d5292619..6a76b2ca7 100644 --- a/gobject-introspection/gidlparser.c +++ b/gobject-introspection/gidlparser.c @@ -92,6 +92,7 @@ parse_type_internal (gchar *str, gchar **rest) } basic[] = { { "void", TYPE_TAG_VOID, 0 }, { "gpointer", TYPE_TAG_VOID, 1 }, + { "bool", TYPE_TAG_BOOLEAN, 0 }, { "gboolean", TYPE_TAG_BOOLEAN, 0 }, #if 0 { "char", TYPE_TAG_INT8, 0 }, diff --git a/gobject-introspection/scannerlexer.l b/gobject-introspection/scannerlexer.l index 255f7dcd6..d5af511b4 100644 --- a/gobject-introspection/scannerlexer.l +++ b/gobject-introspection/scannerlexer.l @@ -2,7 +2,7 @@ /* GObject introspection: C lexer * * Copyright (c) 1997 Sandro Sigala - * Copyright (c) 2007 Jürg Billeter + * Copyright (c) 2007-2008 Jürg Billeter * * All rights reserved. * @@ -118,6 +118,7 @@ stringtext ([^\"])|(\\.) [a-zA-Z_][a-zA-Z_0-9]* { if (igenerator->macro_scan) return IDENTIFIER; else REJECT; } "auto" { return AUTO; } +"_Bool" { return BOOL; } "break" { return BREAK; } "case" { return CASE; } "char" { return CHAR; } diff --git a/gobject-introspection/scannerparser.y b/gobject-introspection/scannerparser.y index fae5067db..47a97b601 100644 --- a/gobject-introspection/scannerparser.y +++ b/gobject-introspection/scannerparser.y @@ -1,7 +1,7 @@ /* GObject introspection: C parser * * Copyright (c) 1997 Sandro Sigala - * Copyright (c) 2007 Jürg Billeter + * Copyright (c) 2007-2008 Jürg Billeter * * All rights reserved. * @@ -209,7 +209,7 @@ cdirective_free (CDirective *directive) %token ELLIPSIS ADDEQ SUBEQ MULEQ DIVEQ MODEQ XOREQ ANDEQ OREQ SL SR %token SLEQ SREQ EQ NOTEQ LTEQ GTEQ ANDAND OROR PLUSPLUS MINUSMINUS ARROW -%token AUTO BREAK CASE CHAR CONST CONTINUE DEFAULT DO DOUBLE ELSE ENUM +%token AUTO BOOL BREAK CASE CHAR CONST CONTINUE DEFAULT DO DOUBLE ELSE ENUM %token EXTERN FLOAT FOR GOTO IF INLINE INT LONG REGISTER RESTRICT RETURN SHORT %token SIGNED SIZEOF STATIC STRUCT SWITCH TYPEDEF UNION UNSIGNED VOID VOLATILE %token WHILE @@ -787,6 +787,10 @@ type_specifier { $$ = cbasic_type_new ("unsigned"); } + | BOOL + { + $$ = cbasic_type_new ("bool"); + } | struct_or_union_specifier | enum_specifier | typedef_name