glccp: Regenerate glcpp-parse.c
authorCarl Worth <cworth@cworth.org>
Wed, 11 Aug 2010 21:00:21 +0000 (14:00 -0700)
committerCarl Worth <cworth@cworth.org>
Wed, 11 Aug 2010 21:38:04 +0000 (14:38 -0700)
Due to a recent change to glcpp-parse.y.

src/glsl/glcpp/glcpp-parse.c

index 05bb7ca48b5c275eb326f1ea175e56ae056fd752..fe7549e5c5fcc097b395b88c293f30d10a2fb620 100644 (file)
@@ -517,16 +517,16 @@ union yyalloc
 /* YYFINAL -- State number of the termination state.  */
 #define YYFINAL  2
 /* YYLAST -- Last index in YYTABLE.  */
-#define YYLAST   604
+#define YYLAST   606
 
 /* YYNTOKENS -- Number of terminals.  */
 #define YYNTOKENS  57
 /* YYNNTS -- Number of nonterminals.  */
 #define YYNNTS  17
 /* YYNRULES -- Number of rules.  */
-#define YYNRULES  100
+#define YYNRULES  101
 /* YYNRULES -- Number of states.  */
-#define YYNSTATES  161
+#define YYNSTATES  162
 
 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 #define YYUNDEFTOK  2
@@ -575,16 +575,16 @@ static const yytype_uint8 yytranslate[] =
 static const yytype_uint16 yyprhs[] =
 {
        0,     0,     3,     4,     7,     9,    11,    13,    16,    20,
-      24,    29,    36,    44,    48,    52,    57,    62,    66,    69,
-      72,    75,    79,    82,    84,    86,    88,    92,    96,   100,
-     104,   108,   112,   116,   120,   124,   128,   132,   136,   140,
-     144,   148,   152,   156,   160,   163,   166,   169,   172,   176,
-     178,   182,   184,   187,   190,   191,   193,   194,   196,   199,
-     204,   206,   208,   211,   213,   216,   218,   220,   222,   224,
-     226,   228,   230,   232,   234,   236,   238,   240,   242,   244,
-     246,   248,   250,   252,   254,   256,   258,   260,   262,   264,
-     266,   268,   270,   272,   274,   276,   278,   280,   282,   284,
-     286
+      24,    29,    36,    44,    48,    52,    55,    60,    65,    69,
+      72,    75,    78,    82,    85,    87,    89,    91,    95,    99,
+     103,   107,   111,   115,   119,   123,   127,   131,   135,   139,
+     143,   147,   151,   155,   159,   163,   166,   169,   172,   175,
+     179,   181,   185,   187,   190,   193,   194,   196,   197,   199,
+     202,   207,   209,   211,   214,   216,   219,   221,   223,   225,
+     227,   229,   231,   233,   235,   237,   239,   241,   243,   245,
+     247,   249,   251,   253,   255,   257,   259,   261,   263,   265,
+     267,   269,   271,   273,   275,   277,   279,   281,   283,   285,
+     287,   289
 };
 
 /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
@@ -595,46 +595,47 @@ static const yytype_int8 yyrhs[] =
        5,    63,    21,    -1,     8,    17,    67,    21,    -1,     7,
       17,    45,    46,    67,    21,    -1,     7,    17,    45,    64,
       46,    67,    21,    -1,    15,    17,    21,    -1,    12,    70,
-      21,    -1,    13,    17,    68,    21,    -1,    14,    17,    68,
-      21,    -1,     9,    70,    21,    -1,     9,    21,    -1,    10,
-      21,    -1,    11,    21,    -1,    16,    62,    21,    -1,     6,
-      21,    -1,    20,    -1,    19,    -1,    62,    -1,    63,    26,
-      63,    -1,    63,    27,    63,    -1,    63,    28,    63,    -1,
-      63,    29,    63,    -1,    63,    30,    63,    -1,    63,    31,
-      63,    -1,    63,    32,    63,    -1,    63,    35,    63,    -1,
-      63,    36,    63,    -1,    63,    34,    63,    -1,    63,    33,
-      63,    -1,    63,    37,    63,    -1,    63,    38,    63,    -1,
-      63,    40,    63,    -1,    63,    39,    63,    -1,    63,    43,
-      63,    -1,    63,    42,    63,    -1,    63,    41,    63,    -1,
-      47,    63,    -1,    48,    63,    -1,    40,    63,    -1,    39,
-      63,    -1,    45,    63,    46,    -1,    17,    -1,    64,    49,
-      17,    -1,    21,    -1,    71,    21,    -1,    71,    21,    -1,
-      -1,    71,    -1,    -1,    71,    -1,     4,    17,    -1,     4,
-      45,    17,    46,    -1,    72,    -1,    69,    -1,    70,    69,
-      -1,    72,    -1,    71,    72,    -1,    17,    -1,    20,    -1,
-      73,    -1,    22,    -1,    24,    -1,    50,    -1,    51,    -1,
-      45,    -1,    46,    -1,    52,    -1,    53,    -1,    54,    -1,
-      30,    -1,    41,    -1,    39,    -1,    40,    -1,    48,    -1,
-      47,    -1,    42,    -1,    43,    -1,    38,    -1,    37,    -1,
-      33,    -1,    34,    -1,    36,    -1,    35,    -1,    32,    -1,
-      31,    -1,    29,    -1,    28,    -1,    27,    -1,    26,    -1,
-      55,    -1,    49,    -1,    56,    -1,    25,    -1
+      21,    -1,    12,    21,    -1,    13,    17,    68,    21,    -1,
+      14,    17,    68,    21,    -1,     9,    70,    21,    -1,     9,
+      21,    -1,    10,    21,    -1,    11,    21,    -1,    16,    62,
+      21,    -1,     6,    21,    -1,    20,    -1,    19,    -1,    62,
+      -1,    63,    26,    63,    -1,    63,    27,    63,    -1,    63,
+      28,    63,    -1,    63,    29,    63,    -1,    63,    30,    63,
+      -1,    63,    31,    63,    -1,    63,    32,    63,    -1,    63,
+      35,    63,    -1,    63,    36,    63,    -1,    63,    34,    63,
+      -1,    63,    33,    63,    -1,    63,    37,    63,    -1,    63,
+      38,    63,    -1,    63,    40,    63,    -1,    63,    39,    63,
+      -1,    63,    43,    63,    -1,    63,    42,    63,    -1,    63,
+      41,    63,    -1,    47,    63,    -1,    48,    63,    -1,    40,
+      63,    -1,    39,    63,    -1,    45,    63,    46,    -1,    17,
+      -1,    64,    49,    17,    -1,    21,    -1,    71,    21,    -1,
+      71,    21,    -1,    -1,    71,    -1,    -1,    71,    -1,     4,
+      17,    -1,     4,    45,    17,    46,    -1,    72,    -1,    69,
+      -1,    70,    69,    -1,    72,    -1,    71,    72,    -1,    17,
+      -1,    20,    -1,    73,    -1,    22,    -1,    24,    -1,    50,
+      -1,    51,    -1,    45,    -1,    46,    -1,    52,    -1,    53,
+      -1,    54,    -1,    30,    -1,    41,    -1,    39,    -1,    40,
+      -1,    48,    -1,    47,    -1,    42,    -1,    43,    -1,    38,
+      -1,    37,    -1,    33,    -1,    34,    -1,    36,    -1,    35,
+      -1,    32,    -1,    31,    -1,    29,    -1,    28,    -1,    27,
+      -1,    26,    -1,    55,    -1,    49,    -1,    56,    -1,    25,
+      -1
 };
 
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
        0,   180,   180,   182,   186,   189,   194,   195,   199,   202,
