* builtins.c (c_strlen): Use size_diffop and return ssizetype value. (expand_builtin_strcpy): Pass correct type to size_binop. (expand_builtin_strcmp): Likewise. Clean up conditional structure. * c-decl.c (init_decl_processing): Don't call set_sizetype twice. (complete_array_type): Don't use size_binop for MAXINDEX. * c-typeck.c (c_sizeof): Use size_one_node and TYPE_SIZE_UNIT. (c_sizeof_nowarn, c_size_in_bytes): Likewise. (c_alignof): Use size_one_node. (build_unary_op): Pass arg of proper type to size_binop. (really_start_incremental_init, push_init_level): Use sizetype for constructor{,_bit,_unfilled}_index. (pop_init_label, output_init_element): Likewise. (output_pending_init_elements, process_init_element): Likewise. * calls.c (compute_argument_block_size): Field VAR is ssizetype. * expr.c (store_expr): Use size_int. (store_constructor): Use proper types for size_binop args. (get_inner_reference, expand_expr, case ARRAY_REF): Likewise. (expand_expr_unaligned): Likewise. (string_contant): Return object of sizetype. * expr.h (SUB_PARM_SIZE): Call size_diffop and pass proper types. (ARGS_SIZE_RTX): Call ARGS_SIZE_TREE. (ARGS_SIZE_TREE): Pass proper types to size_binop. * fold-const.c (int_const_binop): Refine when size_int is called. (fold_convert): Likewise. (size_int_wide): Rework to take KIND as arg, only take low order bits, handle new sizetype_tab datatype, and chain entries in size_table. (size_int_type_wide): New function. (size_binop): Validate types of arguments. (ssize_binop): Deleted. (size_diffop): New function. (extract_muldiv): Only fold division into multiplication for sizetypes. * function.c (assign_parms): Use size_diffop and make sure VAR field is of ssizetype; also pass proper type to size_binop. (locate_and_pad_parm, pad_to_arg_alignment): Likewise. (round_down): Deleted from here. * store-layout.c (sizetype_tab): Now an array. (sizetype_set, early_root_list): New variables. (variable_size): Use size_one_node. (round_up): Pass proper type to size_binop. (round_down): Moved to here and corrected as above. (layout_record): Pass proper arg types to size_binop. (layout_type): Likewise. If sizetype_set is zero, record the type just laid out. (make_unsigned_type): Don't call set_sizetype; (make_signed_type): Likewise; also, call fixup_signed_type. (initialize_sizetypes): New function. (set_sizetype): Make copy of types, set TYPE_IS_SIZETYPE, and set name of bitsizetype to "bit_size_type". Fix up type of sizes of all types made before call. * tm.texi (ROUND_TYPE_SIZE_UNIT): New macro. * tree.c (fix_sizetype): Deleted. (build_common_tree_nodes): Call initialize_sizetypes. (build_common_tree_nodes_2): Don't call fix_sizetype. * tree.h (TYPE_IS_SIZETYPE): New macro. (initialize_sizetype): New declaration. (enum size_type_kind): New type. (struct sizetype_tab): Deleted. (sizetype_tab): Now array; adjust sizetype macros. (size_diffop, size_int_type_wide): New functions. (size_int_wide): Change number of args and type; access macros changed. (ssize_int, sbitsize_int): New macros. * config/i960/i960.h (ROUND_TYPE_SIZE): Use size_int. (ROUND_TYPE_SIZE_UNIT): New macro. * ch/actions.c (chill_convert_for_assignment): Don't use size_binop for things that aren't sizes. (expand_varying_length_assignment): Likewise. * ch/convert.c (digest_array_tuple, convert): Likewise. * ch/typeck.c (build_chill_slice, smash_dummy_type): Likewise. (build_chill_slice_with_range): Likewise. (build_chill_slice_with_length): Likewise. (build_array_from_set): Adjust types for size_binop. * ch/expr.c (build_concat_expr, build_chill_repetition_op): Likewise. (build_chill_sizeof): Use TYPE_SIZE_UNIT. * ch/tree.c (build_string_type): Pass proper type to size_binop. * cp/class.c (dfs_build_vtable_offset_vtbl_entries): Don't use size_binop on things that are not sizes; ssize_binop deleted. Call size_diffop when appropriate. (dfs_build_vcall_offset_vtbl_entries): Likewise. (build_primary_vtable, build_secondary_vtable): Likewise. (dfs_set_offset_for_unshared_vbases, dfs_modify_vtables): Likewise. Variable I is HOST_WIDE_INT. (get_vfield_offset): Pass proper types to size_binop. (size_extra_vtbl_entries, layout_virtual_bases): Likewise. (finish_struct_1): Likewise. (skip_rtti_stuff): Arg N is now pointer to signed. (layout_class_type): Use size_zero_node. * cp/cp-tree.h (skip_rtti_stuff): Arg N is pointer to signed. * cp/cvt.c (cp_convert_to_pointer): Pass proper types to size_binop. * cp/decl.c (complete_arry_type): Pass proper types to size_binop. (xref_basetypes): BINFO_OFFSET is sizetype. * cp/error.c (dump_expr): Don't use size_binop non-sizes. * cp/expr.c (cplus_expand_constant): Pass proper types to size_binop. * cp/init.c (construct_virtual_bases): Fix type error. (build_vec_delete_1): Pass proper type to size_binop and don't fold result. * cp/lex.c (cp_make_lang_type): BINFO_OFFSET is sizetype. * cp/rtti.c (get_base_offset): Pass proper type to size_binop. * cp/search.c (dfs_find_vbases): Fix type error. (expand_upcast_fixups): Arg to skip_rtti_stuff is pointer to signed. (dfs_get_vbase_types): BINFO_OFFSET is sizetype. * cp/tree.c (debug_binfo): Variable N is signed. Use HOST_WIDE_INT_PRINT_DEC. * cp/typeck.c (comptypes): sizetype is same as equivalent integer type. (c_sizeof, c_sizeof_nowarn, expr_sizeof): Use TYPE_SIZE_UNIT, size_one_node and size_zero_node. (c_alignof): Use size_one_node. (build_component_addr): Pass proper types to size_binop. (expand_ptrmemfunc_cst): Don't use size_binop on non-sizes. * f/com.c (ffecom_arrayref_): Convert args to size_binop to proper type. (ffecom_tree_canonize_ptr_): Don't use size_binop for non-sizes. (ffecom_tree_canonize_ref_): Likewise. (type_for_mode): Handle TImode. * f/ste.c (ffeste_io_dofio_, ffeste_io_douio_): Use TYPE_SIZE_UNIT. (ffeste_io_ciclist_): Likewise. * java/expr.c (build_java_ret): Pass proper type to size_binop. From-SVN: r32225
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
BUGS | Loading commit data... | |
ChangeLog | Loading commit data... | |
ChangeLog.0 | Loading commit data... | |
INSTALL | Loading commit data... | |
Make-lang.in | Loading commit data... | |
Makefile.in | Loading commit data... | |
NEWS | Loading commit data... | |
README | Loading commit data... | |
RELEASE-PREP | Loading commit data... | |
ansify.c | Loading commit data... | |
assert.j | Loading commit data... | |
bad.c | Loading commit data... | |
bad.def | Loading commit data... | |
bad.h | Loading commit data... | |
bit.c | Loading commit data... | |
bit.h | Loading commit data... | |
bld-op.def | Loading commit data... | |
bld.c | Loading commit data... | |
bld.h | Loading commit data... | |
bugs.texi | Loading commit data... | |
bugs0.texi | Loading commit data... | |
com-rt.def | Loading commit data... | |
com.c | Loading commit data... | |
com.h | Loading commit data... | |
config-lang.in | Loading commit data... | |
config.j | Loading commit data... | |
convert.j | Loading commit data... | |
data.c | Loading commit data... | |
data.h | Loading commit data... | |
equiv.c | Loading commit data... | |
equiv.h | Loading commit data... | |
expr.c | Loading commit data... | |
expr.h | Loading commit data... | |
ffe.texi | Loading commit data... | |
fini.c | Loading commit data... | |
flags.j | Loading commit data... | |
g77.1 | Loading commit data... | |
g77.texi | Loading commit data... | |
g77install.texi | Loading commit data... | |
g77spec.c | Loading commit data... | |
ggc.j | Loading commit data... | |
glimits.j | Loading commit data... | |
global.c | Loading commit data... | |
global.h | Loading commit data... | |
hconfig.j | Loading commit data... | |
implic.c | Loading commit data... | |
implic.h | Loading commit data... | |
info-b.def | Loading commit data... | |
info-k.def | Loading commit data... | |
info-w.def | Loading commit data... | |
info.c | Loading commit data... | |
info.h | Loading commit data... | |
input.j | Loading commit data... | |
install0.texi | Loading commit data... | |
intdoc.c | Loading commit data... | |
intdoc.in | Loading commit data... | |
intdoc.texi | Loading commit data... | |
intrin.c | Loading commit data... | |
intrin.def | Loading commit data... | |
intrin.h | Loading commit data... | |
lab.c | Loading commit data... | |
lab.h | Loading commit data... | |
lang-options.h | Loading commit data... | |
lang-specs.h | Loading commit data... | |
lex.c | Loading commit data... | |
lex.h | Loading commit data... | |
malloc.c | Loading commit data... | |
malloc.h | Loading commit data... | |
name.c | Loading commit data... | |
name.h | Loading commit data... | |
news.texi | Loading commit data... | |
news0.texi | Loading commit data... | |
output.j | Loading commit data... | |
parse.c | Loading commit data... | |
proj.c | Loading commit data... | |
proj.h | Loading commit data... | |
root.texi | Loading commit data... | |
rtl.j | Loading commit data... | |
src.c | Loading commit data... | |
src.h | Loading commit data... | |
st.c | Loading commit data... | |
st.h | Loading commit data... | |
sta.c | Loading commit data... | |
sta.h | Loading commit data... | |
stb.c | Loading commit data... | |
stb.h | Loading commit data... | |
stc.c | Loading commit data... | |
stc.h | Loading commit data... | |
std.c | Loading commit data... | |
std.h | Loading commit data... | |
ste.c | Loading commit data... | |
ste.h | Loading commit data... | |
storag.c | Loading commit data... | |
storag.h | Loading commit data... | |
stp.c | Loading commit data... | |
stp.h | Loading commit data... | |
str-1t.fin | Loading commit data... | |
str-2t.fin | Loading commit data... | |
str-fo.fin | Loading commit data... | |
str-io.fin | Loading commit data... | |
str-nq.fin | Loading commit data... | |
str-op.fin | Loading commit data... | |
str-ot.fin | Loading commit data... | |
str.c | Loading commit data... | |
str.h | Loading commit data... | |
sts.c | Loading commit data... | |
sts.h | Loading commit data... | |
stt.c | Loading commit data... | |
stt.h | Loading commit data... | |
stu.c | Loading commit data... | |
stu.h | Loading commit data... | |
stv.c | Loading commit data... | |
stv.h | Loading commit data... | |
stw.c | Loading commit data... | |
stw.h | Loading commit data... | |
symbol.c | Loading commit data... | |
symbol.def | Loading commit data... | |
symbol.h | Loading commit data... | |
system.j | Loading commit data... | |
target.c | Loading commit data... | |
target.h | Loading commit data... | |
tconfig.j | Loading commit data... | |
tm.j | Loading commit data... | |
top.c | Loading commit data... | |
top.h | Loading commit data... | |
toplev.j | Loading commit data... | |
tree.j | Loading commit data... | |
type.c | Loading commit data... | |
type.h | Loading commit data... | |
version.c | Loading commit data... | |
version.h | Loading commit data... | |
where.c | Loading commit data... | |
where.h | Loading commit data... |