2007-07-27 Janne Blomqvist <jb@gcc.gnu.org>
* trans-decl.c (gfc_build_builtin_function_decls): Use existing
gfc_array_index_type rather than creating another typenode for
gfc_index_integer_kind.
From-SVN: r126993
2007-07-27 Janne Blomqvist <jb@gcc.gnu.org>
* trans-io.c (gfc_build_io_library_fndecls): Change to use
gfc_array_index_type for array descriptor triplets instead of
gfc_int4_type_node.
libgfortran ChangeLog:
2007-07-27 Janne Blomqvist <jb@gcc.gnu.org>
* io/transfer.c (st_set_nml_var_dim): Use index_type instead of
GFC_INTEGER_4 for array descriptor triplets.
From-SVN: r126992
2007-07-26 Kenneth Zadeck <zadeck@naturalbridge.com>
PR middle-end/32749
* df-problems.c (df_create_unused_note): Removed do_not_gen parm
and the updating of the live and do_not_gen sets.
(df_note_bb_compute): Added updating of live and do_not_gen sets
for regular defs so that the case of clobber inside conditional
call is processed correctly.
From-SVN: r126987
PR c++/32346
* call.c (convert_for_arg_passing): Only widen bitfields to their
declared types if necessary.
PR c++/32346
* g++.dg/expr/bitfield9.C: New test.
From-SVN: r126986
2007-07-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
Daniel Franke <franke.daniel@gmail.com>
PR fortran/32760
* primary.c (match_variable): Do not call gfc_add_flavor if symbol has
attribute of ACCESS_PUBLIC or ACCESS_PRIVATE already marked.
Co-Authored-By: Daniel Franke <franke.daniel@gmail.com>
From-SVN: r126981
PR fortran/32035
* trans-stmt.c (gfc_trans_character_select): Replace the
mechanism with labels by a SWITCH_EXPR.
* trans-decl.c (gfc_build_builtin_function_decls): Change
return type for select_string.
* runtime/select.c (select_string): Adjust prototype and function
so that the return value is an integer, not a pointer.
* gfortran.dg/select_char_1.f90: New test.
From-SVN: r126978
2007-07-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/32903
* trans-decl.c (gfc_trans_deferred_vars): Set intent(out)
derived types as referenced, if they have the the default
initializer set.
From-SVN: r126974
gcc/
* expr.h (store_bit_field): Don't return a value.
* expmed.c (check_predicate_volatile_ok): New function.
(store_bit_field_1): New function, extracted from store_bit_field.
Take a fallback_p argument and return true if the operation succeeded.
Only use store_fixed_bit_field if fallback_p. Don't recompute
mode_for_extraction; use op_mode instead. Try forcing memories
into registers if the insv expander fails.
(store_bit_field): Use store_bit_field_1 with fallback_p true.
Don't return a value.
(convert_extracted_bit_field): New function, extracted from
store_bit_field.
(extract_bit_field_1): Likewise. Take a fallback_p argument
and return NULL if the operation succeeded. Only use
extract_fixed_bit_field if fallback_p. Only calculate one
extraction mode. Combine code for extv and extzv. Try forcing
memories into registers if the ext(z)v expander fails.
(extract_bit_field): Use extract_bit_field_1 with fallback_p true.
gcc/testsuite/
* gcc.target/mips/ins-1.c: New test.
From-SVN: r126972
Richard Guenther <rguenther@suse.de>
gcc/
* df.h (df_mw_hardreg): Turn df_ref_type and df_ref_flags
into bitfields.
(df_ref): Likewise. Put regno with other integer fields.
From-SVN: r126971
gcc/
* df.h (df_mw_hardreg): Remove "loc" field.
* df-scan.c (df_ref_record): Don't set it. Remove redundant
local variable.
* df-problems.c (df_whole_mw_reg_unused_p): New function,
split out from df_set_unused_notes_for_mw. Return false for
partial references. Assert that mw_reg is a REG when returning true.
(df_set_unused_notes_for_mw): Use it. Use mw_reg instead of *loc.
(df_whole_mw_reg_dead_p): New function, split out from
df_set_dead_notes_for_mw. Return false for partial references.
Assert that mw_reg is a REG when returning true.
(df_set_dead_notes_for_mw): Use it. Use mw_reg instead of *loc.
Remove redundant bitmap check.
From-SVN: r126970
PR tree-optimization/32087
* tree-ssa-loop-manip.c (tree_transform_and_unroll_loop):
Do not call scale_bbs_frequencies_int with prob of zero.
From-SVN: r126959
2007-07-25 Stephen M. Webb <stephenw@xandros.com>
Fixed abi_check for missing symbol size changes.
* testsuite/util/testsuite_abi.cc: Changed local variable name to prevent
member variable hiding.
From-SVN: r126956
2007-07-26 Richard Guenther <rguenther@suse.de>
PR testsuite/32843
* testsuite/libffi.call/return_sc.c (main): Verify call
result as signed char, not ffi_arg.
From-SVN: r126950
2007-07-26 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.dg/20070725-1.c: Split the spare field in two to avoid:
error: width of 'spare' exceeds its type.
From-SVN: r126949
* tree-ssa-live.c: Include debug.h and flags.h.
(mark_scope_block_unused): New function.
(remove_unused_scope_block_p): New function.
(remove_unused_locals): Remove unused blocks too.
From-SVN: r126947
* combine.c (combine_max_regno): Remove. Remove all uses.
(struct reg_stat_struct): Rename from struct reg_stat.
(reg_stat_type): Define, and declare VECs.
(reg_stat): Change from pointer to VEC. Change all uses.
(combine_split_insns): New static function.
(try_combine, find_split_point): Call it instead of split_insns.
From-SVN: r126942