-     208,   211,   214,   217,   225,   244,   249,   254,   273,   288,
-     291,   294,   303,   307,   316,   321,   322,   325,   328,   331,
-     334,   337,   340,   343,   346,   349,   352,   355,   358,   361,
-     364,   367,   370,   373,   376,   379,   382,   385,   388,   394,
-     399,   407,   408,   412,   418,   419,   422,   424,   431,   435,
-     439,   444,   450,   458,   464,   472,   476,   480,   484,   488,
-     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
-     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
-     515,   516,   517,   518,   519,   520,   521,   522,   523,   524,
-     525
+     208,   211,   214,   217,   225,   244,   254,   259,   264,   283,
+     298,   301,   304,   313,   317,   326,   331,   332,   335,   338,
+     341,   344,   347,   350,   353,   356,   359,   362,   365,   368,
+     371,   374,   377,   380,   383,   386,   389,   392,   395,   398,
+     404,   409,   417,   418,   422,   428,   429,   432,   434,   441,
+     445,   449,   454,   460,   468,   474,   482,   486,   490,   494,
+     498,   505,   506,   507,   508,   509,   510,   511,   512,   513,
+     514,   515,   516,   517,   518,   519,   520,   521,   522,   523,
+     524,   525,   526,   527,   528,   529,   530,   531,   532,   533,
+     534,   535
 };
 #endif
 
@@ -678,31 +679,31 @@ static const yytype_uint8 yyr1[] =
 {
        0,    57,    58,    58,    59,    59,    59,    59,    60,    60,
       61,    61,    61,    61,    61,    61,    61,    61,    61,    61,
-      61,    61,    61,    62,    62,    63,    63,    63,    63,    63,
+      61,    61,    61,    61,    62,    62,    63,    63,    63,    63,
       63,    63,    63,    63,    63,    63,    63,    63,    63,    63,
-      63,    63,    63,    63,    63,    63,    63,    63,    63,    64,
-      64,    65,    65,    66,    67,    67,    68,    68,    69,    69,
-      69,    70,    70,    71,    71,    72,    72,    72,    72,    72,
-      73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
+      63,    63,    63,    63,    63,    63,    63,    63,    63,    63,
+      64,    64,    65,    65,    66,    67,    67,    68,    68,    69,
+      69,    69,    70,    70,    71,    71,    72,    72,    72,    72,
+      72,    73,    73,    73,    73,    73,    73,    73,    73,    73,
       73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
       73,    73,    73,    73,    73,    73,    73,    73,    73,    73,
-      73
+      73,    73
 };
 
 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 static const yytype_uint8 yyr2[] =
 {
        0,     2,     0,     2,     1,     1,     1,     2,     3,     3,
-       4,     6,     7,     3,     3,     4,     4,     3,     2,     2,
-       2,     3,     2,     1,     1,     1,     3,     3,     3,     3,
+       4,     6,     7,     3,     3,     2,     4,     4,     3,     2,
+       2,     2,     3,     2,     1,     1,     1,     3,     3,     3,
        3,     3,     3,     3,     3,     3,     3,     3,     3,     3,
-       3,     3,     3,     3,     2,     2,     2,     2,     3,     1,
-       3,     1,     2,     2,     0,     1,     0,     1,     2,     4,
-       1,     1,     2,     1,     2,     1,     1,     1,     1,     1,
+       3,     3,     3,     3,     3,     2,     2,     2,     2,     3,
+       1,     3,     1,     2,     2,     0,     1,     0,     1,     2,
+       4,     1,     1,     2,     1,     2,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
        1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
-       1
+       1,     1
 };
 
 /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
@@ -711,60 +712,60 @@ static const yytype_uint8 yyr2[] =
 static const yytype_uint8 yydefact[] =
 {
        2,     0,     1,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,     0,     0,     0,    65,     0,    66,    51,    68,
-      69,   100,    96,    95,    94,    93,    77,    92,    91,    87,
-      88,    90,    89,    86,    85,    79,    80,    78,    83,    84,
-      72,    73,    82,    81,    98,    70,    71,    74,    75,    76,
-      97,    99,     3,     6,     4,     5,     0,    63,    67,    24,
-      23,     0,     0,     0,     0,     0,    25,     0,    22,     7,
-       0,     0,    54,     0,    18,    61,     0,    60,    19,    20,
-       0,    56,    56,     0,     0,     0,    52,    64,    47,    46,
-       0,    44,    45,     9,     0,     0,     0,     0,     0,     0,
+       0,     0,     0,     0,     0,    66,     0,    67,    52,    69,
+      70,   101,    97,    96,    95,    94,    78,    93,    92,    88,
+      89,    91,    90,    87,    86,    80,    81,    79,    84,    85,
+      73,    74,    83,    82,    99,    71,    72,    75,    76,    77,
+      98,   100,     3,     6,     4,     5,     0,    64,    68,    25,
+      24,     0,     0,     0,     0,     0,    26,     0,    23,     7,
+       0,     0,    55,     0,    19,    62,     0,    61,    20,    21,
+      15,     0,    57,    57,     0,     0,     0,    53,    65,    48,
+      47,     0,    45,    46,     9,     0,     0,     0,     0,     0,
        0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
-       0,     0,    53,     0,     0,    55,    58,     0,    17,    62,
-      14,     0,    57,     0,    13,    21,     8,    48,    26,    27,
-      28,    29,    30,    31,    32,    36,    35,    33,    34,    37,
-      38,    40,    39,    43,    42,    41,    49,    54,     0,    10,
-       0,    15,    16,     0,    54,     0,    59,    11,     0,    50,
-      12
+       0,     0,     0,    54,     0,     0,    56,    59,     0,    18,
+      63,    14,     0,    58,     0,    13,    22,     8,    49,    27,
+      28,    29,    30,    31,    32,    33,    37,    36,    34,    35,
+      38,    39,    41,    40,    44,    43,    42,    50,    55,     0,
+      10,     0,    16,    17,     0,    55,     0,    60,    11,     0,
+      51,    12
 };
 
 /* YYDEFGOTO[NTERM-NUM].  */
 static const yytype_int16 yydefgoto[] =
 {
-      -1,     1,    52,    53,    54,    66,    67,   148,    55,    69,
-     114,   121,    75,    76,   115,    57,    58
+      -1,     1,    52,    53,    54,    66,    67,   149,    55,    69,
+     115,   122,    75,    76,   116,    57,    58
 };
 
 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
    STATE-NUM.  */
