summaryrefslogtreecommitdiffstats
path: root/source4/build/pidl/idl.gram
diff options
context:
space:
mode:
Diffstat (limited to 'source4/build/pidl/idl.gram')
-rw-r--r--source4/build/pidl/idl.gram15
1 files changed, 10 insertions, 5 deletions
diff --git a/source4/build/pidl/idl.gram b/source4/build/pidl/idl.gram
index 9b265b8cba1..d90c2238b4f 100644
--- a/source4/build/pidl/idl.gram
+++ b/source4/build/pidl/idl.gram
@@ -54,24 +54,29 @@ union: property_list(s?) 'union' <commit> '{' union_element(s?) '}'
}}
| <error?>
-union_element: '[' 'case' '(' constant ')' ']' base_element ';'
+union_element:
+ '[' 'case' '(' constant ')' ']' base_element ';'
{{
"TYPE" => "UNION_ELEMENT",
"CASE" => $item{constant},
"DATA" => $item{base_element}
}}
- | 'case' '(' constant ')' base_element ';'
+ | '[' 'case' '(' constant ')' ']' ';'
{{
- "TYPE" => "UNION_ELEMENT",
+ "TYPE" => "EMPTY",
"CASE" => $item{constant},
- "DATA" => $item{base_element}
}}
- | 'default' base_element ';'
+ | '[' 'default' ']' base_element ';'
{{
"TYPE" => "UNION_ELEMENT",
"CASE" => "default",
"DATA" => $item{base_element}
}}
+ | '[' 'default' ']' ';'
+ {{
+ "TYPE" => "EMPTY",
+ "CASE" => "default",
+ }}
base_element: property_list(s?) type pointer(s?) identifier array_len(?)
{{