diff options
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r-- | gcc/dwarf2out.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index d4799b1..f2da4ac 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -3866,12 +3866,13 @@ new_reg_loc_descr (unsigned int reg, unsigned HOST_WIDE_INT offset) if (offset) { if (reg <= 31) - return new_loc_descr (DW_OP_breg0 + reg, offset, 0); + return new_loc_descr ((enum dwarf_location_atom) (DW_OP_breg0 + reg), + offset, 0); else return new_loc_descr (DW_OP_bregx, reg, offset); } else if (reg <= 31) - return new_loc_descr (DW_OP_reg0 + reg, 0, 0); + return new_loc_descr ((enum dwarf_location_atom) (DW_OP_reg0 + reg), 0, 0); else return new_loc_descr (DW_OP_regx, reg, 0); } @@ -9866,7 +9867,8 @@ based_loc_descr (rtx reg, HOST_WIDE_INT offset, regno = dbx_reg_number (reg); if (regno <= 31) - result = new_loc_descr (DW_OP_breg0 + regno, offset, 0); + result = new_loc_descr ((enum dwarf_location_atom) (DW_OP_breg0 + regno), + offset, 0); else result = new_loc_descr (DW_OP_bregx, regno, offset); @@ -10394,8 +10396,8 @@ loc_descriptor_from_tree_1 (tree loc, int want_address) if (DECL_THREAD_LOCAL_P (loc)) { rtx rtl; - unsigned first_op; - unsigned second_op; + enum dwarf_location_atom first_op; + enum dwarf_location_atom second_op; if (targetm.have_tls) { @@ -10409,7 +10411,7 @@ loc_descriptor_from_tree_1 (tree loc, int want_address) module. */ if (DECL_EXTERNAL (loc) && !targetm.binds_local_p (loc)) return 0; - first_op = INTERNAL_DW_OP_tls_addr; + first_op = (enum dwarf_location_atom) INTERNAL_DW_OP_tls_addr; second_op = DW_OP_GNU_push_tls_address; } else |