]> git.ipfire.org Git - thirdparty/vala.git/commitdiff
support C99 _Bool type
authorJuerg Billeter <j@bitron.ch>
Fri, 18 Jan 2008 22:17:00 +0000 (22:17 +0000)
committerJürg Billeter <juergbi@src.gnome.org>
Fri, 18 Jan 2008 22:17:00 +0000 (22:17 +0000)
2008-01-18  Juerg Billeter  <j@bitron.ch>

* gobject-introspection/gidlparser.c,
  gobject-introspection/scannerlexer.l,
  gobject-introspection/scannerparser.y: support C99 _Bool type

svn path=/trunk/; revision=860

ChangeLog
gobject-introspection/gidlparser.c
gobject-introspection/scannerlexer.l
gobject-introspection/scannerparser.y

index 474073d73cec94dbabb318846e35a4a892b54679..609873cba4800c9124413d0a59afff119e4913b5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2008-01-18  Jürg Billeter  <j@bitron.ch>
+
+       * gobject-introspection/gidlparser.c,
+         gobject-introspection/scannerlexer.l,
+         gobject-introspection/scannerparser.y: support C99 _Bool type
+
 2008-01-18  Jürg Billeter  <j@bitron.ch>
 
        * vala/scanner.l: support nested generic types, fixes bug 443522
index 3d5292619f654b00905b40a6b1aa9816844fcbc9..6a76b2ca7b112a027cf6a6a55e96e48e42698c16 100644 (file)
@@ -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 },
index 255f7dcd61be4f287d8ce0276d305f85723c2860..d5af511b4832a6d49fc2d37dc7ecb9615f115379 100644 (file)
@@ -2,7 +2,7 @@
 /* GObject introspection: C lexer
  *
  * Copyright (c) 1997 Sandro Sigala  <ssigala@globalnet.it>
- * Copyright (c) 2007 Jürg Billeter  <j@bitron.ch>
+ * Copyright (c) 2007-2008 Jürg Billeter  <j@bitron.ch>
  *
  * 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; }
index fae5067dbeb0f3b55200fd3cfe1377aed3545beb..47a97b60193b6646b3f3272901f9802d6bbe51fb 100644 (file)
@@ -1,7 +1,7 @@
 /* GObject introspection: C parser
  *
  * Copyright (c) 1997 Sandro Sigala  <ssigala@globalnet.it>
- * Copyright (c) 2007 Jürg Billeter  <j@bitron.ch>
+ * Copyright (c) 2007-2008 Jürg Billeter  <j@bitron.ch>
  *
  * 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