aboutsummaryrefslogtreecommitdiff
path: root/gcc/cppbuiltin.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/cppbuiltin.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/cppbuiltin.c')
-rw-r--r--gcc/cppbuiltin.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cppbuiltin.c b/gcc/cppbuiltin.c
index 8b2c6b4..fbcd9b0 100644
--- a/gcc/cppbuiltin.c
+++ b/gcc/cppbuiltin.c
@@ -175,7 +175,7 @@ define_builtin_macros_for_type_sizes (cpp_reader *pfile)
/* ptr_type_node can't be used here since ptr_mode is only set when
toplev calls backend_init which is not done with -E switch. */
cpp_define_formatted (pfile, "__SIZEOF_POINTER__=%d",
- POINTER_SIZE / BITS_PER_UNIT);
+ 1 << ceil_log2 ((POINTER_SIZE + BITS_PER_UNIT - 1) / BITS_PER_UNIT));
}