summaryrefslogtreecommitdiff
path: root/gcc/cppbuiltin.c
diff options
context:
space:
mode:
authordj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2014-08-29 23:35:12 +0000
committerdj <dj@138bc75d-0d04-0410-961f-82ee72b054a4>2014-08-29 23:35:12 +0000
commit4765975cb2f85d61e801d12562b39da2d1e25f2c (patch)
tree94afbeb41e705981bf09d1e0992c8f8c7f911054 /gcc/cppbuiltin.c
parent91ae0791cbebaac673e42e53c8b7f000241a0ca1 (diff)
downloadgcc-4765975cb2f85d61e801d12562b39da2d1e25f2c.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214748 138bc75d-0d04-0410-961f-82ee72b054a4
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 8b2c6b4d3d2..fbcd9b06c65 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));
}