-#define YYPACT_NINF -146
+#define YYPACT_NINF -147
 static const yytype_int16 yypact[] =
 {
-    -146,   111,  -146,   429,   -10,    -9,    -4,   151,   -15,    27,
-     271,    54,    63,    86,    82,  -146,   429,  -146,  -146,  -146,
-    -146,  -146,  -146,  -146,  -146,  -146,  -146,  -146,  -146,  -146,
-    -146,  -146,  -146,  -146,  -146,  -146,  -146,  -146,  -146,  -146,
-    -146,  -146,  -146,  -146,  -146,  -146,  -146,  -146,  -146,  -146,
-    -146,  -146,  -146,  -146,  -146,  -146,   311,  -146,  -146,  -146,
-    -146,   429,   429,   429,   429,   429,  -146,   452,  -146,  -146,
-     351,    59,   391,    17,  -146,  -146,   191,  -146,  -146,  -146,
-     231,   391,   391,    84,    85,   475,  -146,  -146,  -146,  -146,
-     424,  -146,  -146,  -146,   429,   429,   429,   429,   429,   429,
-     429,   429,   429,   429,   429,   429,   429,   429,   429,   429,
-     429,   429,  -146,    30,    88,   391,  -146,    90,  -146,  -146,
-    -146,    89,   391,    91,  -146,  -146,  -146,  -146,   492,   508,
-     523,   537,   550,   561,   561,    18,    18,    18,    18,    25,
-      25,    36,    36,  -146,  -146,  -146,  -146,   391,    26,  -146,
-      67,  -146,  -146,    93,   391,   113,  -146,  -146,   148,  -146,
-    -146
+    -147,   112,  -147,    28,   -10,    55,    62,   152,   -15,    59,
+     192,    85,    86,    87,    51,  -147,    28,  -147,  -147,  -147,
+    -147,  -147,  -147,  -147,  -147,  -147,  -147,  -147,  -147,  -147,
+    -147,  -147,  -147,  -147,  -147,  -147,  -147,  -147,  -147,  -147,
+    -147,  -147,  -147,  -147,  -147,  -147,  -147,  -147,  -147,  -147,
+    -147,  -147,  -147,  -147,  -147,  -147,   312,  -147,  -147,  -147,
+    -147,    28,    28,    28,    28,    28,  -147,   428,  -147,  -147,
+     352,    63,   392,    17,  -147,  -147,   232,  -147,  -147,  -147,
+    -147,   272,   392,   392,    84,    89,   451,  -147,  -147,  -147,
+    -147,   469,  -147,  -147,  -147,    28,    28,    28,    28,    28,
+      28,    28,    28,    28,    28,    28,    28,    28,    28,    28,
+      28,    28,    28,  -147,    60,    90,   392,  -147,    96,  -147,
+    -147,  -147,    93,   392,    94,  -147,  -147,  -147,  -147,   489,
+     505,   520,   534,   547,   558,   558,    18,    18,    18,    18,
+     563,   563,    23,    23,  -147,  -147,  -147,  -147,   392,    32,
+    -147,    61,  -147,  -147,   110,   392,   118,  -147,  -147,   149,
+    -147,  -147
 };
 
 /* YYPGOTO[NTERM-NUM].  */
 static const yytype_int16 yypgoto[] =
 {
-    -146,  -146,  -146,  -146,  -146,   120,   -11,  -146,  -146,  -146,
-    -145,    92,    -6,   160,     0,    -7,  -146
+    -147,  -147,  -147,  -147,  -147,   157,   -11,  -147,  -147,  -147,
+    -146,    92,   -68,   200,     0,    -7,  -147
 };
 
 /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
