aboutsummaryrefslogtreecommitdiff
path: root/gcc/dwarf2out.c
diff options
context:
space:
mode:
authorDJ Delorie <dj@redhat.com>2014-08-29 19:35:12 -0400
committerDJ Delorie <dj@gcc.gnu.org>2014-08-29 19:35:12 -0400
commit50b6ee8b714da5b191f38863310b7c4b967f2f40 (patch)
tree94afbeb41e705981bf09d1e0992c8f8c7f911054 /gcc/dwarf2out.c
parentaea3d681ec784b1a44ee3b37b0df2b71bdfadfc3 (diff)
downloadgcc-50b6ee8b714da5b191f38863310b7c4b967f2f40.zip
gcc-50b6ee8b714da5b191f38863310b7c4b967f2f40.tar.gz
gcc-50b6ee8b714da5b191f38863310b7c4b967f2f40.tar.bz2
cppbuiltin.c (define_builtin_macros_for_type_sizes): Round pointer size up to a power of two.
* cppbuiltin.c (define_builtin_macros_for_type_sizes): Round pointer size up to a power of two. * defaults.h (DWARF2_ADDR_SIZE): Round up. (POINTER_SIZE_UNITS): New, rounded up value. * dwarf2asm.c (size_of_encoded_value): Use it. (dw2_output_indirect_constant_1): Likewise. * expmed.c (init_expmed_one_conv): We now know the sizes of partial int modes. * loop-iv.c (iv_number_of_iterations): Use precision, not size. * optabs.c (expand_float): Use precision, not size. (expand_fix): Likewise. * simplify-rtx (simplify_unary_operation_1): Likewise. * tree-dfa.c (get_ref_base_and_extent): Likewise. * varasm.c (assemble_addr_to_section): Round up pointer sizes. (default_assemble_integer) Likewise. (dump_tm_clone_pairs): Likewise. * dwarf2out.c (mem_loc_descriptor): Allow partial-int modes also. * var-tracking.c (adjust_mems): Allow partial-int modes also. (prepare_call_arguments): Likewise. * stor-layout.c (finalize_type_size): Preserve precision. (layout_type): Use precision, not size. From-SVN: r214748
Diffstat (limited to 'gcc/dwarf2out.c')
-rw-r--r--gcc/dwarf2out.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index 39b28a9..7c0be86 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -12576,7 +12576,8 @@ mem_loc_descriptor (rtx rtl, enum machine_mode mode,
pool. */
case CONST:
case SYMBOL_REF:
- if (GET_MODE_CLASS (mode) != MODE_INT
+ if ((GET_MODE_CLASS (mode) != MODE_INT
+ && GET_MODE_CLASS (mode) != MODE_PARTIAL_INT)
|| (GET_MODE_SIZE (mode) > DWARF2_ADDR_SIZE
#ifdef POINTERS_EXTEND_UNSIGNED
&& (mode != Pmode || mem_mode == VOIDmode)