r20625: Fix couple of warnings.
authorJelmer Vernooij <jelmer@samba.org>
Tue, 9 Jan 2007 06:02:41 +0000 (06:02 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:37:17 +0000 (14:37 -0500)
(This used to be commit 203076129b967ccc6258e807280dc1b75583a064)

source4/pidl/expr.yp
source4/pidl/idl.yp
source4/pidl/lib/Parse/Pidl/Expr.pm
source4/pidl/lib/Parse/Pidl/IDL.pm
source4/pidl/tests/Util.pm
source4/pidl/tests/util.pl

index 58704ff89e0eda41020789c9be3e0d25a0be8fb6..6faef27588d3fefd67b7b0b261a413cedca4823a 100644 (file)
@@ -110,7 +110,11 @@ sub _Dereference($$)
 sub _Error($)
 {
        my ($self) = @_;
-       $self->YYData->{ERROR}->("Parse error in `".$self->YYData->{FULL_INPUT}."' near `". $self->YYData->{LAST_TOKEN} . "'");
+       if (defined($self->YYData->{LAST_TOKEN})) {
+               $self->YYData->{ERROR}->("Parse error in `".$self->YYData->{FULL_INPUT}."' near `". $self->YYData->{LAST_TOKEN} . "'");
+       } else {
+               $self->YYData->{ERROR}->("Parse error in `".$self->YYData->{FULL_INPUT}."'");
+       }
 }
 
 sub Run {
index 3030348c5cf5a5d06e164161e725e0891d2e886b..5ef4dca379ef9b6a633042fc8af072a3dc7d8a75 100644 (file)
@@ -179,7 +179,7 @@ typedecl: usertype ';' { $_[1] };
 sign: 'signed' | 'unsigned';
 
 existingtype: 
-       | sign identifier { "$_[1] $_[2]" }
+       sign identifier { ($_[1]?$_[1]:"signed") ." $_[2]" }
        | identifier 
 ;
 
index fc0a3a92aa4d806dccd65eafeb04dd4e1d66cd44..c6e5cd3dcaaf557829bad858aea4c4f626819a63 100644 (file)
@@ -1349,7 +1349,11 @@ sub _Dereference($$)
 sub _Error($)
 {
        my ($self) = @_;
-       $self->YYData->{ERROR}->("Parse error in `".$self->YYData->{FULL_INPUT}."' near `". $self->YYData->{LAST_TOKEN} . "'");
+       if (defined($self->YYData->{LAST_TOKEN})) {
+               $self->YYData->{ERROR}->("Parse error in `".$self->YYData->{FULL_INPUT}."' near `". $self->YYData->{LAST_TOKEN} . "'");
+       } else {
+               $self->YYData->{ERROR}->("Parse error in `".$self->YYData->{FULL_INPUT}."'");
+       }
 }
 
 sub Run {
index 13a34fae64e364ead17be23361f2b7e09461dcc7..3d9eb4ea7441173d75bd0b899919cf587c8a6fe3 100644 (file)
@@ -37,7 +37,7 @@ sub new {
                        "import" => 6,
                        "include" => 11
                },
-               DEFAULT => -92,
+               DEFAULT => -91,
                GOTOS => {
                        'importlib' => 9,
                        'interface' => 8,
@@ -106,7 +106,7 @@ sub new {
                }
        },
        {#State 13
-               DEFAULT => -125
+               DEFAULT => -124
        },
        {#State 14
                DEFAULT => -10
@@ -161,7 +161,7 @@ sub new {
                }
        },
        {#State 22
-               DEFAULT => -121
+               DEFAULT => -120
        },
        {#State 23
                ACTIONS => {
@@ -187,10 +187,10 @@ sub new {
                ACTIONS => {
                        "(" => 36
                },
-               DEFAULT => -96
+               DEFAULT => -95
        },
        {#State 27
-               DEFAULT => -94
+               DEFAULT => -93
        },
        {#State 28
                DEFAULT => -7
@@ -230,7 +230,7 @@ sub new {
                }
        },
        {#State 35
-               DEFAULT => -93
+               DEFAULT => -92
        },
        {#State 36
                ACTIONS => {
@@ -238,7 +238,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'text' => 46,
@@ -266,7 +266,7 @@ sub new {
                        "const" => 58,
                        "struct" => 61
                },
-               DEFAULT => -92,
+               DEFAULT => -91,
                GOTOS => {
                        'typedecl' => 62,
                        'function' => 51,
@@ -284,7 +284,7 @@ sub new {
                }
        },
        {#State 40
-               DEFAULT => -95
+               DEFAULT => -94
        },
        {#State 41
                ACTIONS => {
@@ -304,7 +304,7 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -98
+               DEFAULT => -97
        },
        {#State 42
                ACTIONS => {
@@ -313,22 +313,22 @@ sub new {
                }
        },
        {#State 43
-               DEFAULT => -104
+               DEFAULT => -103
        },
        {#State 44
-               DEFAULT => -124
+               DEFAULT => -123
        },
        {#State 45
-               DEFAULT => -103
+               DEFAULT => -102
        },
        {#State 46
-               DEFAULT => -105
+               DEFAULT => -104
        },
        {#State 47
                ACTIONS => {
                        ";" => 86
                },
-               DEFAULT => -126,
+               DEFAULT => -125,
                GOTOS => {
                        'optional_semicolon' => 87
                }
@@ -342,7 +342,7 @@ sub new {
                }
        },
        {#State 49
-               DEFAULT => -92,
+               DEFAULT => -91,
                GOTOS => {
                        'property_list' => 89
                }
@@ -351,7 +351,7 @@ sub new {
                ACTIONS => {
                        'IDENTIFIER' => 90
                },
-               DEFAULT => -123,
+               DEFAULT => -122,
                GOTOS => {
                        'optional_identifier' => 91
                }
@@ -370,7 +370,7 @@ sub new {
                        "const" => 58,
                        "struct" => 61
                },
-               DEFAULT => -92,
+               DEFAULT => -91,
                GOTOS => {
                        'typedecl' => 62,
                        'function' => 51,
@@ -419,7 +419,7 @@ sub new {
                DEFAULT => -18
        },
        {#State 56
-               DEFAULT => -92,
+               DEFAULT => -91,
                GOTOS => {
                        'property_list' => 103
                }
@@ -445,7 +445,7 @@ sub new {
                ACTIONS => {
                        'IDENTIFIER' => 90
                },
-               DEFAULT => -123,
+               DEFAULT => -122,
                GOTOS => {
                        'optional_identifier' => 105
                }
@@ -457,7 +457,7 @@ sub new {
                ACTIONS => {
                        'IDENTIFIER' => 90
                },
-               DEFAULT => -123,
+               DEFAULT => -122,
                GOTOS => {
                        'optional_identifier' => 106
                }
@@ -466,7 +466,7 @@ sub new {
                ACTIONS => {
                        'IDENTIFIER' => 90
                },
-               DEFAULT => -123,
+               DEFAULT => -122,
                GOTOS => {
                        'optional_identifier' => 107
                }
@@ -489,7 +489,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 108,
@@ -503,7 +503,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 109,
@@ -517,7 +517,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 110,
@@ -531,7 +531,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 111,
@@ -545,7 +545,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 112,
@@ -559,7 +559,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 113,
@@ -573,7 +573,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 114,
@@ -587,7 +587,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 115,
@@ -602,7 +602,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 117,
@@ -616,7 +616,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 118,
@@ -630,7 +630,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 119,
@@ -644,7 +644,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 115,
@@ -659,7 +659,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 121,
@@ -673,7 +673,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 122,
@@ -687,7 +687,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 123,
@@ -701,7 +701,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 124,
@@ -710,10 +710,10 @@ sub new {
                }
        },
        {#State 85
-               DEFAULT => -97
+               DEFAULT => -96
        },
        {#State 86
-               DEFAULT => -127
+               DEFAULT => -126
        },
        {#State 87
                DEFAULT => -12
@@ -748,13 +748,13 @@ sub new {
                }
        },
        {#State 90
-               DEFAULT => -122
+               DEFAULT => -121
        },
        {#State 91
                ACTIONS => {
                        "{" => 128
                },
-               DEFAULT => -77,
+               DEFAULT => -76,
                GOTOS => {
                        'union_body' => 129,
                        'opt_union_body' => 127
@@ -764,7 +764,7 @@ sub new {
                ACTIONS => {
                        ";" => 86
                },
-               DEFAULT => -126,
+               DEFAULT => -125,
                GOTOS => {
                        'optional_semicolon' => 130
                }
@@ -776,13 +776,13 @@ sub new {
                DEFAULT => -40
        },
        {#State 95
-               DEFAULT => -48
+               DEFAULT => -47
        },
        {#State 96
-               DEFAULT => -46
+               DEFAULT => -45
        },
        {#State 97
-               DEFAULT => -45
+               DEFAULT => -44
        },
        {#State 98
                ACTIONS => {
@@ -793,7 +793,7 @@ sub new {
                }
        },
        {#State 99
-               DEFAULT => -47
+               DEFAULT => -46
        },
        {#State 100
                DEFAULT => -41
@@ -824,7 +824,7 @@ sub new {
                }
        },
        {#State 104
-               DEFAULT => -81,
+               DEFAULT => -80,
                GOTOS => {
                        'pointers' => 140
                }
@@ -833,7 +833,7 @@ sub new {
                ACTIONS => {
                        "{" => 142
                },
-               DEFAULT => -67,
+               DEFAULT => -66,
                GOTOS => {
                        'struct_body' => 141,
                        'opt_struct_body' => 143
@@ -843,7 +843,7 @@ sub new {
                ACTIONS => {
                        "{" => 144
                },
-               DEFAULT => -50,
+               DEFAULT => -49,
                GOTOS => {
                        'opt_enum_body' => 146,
                        'enum_body' => 145
@@ -853,7 +853,7 @@ sub new {
                ACTIONS => {
                        "{" => 148
                },
-               DEFAULT => -58,
+               DEFAULT => -57,
                GOTOS => {
                        'bitmap_body' => 149,
                        'opt_bitmap_body' => 147
@@ -877,7 +877,7 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -115
+               DEFAULT => -114
        },
        {#State 109
                ACTIONS => {
@@ -888,7 +888,7 @@ sub new {
                        "{" => 76,
                        "=" => 79
                },
-               DEFAULT => -106
+               DEFAULT => -105
        },
        {#State 110
                ACTIONS => {
@@ -908,7 +908,7 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -110
+               DEFAULT => -109
        },
        {#State 111
                ACTIONS => {
@@ -928,7 +928,7 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -118
+               DEFAULT => -117
        },
        {#State 112
                ACTIONS => {
@@ -939,7 +939,7 @@ sub new {
                        "{" => 76,
                        "=" => 79
                },
-               DEFAULT => -117
+               DEFAULT => -116
        },
        {#State 113
                ACTIONS => {
@@ -950,7 +950,7 @@ sub new {
                        "{" => 76,
                        "=" => 79
                },
-               DEFAULT => -108
+               DEFAULT => -107
        },
        {#State 114
                ACTIONS => {
@@ -970,7 +970,7 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -114
+               DEFAULT => -113
        },
        {#State 115
                ACTIONS => {
@@ -990,7 +990,7 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -100
+               DEFAULT => -99
        },
        {#State 116
                ACTIONS => {
@@ -1007,7 +1007,7 @@ sub new {
                        "{" => 76,
                        "=" => 79
                },
-               DEFAULT => -112
+               DEFAULT => -111
        },
        {#State 118
                ACTIONS => {
@@ -1018,7 +1018,7 @@ sub new {
                        "{" => 76,
                        "=" => 79
                },
-               DEFAULT => -113
+               DEFAULT => -112
        },
        {#State 119
                ACTIONS => {
@@ -1038,7 +1038,7 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -116
+               DEFAULT => -115
        },
        {#State 120
                ACTIONS => {
@@ -1055,7 +1055,7 @@ sub new {
                        "{" => 76,
                        "=" => 79
                },
-               DEFAULT => -111
+               DEFAULT => -110
        },
        {#State 122
                ACTIONS => {
@@ -1066,7 +1066,7 @@ sub new {
                        "{" => 76,
                        "=" => 79
                },
-               DEFAULT => -107
+               DEFAULT => -106
        },
        {#State 123
                ACTIONS => {
@@ -1077,7 +1077,7 @@ sub new {
                        "{" => 76,
                        "=" => 79
                },
-               DEFAULT => -109
+               DEFAULT => -108
        },
        {#State 124
                ACTIONS => {
@@ -1097,7 +1097,7 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -99
+               DEFAULT => -98
        },
        {#State 125
                DEFAULT => -14
@@ -1111,22 +1111,22 @@ sub new {
                }
        },
        {#State 127
-               DEFAULT => -79
+               DEFAULT => -78
        },
        {#State 128
-               DEFAULT => -74,
+               DEFAULT => -73,
                GOTOS => {
                        'union_elements' => 154
                }
        },
        {#State 129
-               DEFAULT => -78
+               DEFAULT => -77
        },
        {#State 130
                DEFAULT => -15
        },
        {#State 131
-               DEFAULT => -44
+               DEFAULT => -43
        },
        {#State 132
                ACTIONS => {
@@ -1169,16 +1169,16 @@ sub new {
                }
        },
        {#State 141
-               DEFAULT => -68
+               DEFAULT => -67
        },
        {#State 142
-               DEFAULT => -83,
+               DEFAULT => -82,
                GOTOS => {
                        'element_list1' => 159
                }
        },
        {#State 143
-               DEFAULT => -69
+               DEFAULT => -68
        },
        {#State 144
                ACTIONS => {
@@ -1191,19 +1191,19 @@ sub new {
                }
        },
        {#State 145
-               DEFAULT => -51
+               DEFAULT => -50
        },
        {#State 146
-               DEFAULT => -52
+               DEFAULT => -51
        },
        {#State 147
-               DEFAULT => -60
+               DEFAULT => -59
        },
        {#State 148
                ACTIONS => {
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -63,
+               DEFAULT => -62,
                GOTOS => {
                        'identifier' => 165,
                        'bitmap_element' => 164,
@@ -1212,7 +1212,7 @@ sub new {
                }
        },
        {#State 149
-               DEFAULT => -59
+               DEFAULT => -58
        },
        {#State 150
                ACTIONS => {
@@ -1220,7 +1220,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 167,
@@ -1234,7 +1234,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 168,
@@ -1248,7 +1248,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 169,
@@ -1260,7 +1260,7 @@ sub new {
                ACTIONS => {
                        "[" => 170
                },
-               DEFAULT => -89,
+               DEFAULT => -88,
                GOTOS => {
                        'array_len' => 171
                }
@@ -1269,7 +1269,7 @@ sub new {
                ACTIONS => {
                        "}" => 172
                },
-               DEFAULT => -92,
+               DEFAULT => -91,
                GOTOS => {
                        'optional_base_element' => 174,
                        'property_list' => 173
@@ -1277,11 +1277,11 @@ sub new {
        },
        {#State 155
                ACTIONS => {
-                       "," => -85,
+                       "," => -84,
                        "void" => 178,
-                       ")" => -85
+                       ")" => -84
                },
-               DEFAULT => -92,
+               DEFAULT => -91,
                GOTOS => {
                        'base_element' => 175,
                        'element_list2' => 177,
@@ -1303,13 +1303,13 @@ sub new {
                }
        },
        {#State 158
-               DEFAULT => -82
+               DEFAULT => -81
        },
        {#State 159
                ACTIONS => {
                        "}" => 182
                },
-               DEFAULT => -92,
+               DEFAULT => -91,
                GOTOS => {
                        'base_element' => 183,
                        'property_list' => 176
@@ -1319,10 +1319,10 @@ sub new {
                ACTIONS => {
                        "=" => 184
                },
-               DEFAULT => -55
+               DEFAULT => -54
        },
        {#State 161
-               DEFAULT => -53
+               DEFAULT => -52
        },
        {#State 162
                ACTIONS => {
@@ -1334,10 +1334,10 @@ sub new {
                ACTIONS => {
                        "," => 187
                },
-               DEFAULT => -64
+               DEFAULT => -63
        },
        {#State 164
-               DEFAULT => -61
+               DEFAULT => -60
        },
        {#State 165
                ACTIONS => {
@@ -1367,7 +1367,7 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -120
+               DEFAULT => -119
        },
        {#State 168
                ACTIONS => {
@@ -1387,7 +1387,7 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -101
+               DEFAULT => -100
        },
        {#State 169
                ACTIONS => {
@@ -1398,7 +1398,7 @@ sub new {
                        "{" => 76,
                        "=" => 79
                },
-               DEFAULT => -119
+               DEFAULT => -118
        },
        {#State 170
                ACTIONS => {
@@ -1407,7 +1407,7 @@ sub new {
                        "]" => 190,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 191,
@@ -1421,13 +1421,13 @@ sub new {
                }
        },
        {#State 172
-               DEFAULT => -76
+               DEFAULT => -75
        },
        {#State 173
                ACTIONS => {
                        "[" => 17
                },
-               DEFAULT => -92,
+               DEFAULT => -91,
                GOTOS => {
                        'base_or_empty' => 193,
                        'base_element' => 194,
@@ -1436,10 +1436,10 @@ sub new {
                }
        },
        {#State 174
-               DEFAULT => -75
+               DEFAULT => -74
        },
        {#State 175
-               DEFAULT => -87
+               DEFAULT => -86
        },
        {#State 176
                ACTIONS => {
@@ -1453,7 +1453,6 @@ sub new {
                        "[" => 17,
                        "struct" => 61
                },
-               DEFAULT => -43,
                GOTOS => {
                        'existingtype' => 99,
                        'bitmap' => 65,
@@ -1473,7 +1472,7 @@ sub new {
                }
        },
        {#State 178
-               DEFAULT => -86
+               DEFAULT => -85
        },
        {#State 179
                DEFAULT => -28
@@ -1489,7 +1488,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 201,
@@ -1498,7 +1497,7 @@ sub new {
                }
        },
        {#State 182
-               DEFAULT => -66
+               DEFAULT => -65
        },
        {#State 183
                ACTIONS => {
@@ -1511,7 +1510,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 203,
@@ -1520,7 +1519,7 @@ sub new {
                }
        },
        {#State 185
-               DEFAULT => -49
+               DEFAULT => -48
        },
        {#State 186
                ACTIONS => {
@@ -1546,7 +1545,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 206,
@@ -1555,13 +1554,13 @@ sub new {
                }
        },
        {#State 189
-               DEFAULT => -57
+               DEFAULT => -56
        },
        {#State 190
                ACTIONS => {
                        "[" => 170
                },
-               DEFAULT => -89,
+               DEFAULT => -88,
                GOTOS => {
                        'array_len' => 207
                }
@@ -1590,7 +1589,7 @@ sub new {
                DEFAULT => -35
        },
        {#State 193
-               DEFAULT => -73
+               DEFAULT => -72
        },
        {#State 194
                ACTIONS => {
@@ -1598,7 +1597,7 @@ sub new {
                }
        },
        {#State 195
-               DEFAULT => -72
+               DEFAULT => -71
        },
        {#State 196
                ACTIONS => {
@@ -1613,7 +1612,6 @@ sub new {
                        "[" => 17,
                        "struct" => 61
                },
-               DEFAULT => -43,
                GOTOS => {
                        'existingtype' => 99,
                        'bitmap' => 65,
@@ -1627,13 +1625,13 @@ sub new {
                }
        },
        {#State 197
-               DEFAULT => -81,
+               DEFAULT => -80,
                GOTOS => {
                        'pointers' => 211
                }
        },
        {#State 198
-               DEFAULT => -92,
+               DEFAULT => -91,
                GOTOS => {
                        'base_element' => 212,
                        'property_list' => 176
@@ -1650,7 +1648,7 @@ sub new {
                        'TEXT' => 13,
                        'IDENTIFIER' => 22
                },
-               DEFAULT => -102,
+               DEFAULT => -101,
                GOTOS => {
                        'identifier' => 45,
                        'anytext' => 214,
@@ -1679,7 +1677,7 @@ sub new {
                }
        },
        {#State 202
-               DEFAULT => -84
+               DEFAULT => -83
        },
        {#State 203
                ACTIONS => {
@@ -1699,13 +1697,13 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -56
+               DEFAULT => -55
        },
        {#State 204
-               DEFAULT => -54
+               DEFAULT => -53
        },
        {#State 205
-               DEFAULT => -62
+               DEFAULT => -61
        },
        {#State 206
                ACTIONS => {
@@ -1725,25 +1723,25 @@ sub new {
                        "." => 82,
                        ">" => 83
                },
-               DEFAULT => -65
+               DEFAULT => -64
        },
        {#State 207
-               DEFAULT => -90
+               DEFAULT => -89
        },
        {#State 208
                ACTIONS => {
                        "[" => 170
                },
-               DEFAULT => -89,
+               DEFAULT => -88,
                GOTOS => {
                        'array_len' => 216
                }
        },
        {#State 209
-               DEFAULT => -71
+               DEFAULT => -70
        },
        {#State 210
-               DEFAULT => -70
+               DEFAULT => -69
        },
        {#State 211
                ACTIONS => {
@@ -1755,7 +1753,7 @@ sub new {
                }
        },
        {#State 212
-               DEFAULT => -88
+               DEFAULT => -87
        },
        {#State 213
                DEFAULT => -27
@@ -1784,13 +1782,13 @@ sub new {
                DEFAULT => -25
        },
        {#State 216
-               DEFAULT => -91
+               DEFAULT => -90
        },
        {#State 217
                ACTIONS => {
                        "[" => 170
                },
-               DEFAULT => -89,
+               DEFAULT => -88,
                GOTOS => {
                        'array_len' => 219
                }
@@ -1799,7 +1797,7 @@ sub new {
                DEFAULT => -26
        },
        {#State 219
-               DEFAULT => -80
+               DEFAULT => -79
        }
 ],
                                   yyrules  =>
@@ -2085,42 +2083,39 @@ sub
                 'sign', 1, undef
        ],
        [#Rule 43
-                'existingtype', 0, undef
-       ],
-       [#Rule 44
                 'existingtype', 2,
 sub
 #line 182 "idl.yp"
-{ "$_[1] $_[2]" }
+{ ($_[1]?$_[1]:"signed") ." $_[2]" }
        ],
-       [#Rule 45
+       [#Rule 44
                 'existingtype', 1, undef
        ],
-       [#Rule 46
+       [#Rule 45
                 'type', 1, undef
        ],
-       [#Rule 47
+       [#Rule 46
                 'type', 1, undef
        ],
-       [#Rule 48
+       [#Rule 47
                 'type', 1,
 sub
 #line 186 "idl.yp"
 { "void" }
        ],
-       [#Rule 49
+       [#Rule 48
                 'enum_body', 3,
 sub
 #line 188 "idl.yp"
 { $_[2] }
        ],
-       [#Rule 50
+       [#Rule 49
                 'opt_enum_body', 0, undef
        ],
-       [#Rule 51
+       [#Rule 50
                 'opt_enum_body', 1, undef
        ],
-       [#Rule 52
+       [#Rule 51
                 'enum', 3,
 sub
 #line 191 "idl.yp"
@@ -2130,40 +2125,40 @@ sub
                     "ELEMENTS" => $_[3]
         }}
        ],
-       [#Rule 53
+       [#Rule 52
                 'enum_elements', 1,
 sub
 #line 199 "idl.yp"
 { [ $_[1] ] }
        ],
-       [#Rule 54
+       [#Rule 53
                 'enum_elements', 3,
 sub
 #line 200 "idl.yp"
 { push(@{$_[1]}, $_[3]); $_[1] }
        ],
-       [#Rule 55
+       [#Rule 54
                 'enum_element', 1, undef
        ],
-       [#Rule 56
+       [#Rule 55
                 'enum_element', 3,
 sub
 #line 204 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 57
+       [#Rule 56
                 'bitmap_body', 3,
 sub
 #line 207 "idl.yp"
 { $_[2] }
        ],
-       [#Rule 58
+       [#Rule 57
                 'opt_bitmap_body', 0, undef
        ],
-       [#Rule 59
+       [#Rule 58
                 'opt_bitmap_body', 1, undef
        ],
-       [#Rule 60
+       [#Rule 59
                 'bitmap', 3,
 sub
 #line 210 "idl.yp"
@@ -2173,43 +2168,43 @@ sub
                     "ELEMENTS" => $_[3]
         }}
        ],
-       [#Rule 61
+       [#Rule 60
                 'bitmap_elements', 1,
 sub
 #line 218 "idl.yp"
 { [ $_[1] ] }
        ],
-       [#Rule 62
+       [#Rule 61
                 'bitmap_elements', 3,
 sub
 #line 219 "idl.yp"
 { push(@{$_[1]}, $_[3]); $_[1] }
        ],
-       [#Rule 63
+       [#Rule 62
                 'opt_bitmap_elements', 0, undef
        ],
-       [#Rule 64
+       [#Rule 63
                 'opt_bitmap_elements', 1, undef
        ],
-       [#Rule 65
+       [#Rule 64
                 'bitmap_element', 3,
 sub
 #line 224 "idl.yp"
 { "$_[1] ( $_[3] )" }
        ],
-       [#Rule 66
+       [#Rule 65
                 'struct_body', 3,
 sub
 #line 227 "idl.yp"
 { $_[2] }
        ],
-       [#Rule 67
+       [#Rule 66
                 'opt_struct_body', 0, undef
        ],
-       [#Rule 68
+       [#Rule 67
                 'opt_struct_body', 1, undef
        ],
-       [#Rule 69
+       [#Rule 68
                 'struct', 3,
 sub
 #line 231 "idl.yp"
@@ -2219,7 +2214,7 @@ sub
                     "ELEMENTS" => $_[3]
         }}
        ],
-       [#Rule 70
+       [#Rule 69
                 'empty_element', 2,
 sub
 #line 239 "idl.yp"
@@ -2233,40 +2228,40 @@ sub
                 "LINE" => $_[0]->YYData->{LINE},
         }}
        ],
-       [#Rule 71
+       [#Rule 70
                 'base_or_empty', 2, undef
        ],
-       [#Rule 72
+       [#Rule 71
                 'base_or_empty', 1, undef
        ],
-       [#Rule 73
+       [#Rule 72
                 'optional_base_element', 2,
 sub
 #line 253 "idl.yp"
 { $_[2]->{PROPERTIES} = FlattenHash([$_[1],$_[2]->{PROPERTIES}]); $_[2] }
        ],
-       [#Rule 74
+       [#Rule 73
                 'union_elements', 0, undef
        ],
-       [#Rule 75
+       [#Rule 74
                 'union_elements', 2,
 sub
 #line 258 "idl.yp"
 { push(@{$_[1]}, $_[2]); $_[1] }
        ],
-       [#Rule 76
+       [#Rule 75
                 'union_body', 3,
 sub
 #line 261 "idl.yp"
 { $_[2] }
        ],
-       [#Rule 77
+       [#Rule 76
                 'opt_union_body', 0, undef
        ],
-       [#Rule 78
+       [#Rule 77
                 'opt_union_body', 1, undef
        ],
-       [#Rule 79
+       [#Rule 78
                 'union', 3,
 sub
 #line 265 "idl.yp"
@@ -2276,7 +2271,7 @@ sub
                     "ELEMENTS" => $_[3]
         }}
        ],
-       [#Rule 80
+       [#Rule 79
                 'base_element', 5,
 sub
 #line 273 "idl.yp"
@@ -2290,117 +2285,120 @@ sub
                       "LINE" => $_[0]->YYData->{LINE},
               }}
        ],
-       [#Rule 81
+       [#Rule 80
                 'pointers', 0,
 sub
 #line 287 "idl.yp"
 { 0 }
        ],
-       [#Rule 82
+       [#Rule 81
                 'pointers', 2,
 sub
 #line 288 "idl.yp"
 { $_[1]+1 }
        ],
-       [#Rule 83
+       [#Rule 82
                 'element_list1', 0, undef
        ],
-       [#Rule 84
+       [#Rule 83
                 'element_list1', 3,
 sub
 #line 293 "idl.yp"
 { push(@{$_[1]}, $_[2]); $_[1] }
        ],
-       [#Rule 85
+       [#Rule 84
                 'element_list2', 0, undef
        ],
-       [#Rule 86
+       [#Rule 85
                 'element_list2', 1, undef
        ],
-       [#Rule 87
+       [#Rule 86
                 'element_list2', 1,
 sub
 #line 299 "idl.yp"
 { [ $_[1] ] }
        ],
-       [#Rule 88
+       [#Rule 87
                 'element_list2', 3,
 sub
 #line 300 "idl.yp"
 { push(@{$_[1]}, $_[3]); $_[1] }
        ],
-       [#Rule 89
+       [#Rule 88
                 'array_len', 0, undef
        ],
-       [#Rule 90
+       [#Rule 89
                 'array_len', 3,
 sub
 #line 305 "idl.yp"
 { push(@{$_[3]}, "*"); $_[3] }
        ],
-       [#Rule 91
+       [#Rule 90
                 'array_len', 4,
 sub
 #line 306 "idl.yp"
 { push(@{$_[4]}, "$_[2]"); $_[4] }
        ],
-       [#Rule 92
+       [#Rule 91
                 'property_list', 0, undef
        ],
-       [#Rule 93
+       [#Rule 92
                 'property_list', 4,
 sub
 #line 312 "idl.yp"
 { FlattenHash([$_[1],$_[3]]); }
        ],
-       [#Rule 94
+       [#Rule 93
                 'properties', 1,
 sub
 #line 315 "idl.yp"
 { $_[1] }
        ],
-       [#Rule 95
+       [#Rule 94
                 'properties', 3,
 sub
 #line 316 "idl.yp"
 { FlattenHash([$_[1], $_[3]]); }
        ],
-       [#Rule 96
+       [#Rule 95
                 'property', 1,
 sub
 #line 319 "idl.yp"
 {{ "$_[1]" => "1"     }}
        ],
-       [#Rule 97
+       [#Rule 96
                 'property', 4,
 sub
 #line 320 "idl.yp"
 {{ "$_[1]" => "$_[3]" }}
        ],
-       [#Rule 98
+       [#Rule 97
                 'listtext', 1, undef
        ],
-       [#Rule 99
+       [#Rule 98
                 'listtext', 3,
 sub
 #line 325 "idl.yp"
 { "$_[1] $_[3]" }
        ],
-       [#Rule 100
+       [#Rule 99
                 'commalisttext', 1, undef
        ],
-       [#Rule 101
+       [#Rule 100
                 'commalisttext', 3,
 sub
 #line 330 "idl.yp"
 { "$_[1],$_[3]" }
        ],
-       [#Rule 102
+       [#Rule 101
                 'anytext', 0,
 sub
 #line 334 "idl.yp"
 { "" }
        ],
+       [#Rule 102
+                'anytext', 1, undef
+       ],
        [#Rule 103
                 'anytext', 1, undef
        ],
@@ -2408,120 +2406,117 @@ sub
                 'anytext', 1, undef
        ],
        [#Rule 105
-                'anytext', 1, undef
-       ],
-       [#Rule 106
                 'anytext', 3,
 sub
 #line 336 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 107
+       [#Rule 106
                 'anytext', 3,
 sub
 #line 337 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 108
+       [#Rule 107
                 'anytext', 3,
 sub
 #line 338 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 109
+       [#Rule 108
                 'anytext', 3,
 sub
 #line 339 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 110
+       [#Rule 109
                 'anytext', 3,
 sub
 #line 340 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 111
+       [#Rule 110
                 'anytext', 3,
 sub
 #line 341 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 112
+       [#Rule 111
                 'anytext', 3,
 sub
 #line 342 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 113
+       [#Rule 112
                 'anytext', 3,
 sub
 #line 343 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 114
+       [#Rule 113
                 'anytext', 3,
 sub
 #line 344 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 115
+       [#Rule 114
                 'anytext', 3,
 sub
 #line 345 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 116
+       [#Rule 115
                 'anytext', 3,
 sub
 #line 346 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 117
+       [#Rule 116
                 'anytext', 3,
 sub
 #line 347 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 118
+       [#Rule 117
                 'anytext', 3,
 sub
 #line 348 "idl.yp"
 { "$_[1]$_[2]$_[3]" }
        ],
-       [#Rule 119
+       [#Rule 118
                 'anytext', 5,
 sub
 #line 349 "idl.yp"
 { "$_[1]$_[2]$_[3]$_[4]$_[5]" }
        ],
-       [#Rule 120
+       [#Rule 119
                 'anytext', 5,
 sub
 #line 350 "idl.yp"
 { "$_[1]$_[2]$_[3]$_[4]$_[5]" }
        ],
-       [#Rule 121
+       [#Rule 120
                 'identifier', 1, undef
        ],
-       [#Rule 122
+       [#Rule 121
                 'optional_identifier', 1, undef
        ],
-       [#Rule 123
+       [#Rule 122
                 'optional_identifier', 0, undef
        ],
-       [#Rule 124
+       [#Rule 123
                 'constant', 1, undef
        ],
-       [#Rule 125
+       [#Rule 124
                 'text', 1,
 sub
 #line 364 "idl.yp"
 { "\"$_[1]\"" }
        ],
-       [#Rule 126
+       [#Rule 125
                 'optional_semicolon', 0, undef
        ],
-       [#Rule 127
+       [#Rule 126
                 'optional_semicolon', 1, undef
        ]
 ],
index 2f43abe1ed012dc3af66b771b2e5a12e62ae0ae0..cfa14226748f9c5a48369ab88d4febabdb9872fd 100644 (file)
@@ -18,14 +18,22 @@ my $warnings = "";
 undef &Parse::Pidl::warning;
 *Parse::Pidl::warning = sub { 
        my ($e, $l) = @_;
-       $warnings .= "$e->{FILE}:$e->{LINE}: $l\n";
+       if (defined($e)) {
+               $warnings .= "$e->{FILE}:$e->{LINE}: $l\n";
+       } else {
+               $warnings .= "$l\n";
+       }
 };
 
 my $errors = "";
 undef &Parse::Pidl::error;
 *Parse::Pidl::error = sub { 
        my ($e, $l) = @_;
-       $errors .= "$e->{FILE}:$e->{LINE}: $l\n";
+       if (defined($e)) {
+               $errors .= "$e->{FILE}:$e->{LINE}: $l\n";
+       } else {
+               $errors .= "$l\n";
+       }
 };
 
 use Test::More;
index cea59af1b6c4037b69fb29decec92e1e52e87ba7..19cb90c08082fa450932caf7babfccd5c952f80c 100755 (executable)
@@ -2,6 +2,7 @@
 # (C) 2007 Jelmer Vernooij <jelmer@samba.org>
 # Published under the GNU General Public License
 use strict;
+use warnings;
 
 use Test::More tests => 56;
 use FindBin qw($RealBin);