@@ -774,132 +775,132 @@ static const yytype_int16 yypgoto[] =
 #define YYTABLE_NINF -1
 static const yytype_uint8 yytable[] =
 {
-      77,    56,   153,    77,    70,    85,    78,    15,    71,   158,
-      17,    68,    19,    72,    20,    21,    22,    23,    24,    25,
+      77,    56,   154,    77,    70,    86,    78,    15,   120,   159,
+      17,    68,    19,   120,    20,    21,    22,    23,    24,    25,
       26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,   116,    40,    41,    42,    43,    44,
-      45,    46,    47,    48,    49,    50,    51,   146,    79,    87,
-      88,    89,    90,    91,    92,   105,   106,   107,   108,   109,
-     110,   111,   117,    87,   107,   108,   109,   110,   111,    77,
-     119,    81,   154,    77,   119,   155,   147,   109,   110,   111,
-      82,   122,   122,   128,   129,   130,   131,   132,   133,   134,
+      36,    37,    38,    39,   117,    40,    41,    42,    43,    44,
+      45,    46,    47,    48,    49,    50,    51,    59,    60,    88,
+      89,    90,    91,    92,    93,   106,   107,   108,   109,   110,
+     111,   112,   118,    88,   110,   111,   112,    61,    62,    77,
+      59,    60,    71,    63,    77,    64,    65,   147,   155,    72,
+      79,   156,   123,   123,   129,   130,   131,   132,   133,   134,
      135,   136,   137,   138,   139,   140,   141,   142,   143,   144,
-     145,    59,    60,    83,   113,   124,   125,   150,    87,   149,
-     151,     2,   152,   156,   157,    87,     3,     4,     5,     6,
-       7,     8,     9,    10,    11,    12,    13,    14,    15,    16,
-     159,    17,    18,    19,    84,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,    73,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    15,   160,
-      80,    17,    74,    19,   123,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,    73,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    15,     0,
-       0,    17,   118,    19,     0,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,    73,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    15,     0,
-       0,    17,   120,    19,     0,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,    73,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    15,     0,
-       0,    17,     0,    19,     0,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,     0,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    15,     0,
-       0,    17,    86,    19,     0,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,     0,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    15,     0,
-       0,    17,   112,    19,     0,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,     0,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    15,     0,
-       0,    17,     0,    19,     0,    20,    21,    22,    23,    24,
-      25,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,     0,    40,    41,    42,    43,
-      44,    45,    46,    47,    48,    49,    50,    51,    59,    60,
-      94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
-     104,   105,   106,   107,   108,   109,   110,   111,    61,    62,
-     127,     0,     0,    93,    63,     0,    64,    65,    94,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,   126,     0,     0,     0,
-       0,    94,    95,    96,    97,    98,    99,   100,   101,   102,
-     103,   104,   105,   106,   107,   108,   109,   110,   111,    95,
-      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
-     106,   107,   108,   109,   110,   111,    96,    97,    98,    99,
-     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
-     110,   111,    97,    98,    99,   100,   101,   102,   103,   104,
-     105,   106,   107,   108,   109,   110,   111,    98,    99,   100,
+     145,   146,    82,    83,    84,   125,   148,   157,   114,    88,
+     126,   150,     2,   151,   152,   153,    88,     3,     4,     5,
+       6,     7,     8,     9,    10,    11,    12,    13,    14,    15,
+      16,   158,    17,    18,    19,   160,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    73,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    15,
+     161,    85,    17,    74,    19,   124,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    73,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    15,
+      81,     0,    17,    80,    19,     0,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    73,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    15,
+       0,     0,    17,   119,    19,     0,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,    73,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    15,
+       0,     0,    17,   121,    19,     0,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,     0,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    15,
+       0,     0,    17,    87,    19,     0,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,     0,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    15,
+       0,     0,    17,   113,    19,     0,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,     0,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    15,
+       0,     0,    17,     0,    19,     0,    20,    21,    22,    23,
+      24,    25,    26,    27,    28,    29,    30,    31,    32,    33,
+      34,    35,    36,    37,    38,    39,     0,    40,    41,    42,
+      43,    44,    45,    46,    47,    48,    49,    50,    51,    94,
+       0,     0,     0,     0,    95,    96,    97,    98,    99,   100,
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,    99,   100,   101,   102,   103,   104,   105,   106,   107,
-     108,   109,   110,   111,   101,   102,   103,   104,   105,   106,
-     107,   108,   109,   110,   111
+     111,   112,   127,     0,     0,     0,     0,    95,    96,    97,
+      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
+     108,   109,   110,   111,   112,    95,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   111,   112,     0,     0,   128,    96,    97,    98,    99,
+     100,   101,   102,   103,   104,   105,   106,   107,   108,   109,
+     110,   111,   112,    97,    98,    99,   100,   101,   102,   103,
+     104,   105,   106,   107,   108,   109,   110,   111,   112,    98,
+      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
+     109,   110,   111,   112,    99,   100,   101,   102,   103,   104,
+     105,   106,   107,   108,   109,   110,   111,   112,   100,   101,
+     102,   103,   104,   105,   106,   107,   108,   109,   110,   111,
+     112,   102,   103,   104,   105,   106,   107,   108,   109,   110,
+     111,   112,   108,   109,   110,   111,   112
 };
 
 static const yytype_int16 yycheck[] =
 {
-       7,     1,   147,    10,     4,    16,    21,    17,    17,   154,
-      20,    21,    22,    17,    24,    25,    26,    27,    28,    29,
+       7,     1,   148,    10,     4,    16,    21,    17,    76,   155,
+      20,    21,    22,    81,    24,    25,    26,    27,    28,    29,
       30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
       40,    41,    42,    43,    17,    45,    46,    47,    48,    49,
-      50,    51,    52,    53,    54,    55,    56,    17,    21,    56,
+      50,    51,    52,    53,    54,    55,    56,    19,    20,    56,
       61,    62,    63,    64,    65,    37,    38,    39,    40,    41,
-      42,    43,    45,    70,    39,    40,    41,    42,    43,    76,
-      76,    17,    46,    80,    80,    49,    46,    41,    42,    43,
-      17,    81,    82,    94,    95,    96,    97,    98,    99,   100,
+      42,    43,    45,    70,    41,    42,    43,    39,    40,    76,
+      19,    20,    17,    45,    81,    47,    48,    17,    46,    17,
+      21,    49,    82,    83,    95,    96,    97,    98,    99,   100,
      101,   102,   103,   104,   105,   106,   107,   108,   109,   110,
-     111,    19,    20,    17,    45,    21,    21,    17,   115,    21,
-      21,     0,    21,    46,    21,   122,     5,     6,     7,     8,
-       9,    10,    11,    12,    13,    14,    15,    16,    17,    18,
-      17,    20,    21,    22,    14,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,     4,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    17,    21,
-      10,    20,    21,    22,    82,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,     4,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    17,    -1,
-      -1,    20,    21,    22,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,     4,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    17,    -1,
-      -1,    20,    21,    22,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,     4,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    17,    -1,
-      -1,    20,    -1,    22,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    -1,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    17,    -1,
-      -1,    20,    21,    22,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    -1,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    17,    -1,
-      -1,    20,    21,    22,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    -1,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    17,    -1,
-      -1,    20,    -1,    22,    -1,    24,    25,    26,    27,    28,
-      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43,    -1,    45,    46,    47,    48,
-      49,    50,    51,    52,    53,    54,    55,    56,    19,    20,
-      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
-      36,    37,    38,    39,    40,    41,    42,    43,    39,    40,
-      46,    -1,    -1,    21,    45,    -1,    47,    48,    26,    27,
+     111,   112,    17,    17,    17,    21,    46,    46,    45,   116,
+      21,    21,     0,    17,    21,    21,   123,     5,     6,     7,
+       8,     9,    10,    11,    12,    13,    14,    15,    16,    17,
+      18,    21,    20,    21,    22,    17,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,     4,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    17,
+      21,    14,    20,    21,    22,    83,    24,    25,    26,    27,
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    21,    -1,    -1,    -1,
-      -1,    26,    27,    28,    29,    30,    31,    32,    33,    34,
-      35,    36,    37,    38,    39,    40,    41,    42,    43,    27,
+      38,    39,    40,    41,    42,    43,     4,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    17,
+      10,    -1,    20,    21,    22,    -1,    24,    25,    26,    27,
       28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
-      38,    39,    40,    41,    42,    43,    28,    29,    30,    31,
+      38,    39,    40,    41,    42,    43,     4,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    17,
+      -1,    -1,    20,    21,    22,    -1,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,     4,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    17,
+      -1,    -1,    20,    21,    22,    -1,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    -1,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    17,
+      -1,    -1,    20,    21,    22,    -1,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    -1,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    17,
+      -1,    -1,    20,    21,    22,    -1,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    -1,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    17,
+      -1,    -1,    20,    -1,    22,    -1,    24,    25,    26,    27,
+      28,    29,    30,    31,    32,    33,    34,    35,    36,    37,
+      38,    39,    40,    41,    42,    43,    -1,    45,    46,    47,
+      48,    49,    50,    51,    52,    53,    54,    55,    56,    21,
+      -1,    -1,    -1,    -1,    26,    27,    28,    29,    30,    31,
       32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    29,    30,    31,    32,    33,    34,    35,    36,
-      37,    38,    39,    40,    41,    42,    43,    30,    31,    32,
+      42,    43,    21,    -1,    -1,    -1,    -1,    26,    27,    28,
+      29,    30,    31,    32,    33,    34,    35,    36,    37,    38,
+      39,    40,    41,    42,    43,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    -1,    -1,    46,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    28,    29,    30,    31,    32,    33,    34,
+      35,    36,    37,    38,    39,    40,    41,    42,    43,    29,
+      30,    31,    32,    33,    34,    35,    36,    37,    38,    39,
+      40,    41,    42,    43,    30,    31,    32,    33,    34,    35,
+      36,    37,    38,    39,    40,    41,    42,    43,    31,    32,
       33,    34,    35,    36,    37,    38,    39,    40,    41,    42,
-      43,    31,    32,    33,    34,    35,    36,    37,    38,    39,
-      40,    41,    42,    43,    33,    34,    35,    36,    37,    38,
-      39,    40,    41,    42,    43
+      43,    33,    34,    35,    36,    37,    38,    39,    40,    41,
+      42,    43,    39,    40,    41,    42,    43
 };
 
 /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
@@ -914,15 +915,15 @@ static const yytype_uint8 yystos[] =
       55,    56,    59,    60,    61,    65,    71,    72,    73,    19,
       20,    39,    40,    45,    47,    48,    62,    63,    21,    66,
       71,    17,    17,     4,    21,    69,    70,    72,    21,    21,
-      70,    17,    17,    17,    62,    63,    21,    72,    63,    63,
-      63,    63,    63,    21,    26,    27,    28,    29,    30,    31,
-      32,    33,    34,    35,    36,    37,    38,    39,    40,    41,
-      42,    43,    21,    45,    67,    71,    17,    45,    21,    69,
-      21,    68,    71,    68,    21,    21,    21,    46,    63,    63,
+      21,    70,    17,    17,    17,    62,    63,    21,    72,    63,
+      63,    63,    63,    63,    21,    26,    27,    28,    29,    30,
+      31,    32,    33,    34,    35,    36,    37,    38,    39,    40,
+      41,    42,    43,    21,    45,    67,    71,    17,    45,    21,
+      69,    21,    68,    71,    68,    21,    21,    21,    46,    63,
       63,    63,    63,    63,    63,    63,    63,    63,    63,    63,
-      63,    63,    63,    63,    63,    63,    17,    46,    64,    21,
-      17,    21,    21,    67,    46,    49,    46,    21,    67,    17,
-      21
+      63,    63,    63,    63,    63,    63,    63,    17,    46,    64,
+      21,    17,    21,    21,    67,    46,    49,    46,    21,    67,
+      17,    21
 };
 
 #define yyerrok                (yyerrstatus = 0)
@@ -1604,7 +1605,7 @@ YYLTYPE yylloc;
 }
 
 /* Line 1242 of yacc.c  */
-#line 1608 "glcpp/glcpp-parse.c"
+#line 1609 "glcpp/glcpp-parse.c"
   yylsp[0] = yylloc;
 
   goto yysetstate;
@@ -1897,6 +1898,22 @@ yyreduce:
 
 /* Line 1455 of yacc.c  */
 #line 244 "glcpp/glcpp-parse.y"
+    {
+               /* #if without an expression is only an error if we
+                *  are not skipping */
+               if (parser->skip_stack == NULL ||
+                   parser->skip_stack->type == SKIP_NO_SKIP)
+               {
+                       glcpp_error(& (yylsp[(1) - (2)]), parser, "#if with no expression");
+               }       
+               _glcpp_parser_skip_stack_push_if (parser, & (yylsp[(1) - (2)]), 0);
+       ;}
+    break;
+
+  case 16:
+
+/* Line 1455 of yacc.c  */
+#line 254 "glcpp/glcpp-parse.y"
     {
                macro_t *macro = hash_table_find (parser->defines, (yyvsp[(2) - (4)].str));
                talloc_free ((yyvsp[(2) - (4)].str));
@@ -1904,10 +1921,10 @@ yyreduce:
        ;}
     break;
 
-  case 16:
+  case 17:
 
 /* Line 1455 of yacc.c  */
-#line 249 "glcpp/glcpp-parse.y"
+#line 259 "glcpp/glcpp-parse.y"
     {
                macro_t *macro = hash_table_find (parser->defines, (yyvsp[(2) - (4)].str));
                talloc_free ((yyvsp[(2) - (4)].str));
@@ -1915,10 +1932,10 @@ yyreduce:
        ;}
     break;
 
-  case 17:
+  case 18:
 
 /* Line 1455 of yacc.c  */
-#line 254 "glcpp/glcpp-parse.y"
+#line 264 "glcpp/glcpp-parse.y"
     {
                /* Be careful to only evaluate the 'elif' expression
                 * if we are not skipping. When we are skipping, we
@@ -1940,10 +1957,10 @@ yyreduce:
        ;}
     break;
 
-  case 18:
+  case 19:
 
 /* Line 1455 of yacc.c  */
-#line 273 "glcpp/glcpp-parse.y"
+#line 283 "glcpp/glcpp-parse.y"
     {
                /* #elif without an expression is an error unless we
                 * are skipping. */
@@ -1961,28 +1978,28 @@ yyreduce:
        ;}
     break;
 
-  case 19:
+  case 20:
 
 /* Line 1455 of yacc.c  */
-#line 288 "glcpp/glcpp-parse.y"
+#line 298 "glcpp/glcpp-parse.y"
     {
                _glcpp_parser_skip_stack_change_if (parser, & (yylsp[(1) - (2)]), "else", 1);
        ;}
     break;
 
-  case 20:
+  case 21:
 
 /* Line 1455 of yacc.c  */
-#line 291 "glcpp/glcpp-parse.y"
+#line 301 "glcpp/glcpp-parse.y"
     {
                _glcpp_parser_skip_stack_pop (parser, & (yylsp[(1) - (2)]));
        ;}
     break;
 
-  case 21:
+  case 22:
 
 /* Line 1455 of yacc.c  */
-#line 294 "glcpp/glcpp-parse.y"
+#line 304 "glcpp/glcpp-parse.y"
     {
                macro_t *macro = hash_table_find (parser->defines, "__VERSION__");
                if (macro) {
@@ -1994,10 +2011,10 @@ yyreduce:
        ;}
     break;
 
-  case 23:
+  case 24:
 
 /* Line 1455 of yacc.c  */
-#line 307 "glcpp/glcpp-parse.y"
+#line 317 "glcpp/glcpp-parse.y"
     {
                if (strlen ((yyvsp[(1) - (1)].str)) >= 3 && strncmp ((yyvsp[(1) - (1)].str), "0x", 2) == 0) {
                        (yyval.ival) = strtoll ((yyvsp[(1) - (1)].str) + 2, NULL, 16);
@@ -2009,226 +2026,226 @@ yyreduce:
        ;}
     break;
 
-  case 24:
+  case 25:
 
 /* Line 1455 of yacc.c  */
-#line 316 "glcpp/glcpp-parse.y"
+#line 326 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (1)].ival);
        ;}
     break;
 
-  case 26:
+  case 27:
 
 /* Line 1455 of yacc.c  */
-#line 322 "glcpp/glcpp-parse.y"
+#line 332 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) || (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 27:
+  case 28:
 
 /* Line 1455 of yacc.c  */
-#line 325 "glcpp/glcpp-parse.y"
+#line 335 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) && (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 28:
+  case 29:
 
 /* Line 1455 of yacc.c  */
-#line 328 "glcpp/glcpp-parse.y"
+#line 338 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) | (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 29:
+  case 30:
 
 /* Line 1455 of yacc.c  */
-#line 331 "glcpp/glcpp-parse.y"
+#line 341 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) ^ (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 30:
+  case 31:
 
 /* Line 1455 of yacc.c  */
-#line 334 "glcpp/glcpp-parse.y"
+#line 344 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) & (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 31:
+  case 32:
 
 /* Line 1455 of yacc.c  */
-#line 337 "glcpp/glcpp-parse.y"
+#line 347 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) != (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 32:
+  case 33:
 
 /* Line 1455 of yacc.c  */
-#line 340 "glcpp/glcpp-parse.y"
+#line 350 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) == (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 33:
+  case 34:
 
 /* Line 1455 of yacc.c  */
-#line 343 "glcpp/glcpp-parse.y"
+#line 353 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) >= (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 34:
+  case 35:
 
 /* Line 1455 of yacc.c  */
-#line 346 "glcpp/glcpp-parse.y"
+#line 356 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) <= (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 35:
+  case 36:
 
 /* Line 1455 of yacc.c  */
-#line 349 "glcpp/glcpp-parse.y"
+#line 359 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) > (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 36:
+  case 37:
 
 /* Line 1455 of yacc.c  */
-#line 352 "glcpp/glcpp-parse.y"
+#line 362 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) < (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 37:
+  case 38:
 
 /* Line 1455 of yacc.c  */
-#line 355 "glcpp/glcpp-parse.y"
+#line 365 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) >> (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 38:
+  case 39:
 
 /* Line 1455 of yacc.c  */
-#line 358 "glcpp/glcpp-parse.y"
+#line 368 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) << (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 39:
+  case 40:
 
 /* Line 1455 of yacc.c  */
-#line 361 "glcpp/glcpp-parse.y"
+#line 371 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) - (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 40:
+  case 41:
 
 /* Line 1455 of yacc.c  */
-#line 364 "glcpp/glcpp-parse.y"
+#line 374 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) + (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 41:
+  case 42:
 
 /* Line 1455 of yacc.c  */
-#line 367 "glcpp/glcpp-parse.y"
+#line 377 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) % (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 42:
+  case 43:
 
 /* Line 1455 of yacc.c  */
-#line 370 "glcpp/glcpp-parse.y"
+#line 380 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) / (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 43:
+  case 44:
 
 /* Line 1455 of yacc.c  */
-#line 373 "glcpp/glcpp-parse.y"
+#line 383 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(1) - (3)].ival) * (yyvsp[(3) - (3)].ival);
        ;}
     break;
 
-  case 44:
+  case 45:
 
 /* Line 1455 of yacc.c  */
-#line 376 "glcpp/glcpp-parse.y"
+#line 386 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = ! (yyvsp[(2) - (2)].ival);
        ;}
     break;
 
-  case 45:
+  case 46:
 
 /* Line 1455 of yacc.c  */
-#line 379 "glcpp/glcpp-parse.y"
+#line 389 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = ~ (yyvsp[(2) - (2)].ival);
        ;}
     break;
 
-  case 46:
+  case 47:
 
 /* Line 1455 of yacc.c  */
-#line 382 "glcpp/glcpp-parse.y"
+#line 392 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = - (yyvsp[(2) - (2)].ival);
        ;}
     break;
 
-  case 47:
+  case 48:
 
 /* Line 1455 of yacc.c  */
-#line 385 "glcpp/glcpp-parse.y"
+#line 395 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = + (yyvsp[(2) - (2)].ival);
        ;}
     break;
 
-  case 48:
+  case 49:
 
 /* Line 1455 of yacc.c  */
-#line 388 "glcpp/glcpp-parse.y"
+#line 398 "glcpp/glcpp-parse.y"
     {
                (yyval.ival) = (yyvsp[(2) - (3)].ival);
        ;}
     break;
 
-  case 49:
+  case 50:
 
 /* Line 1455 of yacc.c  */
-#line 394 "glcpp/glcpp-parse.y"
+#line 404 "glcpp/glcpp-parse.y"
     {
                (yyval.string_list) = _string_list_create (parser);
                _string_list_append_item ((yyval.string_list), (yyvsp[(1) - (1)].str));
@@ -2236,10 +2253,10 @@ yyreduce:
        ;}
     break;
 
-  case 50:
+  case 51:
 
 /* Line 1455 of yacc.c  */
-#line 399 "glcpp/glcpp-parse.y"
+#line 409 "glcpp/glcpp-parse.y"
     {
                (yyval.string_list) = (yyvsp[(1) - (3)].string_list);   
                _string_list_append_item ((yyval.string_list), (yyvsp[(3) - (3)].str));
@@ -2247,62 +2264,62 @@ yyreduce:
        ;}
     break;
 
