| /* { dg-do compile } */ |
| /* { dg-options "-O1 -fdump-tree-dom3" } */ |
| |
| struct die_struct; |
| typedef struct die_struct *dw_die_ref; |
| typedef struct dw_loc_list_struct *dw_loc_list_ref; |
| enum dw_val_class |
| { |
| dw_val_class_loc_list, |
| }; |
| typedef struct dw_val_struct |
| { |
| enum dw_val_class val_class; |
| union dw_val_struct_union |
| { |
| dw_loc_list_ref val_loc_list; |
| } |
| v; |
| } |
| dw_val_node; |
| typedef struct dw_attr_struct *dw_attr_ref; |
| typedef struct dw_attr_struct |
| { |
| dw_val_node dw_attr_val; |
| } |
| dw_attr_node; |
| |
| extern __inline__ enum dw_val_class |
| AT_class (a) |
| dw_attr_ref a; |
| { |
| return a->dw_attr_val.val_class; |
| } |
| extern __inline__ dw_loc_list_ref |
| AT_loc_list (a) |
| dw_attr_ref a; |
| { |
| if (AT_class (a) == dw_val_class_loc_list) |
| return a->dw_attr_val.v.val_loc_list; |
| } |
| /* APPLE LOCAL mainline 4840357 */ |
| void |
| output_location_lists (die) |
| dw_die_ref die; |
| { |
| dw_die_ref c; |
| dw_attr_ref d_attr; |
| if (AT_class (d_attr) == dw_val_class_loc_list) |
| output_loc_list (AT_loc_list (d_attr)); |
| } |
| |
| /* There should be exactly one IF conditional, in output_location_lists. */ |
| /* { dg-final { scan-tree-dump-times "if " 1 "dom3"} } */ |