(* gccext: *)
| StatementExpr of compound wrap (* ( ) new scope *)
- | Constructor of fullType * initialiser wrap2 (* , *) list
+ | Constructor of fullType * initialiser
(* for unparser: *)
| ParenExpr of expression
(* cppext: *)
(* bool is true if there is a ; at the end *)
| MacroDecl of (string * argument wrap2 list * bool) wrap (* fakestart *)
+ | MacroDeclInit of
+ (string * argument wrap2 list * initialiser) wrap (* fakestart *)
and onedecl =
{ v_namei: (name * v_init) option;
(* bugfix: because of string->name, the ii can be deeper *)
let ii = get_local_ii_of_tybis_inlining_ii_of_name ty in
match ii with
- | ii::_ -> ii.pinfo
- | [] -> failwith "type has no text; need to think again"
+ | ii::_ -> Some ii.pinfo
+ | [] -> None
(* only Label and Goto have name *)
let get_local_ii_of_st_inlining_ii_of_name st =