From: Richard Kenner Date: Mon, 1 Jan 2001 00:27:11 +0000 (+0000) Subject: dwarf2out.c (loc_descriptor_from_tree, [...]): New. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b4ae520152976c22948e7c90360dcd93aacf2f88;p=gcc.git dwarf2out.c (loc_descriptor_from_tree, [...]): New. * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR): New. (loc_descriptor_from_tree, case SAVE_EXPR): New. From-SVN: r38579 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index faf78886c58..57a5f174bf9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +Sun Dec 31 19:20:51 2000 Richard Kenner + + * dwarf2out.c (loc_descriptor_from_tree, case WITH_RECORD_EXPR): New. + (loc_descriptor_from_tree, case SAVE_EXPR): New. + 2001-01-01 Michael Hayes * loop.c (loop_giv_reduce_benefit): Break out from strength_reduce. @@ -6,26 +11,18 @@ * loop.h (struct_iv_class): Add `final_value' and `all_reduced'. (struct loop_info): Add `pre_header_has_call'. -2001-01-01 Michael Hayes - * loop.c (loop_bivs_find): Break out from strength_reduce. (loop_bivs_init_find, loop_bivs_check, loop_givs_find): Likewise. (loop_givs_check, loop_biv_eliminable_p): Likewise. -2001-01-01 Michael Hayes - * loop.c (LOOP_REG_LIFETIME, LOOP_REG_GLOBAL_P): Define. (scan_loop, record_giv): Use LOOP_REG_LIFETIME and LOOP_REG_GLOBAL_P. -2001-01-01 Michael Hayes - * loop.h (REGNO_FIRST_LUID, REGNO_LAST_LUID): Define. * loop.c (REGNO_FIRST_LUID, REGNO_LAST_LUID): Use in place of direct access to uid_luid array. * unroll.c (REGNO_FIRST_LUID, REGNO_LAST_LUID): Likewise. -2001-01-01 Michael Hayes - * loop.h (struct loop_movables): New. (LOOP_MOVABLES): New. (struct loop_info): Add movables field. @@ -37,7 +34,6 @@ (scan_loop): Use xmalloc instead of alloca for movables. Call loop_movables_free. -2001-01-01 Michael Hayes * loop.c (debug_loops): New. diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c index 344fe4d1912..ec47c36352a 100644 --- a/gcc/dwarf2out.c +++ b/gcc/dwarf2out.c @@ -7793,6 +7793,13 @@ loc_descriptor_from_tree (loc, addressp) case ERROR_MARK: break; + case WITH_RECORD_EXPR: + /* This case involves extracting fields from an object to determine the + position of other fields. We don't try to encode this here. The + only user of this is Ada, which encodes the needed information using + the names of types. */ + return ret; + case VAR_DECL: case PARM_DECL: { @@ -7828,6 +7835,7 @@ loc_descriptor_from_tree (loc, addressp) case NOP_EXPR: case CONVERT_EXPR: case NON_LVALUE_EXPR: + case SAVE_EXPR: return loc_descriptor_from_tree (TREE_OPERAND (loc, 0), addressp); case COMPONENT_REF: