* langhooks.h (struct lang_hooks): Add new field deep_unsharing. * langhooks-def.h (LANG_HOOKS_DEEP_UNSHARING): New macro. (LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_DEEP_UNSHARING. * gimplify.c: (mostly_copy_tree_r): Copy trees under SAVE_EXPR and TARGET_EXPR nodes, but only once, if instructed to do so. Do not propagate the 'data' argument to copy_tree_r. (copy_if_shared_r): Remove bogus ATTRIBUTE_UNUSED marker. Propagate 'data' argument to walk_tree. (copy_if_shared): New function. (unmark_visited_r): Remove bogus ATTRIBUTE_UNUSED marker. (unmark_visited): New function. (unshare_body): Call copy_if_shared instead of doing it manually. (unvisit_body): Call unmark_visited instead of doing it manually. ada/ * gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine. * gcc-interface/trans.c (unshare_save_expr): Delete. (gigi): Do not unshare trees under SAVE_EXPRs here. From-SVN: r159592
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| abstract_limited.ads | Loading commit data... | |
| abstract_private.ads | Loading commit data... | |
| access3.ads | Loading commit data... | |
| access_constant.ads | Loading commit data... | |
| access_constant_decl.ads | Loading commit data... | |
| addr1.ads | Loading commit data... | |
| aggr1.ads | Loading commit data... | |
| ai_116.ads | Loading commit data... | |
| alignment1.ads | Loading commit data... | |
| alignment2.ads | Loading commit data... | |
| array_no_def_init.ads | Loading commit data... | |
| attribute_parsing.ads | Loading commit data... | |
| box1.ads | Loading commit data... | |
| constructor.ads | Loading commit data... | |
| controlled1.ads | Loading commit data... | |
| controlled1_pkg.ads | Loading commit data... | |
| controller.ads | Loading commit data... | |
| corr_discr.ads | Loading commit data... | |
| cpp1.ads | Loading commit data... | |
| cpp_assignment.ads | Loading commit data... | |
| delta_small.ads | Loading commit data... | |
| discr_private.ads | Loading commit data... | |
| discr_record_constant.ads | Loading commit data... | |
| double_record_extension1.ads | Loading commit data... | |
| double_record_extension2.ads | Loading commit data... | |
| elab1.ads | Loading commit data... | |
| empty_variants.ads | Loading commit data... | |
| fe_inlining.ads | Loading commit data... | |
| fe_inlining_helper.adb | Loading commit data... | |
| fe_inlining_helper.ads | Loading commit data... | |
| formal_type.ads | Loading commit data... | |
| gen_interface.ads | Loading commit data... | |
| gen_interface_p.ads | Loading commit data... | |
| genericppc.ads | Loading commit data... | |
| gnati.ads | Loading commit data... | |
| iface_eq_test-child.ads | Loading commit data... | |
| iface_eq_test.ads | Loading commit data... | |
| import_abstract.ads | Loading commit data... | |
| integer_value.ads | Loading commit data... | |
| interface5.ads | Loading commit data... | |
| limited1.ads | Loading commit data... | |
| linker_section.ads | Loading commit data... | |
| lto3.ads | Loading commit data... | |
| lto3_pkg1.adb | Loading commit data... | |
| lto3_pkg1.ads | Loading commit data... | |
| lto3_pkg2.adb | Loading commit data... | |
| lto3_pkg2.ads | Loading commit data... | |
| null_aggr_bug.ads | Loading commit data... | |
| oversize.ads | Loading commit data... | |
| pack2.ads | Loading commit data... | |
| pack3.ads | Loading commit data... | |
| pack33.ads | Loading commit data... | |
| pack3_pkg.ads | Loading commit data... | |
| pack4.ads | Loading commit data... | |
| pack5.ads | Loading commit data... | |
| pack6.ads | Loading commit data... | |
| pack6_pkg.ads | Loading commit data... | |
| preelab.ads | Loading commit data... | |
| private_with.ads | Loading commit data... | |
| renamings.ads | Loading commit data... | |
| rep_clause1.ads | Loading commit data... | |
| rep_clause2.ads | Loading commit data... | |
| rep_clause3.ads | Loading commit data... | |
| rep_clause4.ads | Loading commit data... | |
| restricted_pkg.ads | Loading commit data... | |
| root-level_1-level_2.ads | Loading commit data... | |
| root-level_1.ads | Loading commit data... | |
| root-level_2.ads | Loading commit data... | |
| root.ads | Loading commit data... | |
| self_class.ads | Loading commit data... | |
| size_attribute1.ads | Loading commit data... | |
| size_attribute1_pkg1.adb | Loading commit data... | |
| size_attribute1_pkg1.ads | Loading commit data... | |
| size_attribute1_pkg2.adb | Loading commit data... | |
| size_attribute1_pkg2.ads | Loading commit data... | |
| size_clause1.ads | Loading commit data... | |
| size_clause2.ads | Loading commit data... | |
| size_clause3.ads | Loading commit data... | |
| small_alignment.ads | Loading commit data... | |
| specs.exp | Loading commit data... | |
| static_initializer.ads | Loading commit data... | |
| static_initializer2.ads | Loading commit data... | |
| static_initializer3.ads | Loading commit data... | |
| static_initializer4.ads | Loading commit data... | |
| storage.ads | Loading commit data... | |
| sync_iface_test.ads | Loading commit data... | |
| tag1.ads | Loading commit data... | |
| tag2.ads | Loading commit data... | |
| uc1.ads | Loading commit data... | |
| unchecked_union.ads | Loading commit data... | |
| universal_fixed.ads | Loading commit data... | |
| variant_part.ads | Loading commit data... | |
| varsize_return.ads | Loading commit data... | |
| varsize_return_pkg1.adb | Loading commit data... | |
| varsize_return_pkg1.ads | Loading commit data... | |
| varsize_return_pkg2.adb | Loading commit data... | |
| varsize_return_pkg2.ads | Loading commit data... | |
| warnstar.ads | Loading commit data... | |
| weak1.ads | Loading commit data... | |
| with_containers.ads | Loading commit data... |