-  case 51:
+  case 52:
 
 /* Line 1455 of yacc.c  */
-#line 407 "glcpp/glcpp-parse.y"
+#line 417 "glcpp/glcpp-parse.y"
     { (yyval.token_list) = NULL; ;}
     break;
 
-  case 53:
+  case 54:
 
 /* Line 1455 of yacc.c  */
-#line 412 "glcpp/glcpp-parse.y"
+#line 422 "glcpp/glcpp-parse.y"
     {
                yyerror (& (yylsp[(1) - (2)]), parser, "Invalid tokens after #");
        ;}
     break;
 
-  case 54:
+  case 55:
 
 /* Line 1455 of yacc.c  */
-#line 418 "glcpp/glcpp-parse.y"
+#line 428 "glcpp/glcpp-parse.y"
     { (yyval.token_list) = NULL; ;}
     break;
 
-  case 57:
+  case 58:
 
 /* Line 1455 of yacc.c  */
-#line 424 "glcpp/glcpp-parse.y"
+#line 434 "glcpp/glcpp-parse.y"
     {
                glcpp_warning(&(yylsp[(1) - (1)]), parser, "extra tokens at end of directive");
        ;}
     break;
 
-  case 58:
+  case 59:
 
 /* Line 1455 of yacc.c  */
-#line 431 "glcpp/glcpp-parse.y"
+#line 441 "glcpp/glcpp-parse.y"
     {
                int v = hash_table_find (parser->defines, (yyvsp[(2) - (2)].str)) ? 1 : 0;
                (yyval.token) = _token_create_ival (parser, INTEGER, v);
        ;}
     break;
 
-  case 59:
+  case 60:
 
 /* Line 1455 of yacc.c  */
-#line 435 "glcpp/glcpp-parse.y"
+#line 445 "glcpp/glcpp-parse.y"
     {
                int v = hash_table_find (parser->defines, (yyvsp[(3) - (4)].str)) ? 1 : 0;
                (yyval.token) = _token_create_ival (parser, INTEGER, v);
        ;}
     break;
 
-  case 61:
+  case 62:
 
 /* Line 1455 of yacc.c  */
-#line 444 "glcpp/glcpp-parse.y"
+#line 454 "glcpp/glcpp-parse.y"
     {
                parser->space_tokens = 1;
                (yyval.token_list) = _token_list_create (parser);
@@ -2311,10 +2328,10 @@ yyreduce:
        ;}
     break;
 
-  case 62:
+  case 63:
 
 /* Line 1455 of yacc.c  */
-#line 450 "glcpp/glcpp-parse.y"
+#line 460 "glcpp/glcpp-parse.y"
     {
                (yyval.token_list) = (yyvsp[(1) - (2)].token_list);
                _token_list_append ((yyval.token_list), (yyvsp[(2) - (2)].token));
@@ -2322,10 +2339,10 @@ yyreduce:
        ;}
     break;
 
-  case 63:
+  case 64:
 
 /* Line 1455 of yacc.c  */
-#line 458 "glcpp/glcpp-parse.y"
+#line 468 "glcpp/glcpp-parse.y"
     {
                parser->space_tokens = 1;
                (yyval.token_list) = _token_list_create (parser);
@@ -2334,10 +2351,10 @@ yyreduce:
        ;}
     break;
 
-  case 64:
+  case 65:
 
 /* Line 1455 of yacc.c  */
-#line 464 "glcpp/glcpp-parse.y"
+#line 474 "glcpp/glcpp-parse.y"
     {
                (yyval.token_list) = (yyvsp[(1) - (2)].token_list);
                _token_list_append ((yyval.token_list), (yyvsp[(2) - (2)].token));
@@ -2345,277 +2362,277 @@ yyreduce:
        ;}
     break;
 
-  case 65:
+  case 66:
 
 /* Line 1455 of yacc.c  */
-#line 472 "glcpp/glcpp-parse.y"
+#line 482 "glcpp/glcpp-parse.y"
     {
                (yyval.token) = _token_create_str (parser, IDENTIFIER, (yyvsp[(1) - (1)].str));
                (yyval.token)->location = yylloc;
        ;}
     break;
 
-  case 66:
+  case 67:
 
 /* Line 1455 of yacc.c  */
-#line 476 "glcpp/glcpp-parse.y"
+#line 486 "glcpp/glcpp-parse.y"
     {
                (yyval.token) = _token_create_str (parser, INTEGER_STRING, (yyvsp[(1) - (1)].str));
                (yyval.token)->location = yylloc;
        ;}
     break;
 
-  case 67:
+  case 68:
 
 /* Line 1455 of yacc.c  */
-#line 480 "glcpp/glcpp-parse.y"
+#line 490 "glcpp/glcpp-parse.y"
     {
                (yyval.token) = _token_create_ival (parser, (yyvsp[(1) - (1)].ival), (yyvsp[(1) - (1)].ival));
                (yyval.token)->location = yylloc;
        ;}
     break;
 
-  case 68:
+  case 69:
 
 /* Line 1455 of yacc.c  */
-#line 484 "glcpp/glcpp-parse.y"
+#line 494 "glcpp/glcpp-parse.y"
     {
                (yyval.token) = _token_create_str (parser, OTHER, (yyvsp[(1) - (1)].str));
                (yyval.token)->location = yylloc;
        ;}
     break;
 
-  case 69:
+  case 70:
 
 /* Line 1455 of yacc.c  */
-#line 488 "glcpp/glcpp-parse.y"
+#line 498 "glcpp/glcpp-parse.y"
     {
                (yyval.token) = _token_create_ival (parser, SPACE, SPACE);
                (yyval.token)->location = yylloc;
        ;}
     break;
 
-  case 70:
+  case 71:
 
 /* Line 1455 of yacc.c  */
-#line 495 "glcpp/glcpp-parse.y"
+#line 505 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '['; ;}
     break;
 
-  case 71:
+  case 72:
 
 /* Line 1455 of yacc.c  */
-#line 496 "glcpp/glcpp-parse.y"
+#line 506 "glcpp/glcpp-parse.y"
     { (yyval.ival) = ']'; ;}
     break;
 
-  case 72:
+  case 73:
 
 /* Line 1455 of yacc.c  */
-#line 497 "glcpp/glcpp-parse.y"
+#line 507 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '('; ;}
     break;
 
-  case 73:
+  case 74:
 
 /* Line 1455 of yacc.c  */
-#line 498 "glcpp/glcpp-parse.y"
+#line 508 "glcpp/glcpp-parse.y"
     { (yyval.ival) = ')'; ;}
     break;
 
-  case 74:
+  case 75:
 
 /* Line 1455 of yacc.c  */
-#line 499 "glcpp/glcpp-parse.y"
+#line 509 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '{'; ;}
     break;
 
-  case 75:
+  case 76:
 
 /* Line 1455 of yacc.c  */
-#line 500 "glcpp/glcpp-parse.y"
+#line 510 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '}'; ;}
     break;
 
-  case 76:
+  case 77:
 
 /* Line 1455 of yacc.c  */
-#line 501 "glcpp/glcpp-parse.y"
+#line 511 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '.'; ;}
     break;
 
-  case 77:
+  case 78:
 
 /* Line 1455 of yacc.c  */
-#line 502 "glcpp/glcpp-parse.y"
+#line 512 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '&'; ;}
     break;
 
-  case 78:
+  case 79:
 
 /* Line 1455 of yacc.c  */
-#line 503 "glcpp/glcpp-parse.y"
+#line 513 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '*'; ;}
     break;
 
-  case 79:
+  case 80:
 
 /* Line 1455 of yacc.c  */
-#line 504 "glcpp/glcpp-parse.y"
+#line 514 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '+'; ;}
     break;
 
-  case 80:
+  case 81:
 
 /* Line 1455 of yacc.c  */
-#line 505 "glcpp/glcpp-parse.y"
+#line 515 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '-'; ;}
     break;
 
-  case 81:
+  case 82:
 
 /* Line 1455 of yacc.c  */
-#line 506 "glcpp/glcpp-parse.y"
+#line 516 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '~'; ;}
     break;
 
-  case 82:
+  case 83:
 
 /* Line 1455 of yacc.c  */
-#line 507 "glcpp/glcpp-parse.y"
+#line 517 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '!'; ;}
     break;
 
-  case 83:
+  case 84:
 
 /* Line 1455 of yacc.c  */
-#line 508 "glcpp/glcpp-parse.y"
+#line 518 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '/'; ;}
     break;
 
-  case 84:
+  case 85:
 
 /* Line 1455 of yacc.c  */
-#line 509 "glcpp/glcpp-parse.y"
+#line 519 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '%'; ;}
     break;
 
-  case 85:
+  case 86:
 
 /* Line 1455 of yacc.c  */
-#line 510 "glcpp/glcpp-parse.y"
+#line 520 "glcpp/glcpp-parse.y"
     { (yyval.ival) = LEFT_SHIFT; ;}
     break;
 
-  case 86:
+  case 87:
 
 /* Line 1455 of yacc.c  */
-#line 511 "glcpp/glcpp-parse.y"
+#line 521 "glcpp/glcpp-parse.y"
     { (yyval.ival) = RIGHT_SHIFT; ;}
     break;
 
-  case 87:
+  case 88:
 
 /* Line 1455 of yacc.c  */
-#line 512 "glcpp/glcpp-parse.y"
+#line 522 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '<'; ;}
     break;
 
-  case 88:
+  case 89:
 
 /* Line 1455 of yacc.c  */
-#line 513 "glcpp/glcpp-parse.y"
+#line 523 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '>'; ;}
     break;
 
-  case 89:
+  case 90:
 
 /* Line 1455 of yacc.c  */
-#line 514 "glcpp/glcpp-parse.y"
+#line 524 "glcpp/glcpp-parse.y"
     { (yyval.ival) = LESS_OR_EQUAL; ;}
     break;
 
-  case 90:
+  case 91:
 
 /* Line 1455 of yacc.c  */
-#line 515 "glcpp/glcpp-parse.y"
+#line 525 "glcpp/glcpp-parse.y"
     { (yyval.ival) = GREATER_OR_EQUAL; ;}
     break;
 
-  case 91:
+  case 92:
 
 /* Line 1455 of yacc.c  */
-#line 516 "glcpp/glcpp-parse.y"
+#line 526 "glcpp/glcpp-parse.y"
     { (yyval.ival) = EQUAL; ;}
     break;
 
-  case 92:
+  case 93:
 
 /* Line 1455 of yacc.c  */
-#line 517 "glcpp/glcpp-parse.y"
+#line 527 "glcpp/glcpp-parse.y"
     { (yyval.ival) = NOT_EQUAL; ;}
     break;
 
-  case 93:
+  case 94:
 
 /* Line 1455 of yacc.c  */
-#line 518 "glcpp/glcpp-parse.y"
+#line 528 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '^'; ;}
     break;
 
-  case 94:
+  case 95:
 
 /* Line 1455 of yacc.c  */
-#line 519 "glcpp/glcpp-parse.y"
+#line 529 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '|'; ;}
     break;
 
-  case 95:
+  case 96:
 
 /* Line 1455 of yacc.c  */
-#line 520 "glcpp/glcpp-parse.y"
+#line 530 "glcpp/glcpp-parse.y"
     { (yyval.ival) = AND; ;}
     break;
 
-  case 96:
+  case 97:
 
 /* Line 1455 of yacc.c  */
-#line 521 "glcpp/glcpp-parse.y"
+#line 531 "glcpp/glcpp-parse.y"
     { (yyval.ival) = OR; ;}
     break;
 
-  case 97:
+  case 98:
 
 /* Line 1455 of yacc.c  */
-#line 522 "glcpp/glcpp-parse.y"
+#line 532 "glcpp/glcpp-parse.y"
     { (yyval.ival) = ';'; ;}
     break;
 
-  case 98:
+  case 99:
 
 /* Line 1455 of yacc.c  */
-#line 523 "glcpp/glcpp-parse.y"
+#line 533 "glcpp/glcpp-parse.y"
     { (yyval.ival) = ','; ;}
     break;
 
-  case 99:
+  case 100:
 
 /* Line 1455 of yacc.c  */
-#line 524 "glcpp/glcpp-parse.y"
+#line 534 "glcpp/glcpp-parse.y"
     { (yyval.ival) = '='; ;}
     break;
 
-  case 100:
+  case 101:
 
 /* Line 1455 of yacc.c  */
-#line 525 "glcpp/glcpp-parse.y"
+#line 535 "glcpp/glcpp-parse.y"
     { (yyval.ival) = PASTE; ;}
     break;
 
 
 
 /* Line 1455 of yacc.c  */
-#line 2619 "glcpp/glcpp-parse.c"
+#line 2636 "glcpp/glcpp-parse.c"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -2834,7 +2851,7 @@ yyreturn:
 
 
 /* Line 1675 of yacc.c  */
-#line 528 "glcpp/glcpp-parse.y"
+#line 538 "glcpp/glcpp-parse.y"
 
 
 string_list_t *