1. 02 Jul, 2007 8 commits
    • configure: Regenerate. · 1c00b503
      2007-07-02  Paolo Bonzini  <bonzini@gnu.org>
      
      	* configure: Regenerate.
      
      From-SVN: r126193
      Paolo Bonzini committed
    • gfortran.texi (Fortran 2003): Add ISO Bind C. · c0eba481
      2007-07-02  Tobias Burnus  <burnus@net-b.de>
      
      	* gfortran.texi (Fortran 2003): Add ISO Bind C.
      	* intrinsic.texi (C_ASSOCIATED,C_F_POINTER,C_F_PROCPOINTER,
      	C_FUNLOC,C_LOC): Document new ISO Bind C intrinsics.
      
      From-SVN: r126192
      Tobias Burnus committed
    • Makefile.def: Add windmc tool to build. · 901119ae
      2007-07-02  Kai Tietz   <kai.tietz@onevision.com>
      
      	* Makefile.def: Add windmc tool to build.
      	* Makefile.tpl: Likewise.
      	* configure.ac: Likewise.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      
      From-SVN: r126191
      Kai Tietz committed
    • Add missing test from last commit · 908bd465
      Fixup two existing C++ tests for SCCVN changes
      
      From-SVN: r126187
      Daniel Berlin committed
    • re PR tree-optimization/32571 (ICE in set_ssa_val_to, at tree-ssa-sccvn.c:1011) · 8b0a5125
      2007-07-01  Daniel Berlin  <dberlin@dberlin.org>
      
      	Fix PR tree-optimization/32571
      	* tree-ssa-sccvn.c (visit_use): Shortcut copies to avoid
      	simplifying them.
      
      From-SVN: r126186
      Daniel Berlin committed
    • [multiple changes] · a8b3b0b6
      2007-07-01  Christopher D. Rickett  <crickett@lanl.gov>
      
      	* interface.c (gfc_compare_derived_types): Special case for comparing
      	derived types across namespaces.
      	(gfc_compare_types): Deal with BT_VOID.
      	(compare_parameter): Use BT_VOID to accept ISO C Binding pointers.
      	* trans-expr.c (gfc_conv_function_call): Remove setting parm_kind
      	to SCALAR
      	(gfc_conv_initializer): Deal with ISO C Binding NULL_PTR and 
      	NULL_FUNPTR.
      	(gfc_conv_expr): Convert expressions for ISO C Binding derived types.
      	* symbol.c (gfc_set_default_type): BIND(C) variables should not be
      	implicitly declared.
      	(check_conflict): Add BIND(C) and check for conflicts.
      	(gfc_add_explicit_interface): Whitespace.	
      	(gfc_add_is_bind_c): New function.  
      	(gfc_copy_attr): Use it.
      	(gfc_new_symbol): Initialize ISO C Binding objects.
      	(get_iso_c_binding_dt):  New function.
      	(verify_bind_c_derived_type): Ditto.
      	(gen_special_c_interop_ptr): Ditto.
      	(add_formal_arg): Ditto.
      	(gen_cptr_param): Ditto.
      	(gen_fptr_param): Ditto.
      	(gen_shape_param): Ditto.
      	(add_proc_interface): Ditto.
      	(build_formal_args): Ditto.
      	(generate_isocbinding_symbol):  Ditto.
      	(get_iso_c_sym):  Ditto.
      	* decl.c (num_idents_on_line, has_name_equals): New variables.
      	(verify_c_interop_param): New function.
      	(build_sym): Finish binding labels and deal with COMMON blocks.
      	(add_init_expr_to_sym): Check if the initialized expression is
      	an iso_c_binding named constants
      	(variable_decl): Set ISO C Binding type_spec components.
      	(gfc_match_kind_spec): Check match for C interoperable kind.
      	(match_char_spec): Fix comment. Chnage gfc_match_small_int
      	to gfc_match_small_int_expr.  Check for C interoperable kind.
      	(match_type_spec): Clear the current binding label.
      	(match_attr_spec): Add DECL_IS_BIND_C.  If BIND(C) is found, use it
      	to set attributes.
      	(set_binding_label): New function.
      	(set_com_block_bind_c): Ditto.
      	(verify_c_interop): Ditto.
      	(verify_com_block_vars_c_interop): Ditto.
      	(verify_bind_c_sym): Ditto.
      	(set_verify_bind_c_sym): Ditto.
      	(set_verify_bind_c_com_block): Ditto.
      	(get_bind_c_idents): Ditto.
      	(gfc_match_bind_c_stmt): Ditto.
      	(gfc_match_data_decl): Use num_idents_on_line.
      	(match_result): Deal with right paren in BIND(C).
      	(gfc_match_suffix): New function.
      	(gfc_match_function_decl): Use it.  Code is re-arranged to deal with
      	ISO C Binding result clauses.
      	(gfc_match_subroutine):  Deal with BIND(C).
       	(gfc_match_bind_c): New function.
      	(gfc_get_type_attr_spec): New function.  Code is re-arranged in and
      	taken from gfc_match_derived_decl.
      	(gfc_match_derived_decl): Add check for BIND(C).
      	* trans-common.c: Forward declare gfc_get_common.
      	(gfc_sym_mangled_common_id): Change arg from 'const char *name' to
      	'gfc_common_head *com'.  Check for ISO C Binding of the common block.
      	(build_common_decl): 'com->name' to 'com in SET_DECL_ASSEMBLER_NAME.
      	* gfortran.h: Add GFC_MAX_BINDING_LABEL_LEN
      	(bt): Add BT_VOID
      	(sym_flavor): Add FL_VOID.
       	(iso_fortran_env_symbol, iso_c_binding_symbol, intmod_id): New enum
      	(CInteropKind_t): New struct.
      	(c_interop_kinds_table): Use it.  Declare an array of structs.
      	(symbol_attribute): Add is_bind_c, is_c_interop, and is_iso_c
      	bitfields.
      	(gfc_typespec): Add is_c_interop; is_iso_c, and f90_type members.
      	(gfc_symbol): Add from_intmod, intmod_sym_id, binding_label, and
      	common_block members.
      	(gfc_common_head): Add binding_label and is_bind_c members.
      	(gfc_gsymbol): Add sym_name, mod_name, and binding_label members.
      	Add prototypes for get_c_kind, gfc_validate_c_kind, 
      	gfc_check_any_c_kind, gfc_add_is_bind_c, gfc_add_value,
      	verify_c_interop, verify_c_interop_param, verify_bind_c_sym,
      	verify_bind_c_derived_type, verify_com_block_vars_c_interop,
      	generate_isocbinding_symbol, get_iso_c_sym, gfc_iso_c_sub_interface
      	* iso-c-binding.def: New file. This file contains the definitions
      	of the types provided by the Fortran 2003 ISO_C_BINDING intrinsic
      	module.
      	* trans-const.c (gfc_conv_constant_to_tree): Deal with C_NULL_PTR
      	 or C_NULL_FUNPTR expressions.
      	* expr.c (gfc_copy_expr): Add BT_VOID case.  For BT_CHARACTER, the
      	ISO C Binding requires a minimum string length of 1 for '\0'.  
      	* module.c (intmod_sym): New struct.
      	(pointer_info): Add binding_label member.
      	(write_atom): Set len to 0 for NULL pointers. Check for NULL p and *p.
      	(ab_attribute): Add AB_IS_BIND_C, AB_IS_C_INTEROP and AB_IS_ISO_C.
      	(attr_bits): Add "IS_BIND_C", "IS_C_INTEROP", and "IS_ISO_C".
      	(mio_symbol_attribute): Deal with ISO C Binding attributes.
      	(bt_types): Add "VOID".
      	(mio_typespec): Deal with ISO C Binding components.
      	(mio_namespace_ref): Add intmod variable. 
      	(mio_symbol): Check for symbols from an intrinsic module.
      	(load_commons): Check for BIND(C) common block.
      	(read_module): Read binding_label and use it.
      	(write_common): Add label.  Write BIND(C) info.
      	(write_blank_common): Blank commons are not BIND(C).  Explicitly
      	set is_bind_c=0.
      	(write_symbol): Deal with binding_label.
      	(sort_iso_c_rename_list): New function.
      	(import_iso_c_binding_module): Ditto.
      	(create_int_parameter): Add to args.
      	(use_iso_fortran_env_module): Adjust to deal with iso_c_binding
      	intrinsic module.
      	* trans-types.c (c_interop_kinds_table): new array of structs. 
      	(gfc_validate_c_kind): New function.
      	(gfc_check_any_c_kind): Ditto.
      	(get_real_kind_from_node): Ditto.
      	(get_int_kind_from_node): Ditto.
      	(get_int_kind_from_width): Ditto.
      	(get_int_kind_from_minimal_width): Ditto.
      	(init_c_interop_kinds): Ditto.
      	(gfc_init_kinds): call init_c_interop_kinds.
      	(gfc_typenode_for_spec): Adjust for BT_VOID and ISO C Binding pointers.
      	Adjust handling of BT_DERIVED.
      	(gfc_sym_type): Whitespace.
      	(gfc_get_derived_type):  Account for iso_c_binding derived types
      	* resolve.c (is_scalar_expr_ptr): New function.
      	(gfc_iso_c_func_interface): Ditto.
      	(resolve_function): Use gfc_iso_c_func_interface. 
      	(set_name_and_label): New function.
      	(gfc_iso_c_sub_interface): Ditto.
      	(resolve_specific_s0): Use gfc_iso_c_sub_interface.
      	(resolve_bind_c_comms): New function.
      	(resolve_bind_c_derived_types): Ditto.
      	(gfc_verify_binding_labels): Ditto.
      	(resolve_fl_procedure): Check for ISO C interoperability.
      	(resolve_symbol): Check C interoperability.
      	(resolve_types): Walk the namespace.  Check COMMON blocks.
      	* trans-decl.c (gfc_sym_mangled_identifier):  Prevent the mangling
      	of identifiers that have an assigned binding label.
      	(gfc_sym_mangled_function_id): Use the binding label rather than
      	the mangled name.
      	(gfc_finish_var_decl): Put variables that are BIND(C) into a common
      	segment of the object file, because this is what C would do.
      	(gfc_create_module_variable): Conver to proper types
      	(set_tree_decl_type_code): New function.
      	(generate_local_decl): Check dummy variables and derived types for
      	ISO C Binding attributes.
      	* match.c (gfc_match_small_int_expr): New function.
      	(gfc_match_name_C): Ditto.
      	(match_common_name): Deal with ISO C Binding in COMMON blocks
      	* trans-io.c (transfer_expr):  Deal with C_NULL_PTR or C_NULL_FUNPTR
      	expressions
      	* match.h: Add prototypes for gfc_match_small_int_expr,
      	gfc_match_name_C, match_common_name, set_com_block_bind_c,
      	set_binding_label, set_verify_bind_c_sym,
      	set_verify_bind_c_com_block, get_bind_c_idents,
      	gfc_match_bind_c_stmt, gfc_match_suffix, gfc_match_bind_c,
      	gfc_get_type_attr_spec
      	* parse.c (decode_statement): Use gfc_match_bind_c_stmt
      	(parse_derived): Init *derived_sym = NULL, and gfc_current_block
      	later for valiadation.
      	* primary.c (got_delim): Set ISO C Binding components of ts.
      	(match_logical_constant): Ditto.
      	(match_complex_constant): Ditto.
      	(match_complex_constant): Ditto.
      	(gfc_match_rvalue): Check for existence of at least one arg for
      	C_LOC, C_FUNLOC, and C_ASSOCIATED.
      	* misc.c (gfc_clear_ts): Clear ISO C Bindoing components in ts.
      	(get_c_kind): New function.
      
      2007-07-01  Christopher D. Rickett  <crickett@lanl.gov>
      
      	* Makefile.in: Add support for iso_c_generated_procs.c and
      	iso_c_binding.c.
      	* Makefile.am: Ditto.
      	* intrinsics/iso_c_generated_procs.c: New file containing helper
      	functions.
      	* intrinsics/iso_c_binding.c: Ditto.
      	* intrinsics/iso_c_binding.h: New file
      	* gfortran.map: Include the __iso_c_binding_c_* functions.
      	* libgfortran.h: define GFC_NUM_RANK_BITS.
      
      2007-06-23  Christopher D. Rickett  <crickett@lanl.gov>
      
      	* bind_c_array_params.f03: New files for Fortran 2003 ISO C Binding.
      	* bind_c_coms.f90: Ditto.
      	* bind_c_coms_driver.c: Ditto.
      	* bind_c_dts.f90: Ditto.
      	* bind_c_dts_2.f03: Ditto.
      	* bind_c_dts_2_driver.c: Ditto.
      	* bind_c_dts_3.f03: Ditto.
      	* bind_c_dts_4.f03: Ditto.
      	* bind_c_dts_driver.c: Ditto.
      	* bind_c_implicit_vars.f03: Ditto.
      	* bind_c_procs.f03: Ditto.
      	* bind_c_usage_2.f03: Ditto.
      	* bind_c_usage_3.f03: Ditto.
      	* bind_c_usage_5.f03: Ditto.
      	* bind_c_usage_6.f03: Ditto.
      	* bind_c_usage_7.f03: Ditto.
      	* bind_c_vars.f90: Ditto.
      	* bind_c_vars_driver.c: Ditto.
      	* binding_c_table_15_1.f03: Ditto.
      	* binding_label_tests.f03: Ditto.
      	* binding_label_tests_10.f03: Ditto.
      	* binding_label_tests_10_main.f03: Ditto.
      	* binding_label_tests_11.f03: Ditto.
      	* binding_label_tests_11_main.f03: Ditto.
      	* binding_label_tests_12.f03: Ditto.
      	* binding_label_tests_13.f03: Ditto.
      	* binding_label_tests_13_main.f03: Ditto.
      	* binding_label_tests_14.f03: Ditto.
      	* binding_label_tests_2.f03: Ditto.
      	* binding_label_tests_3.f03: Ditto.
      	* binding_label_tests_4.f03: Ditto.
      	* binding_label_tests_5.f03: Ditto.
      	* binding_label_tests_6.f03: Ditto.
      	* binding_label_tests_7.f03: Ditto.
      	* binding_label_tests_8.f03: Ditto.
      	* binding_label_tests_9.f03: Ditto.
      	* c_assoc.f90: Ditto.
      	* c_assoc_2.f03: Ditto.
      	* c_f_pointer_shape_test.f90: Ditto.
      	* c_f_pointer_tests.f90: Ditto.
      	* c_f_tests_driver.c: Ditto.
      	* c_funloc_tests.f03: Ditto.
      	* c_funloc_tests_2.f03: Ditto.
      	* c_funloc_tests_3.f03: Ditto.
      	* c_funloc_tests_3_funcs.c: Ditto.
      	* c_kind_params.f90: Ditto.
      	* c_kind_tests_2.f03: Ditto.
      	* c_kinds.c: Ditto.
      	* c_loc_driver.c: Ditto.
      	* c_loc_test.f90: Ditto.
      	* c_loc_tests_2.f03: Ditto.
      	* c_loc_tests_2_funcs.c: Ditto.
      	* c_loc_tests_3.f03: Ditto.
      	* c_loc_tests_4.f03: Ditto.
      	* c_loc_tests_5.f03: Ditto.
      	* c_loc_tests_6.f03: Ditto.
      	* c_loc_tests_7.f03: Ditto.
      	* c_loc_tests_8.f03: Ditto.
      	* c_ptr_tests.f03: Ditto.
      	* c_ptr_tests_10.f03: Ditto.
      	* c_ptr_tests_5.f03: Ditto.
      	* c_ptr_tests_7.f03: Ditto.
      	* c_ptr_tests_7_driver.c: Ditto.
      	* c_ptr_tests_8.f03: Ditto.
      	* c_ptr_tests_8_funcs.c: Ditto.
      	* c_ptr_tests_9.f03: Ditto.
      	* c_ptr_tests_driver.c: Ditto.
      	* c_size_t_driver.c: Ditto.
      	* c_size_t_test.f03: Ditto.
      	* com_block_driver.f90: Ditto.
      	* global_vars_c_init.f90: Ditto.
      	* global_vars_c_init_driver.c: Ditto.
      	* global_vars_f90_init.f90: Ditto.
      	* global_vars_f90_init_driver.c: Ditto.
      	* interop_params.f03: Ditto.
      	* iso_c_binding_only.f03: Ditto.
      	* iso_c_binding_rename_1.f03: Ditto.
      	* iso_c_binding_rename_1_driver.c: Ditto.
      	* iso_c_binding_rename_2.f03: Ditto.
      	* iso_c_binding_rename_2_driver.c: Ditto.
      	* kind_tests_2.f03: Ditto.
      	* kind_tests_3.f03: Ditto.
      	* module_md5_1.f90: Ditto.
      	* only_clause_main.c: Ditto.
      	* print_c_kinds.f90: Ditto.
      	* test_bind_c_parens.f03: Ditto.
      	* test_c_assoc.c: Ditto.
      	* test_com_block.f90: Ditto.
      	* test_common_binding_labels.f03: Ditto.
      	* test_common_binding_labels_2.f03: Ditto.
      	* test_common_binding_labels_2_main.f03: Ditto.
      	* test_common_binding_labels_3.f03: Ditto.
      	* test_common_binding_labels_3_main.f03: Ditto.
      	* test_only_clause.f90: Ditto.
      	* use_iso_c_binding.f90: Ditto.
      	* value_5.f90: Ditto.
      	* value_test.f90: Ditto.
      	* value_tests_f03.f90: Ditto.
      
      From-SVN: r126185
      Christopher D. Rickett committed
    • type_traits (__make_unsigned): Remove invalid wchar_t specialization. · 5edfe9e8
      2007-07-01  Douglas Gregor  <doug.gregor@gmail.com>
      
      	* include/std/type_traits (__make_unsigned): Remove invalid
      	wchar_t specialization.
      	(__make_signed): Remove invalid wchar_t specialization.
      
      From-SVN: r126184
      Douglas Gregor committed
    • Daily bump. · a7141b79
      From-SVN: r126182
      GCC Administrator committed
  2. 01 Jul, 2007 15 commits
  3. 30 Jun, 2007 17 commits
    • configure.ac: Check for .gnu_attribute on MIPS. · dcb957d9
      	* configure.ac: Check for .gnu_attribute on MIPS.
      	* configure, config.in: Regenerate.
      	* config/mips/mips.c (mips_file_start): If supported, output
      	attribute for floating-point ABI.
      
      From-SVN: r126157
      Joseph Myers committed
    • 20051113-1.c (main): Use the correct type when allocating and initializing a flexible array. · 81c3e25a
      	* gcc.c-torture/execute/20051113-1.c (main): Use the correct type
      	when allocating and initializing a flexible array.
      
      From-SVN: r126156
      Nathan Froyd committed
    • gcc_update (files_and_dependencies): Handle gcc/testsuite/gcc.dg/cpp/direct2s.c. · 6d409e8a
      	* gcc_update (files_and_dependencies): Handle
      	gcc/testsuite/gcc.dg/cpp/direct2s.c.
      
      From-SVN: r126155
      Hans-Peter Nilsson committed
    • re PR target/32433 (Code for __builtin_ffs does not benefit from compiler optimizations) · 08024fb5
              PR target/32433
              * config/i386/i386.md (ffssi2): Expand as ffs_cmove for TARGET_CMOVE.
              (ffs_cmove): New expander to expand using ctz pattern.
              (*ffs_cmove): Remove pattern.
              (*ffs_no_cmove): Enable only for !TARGET_CMOVE.
              (ffsdi2): Expand using ctz pattern.
              (*ffs_rex64): Remove pattern.
      
      From-SVN: r126154
      Uros Bizjak committed
    • re PR fortran/20373 (INTRINSIC symbols can be given the wrong type) · eb2c598d
      gcc/fortran:
      2007-06-30  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/20373
      	* intrinsic.c (add_functions): Additional function types.
      	(gfc_convert_type_warn): Remove intrinsic-flag from conversion
      	functions.
      	* resolve.c (resolve_symbol): Added type checks to explicitly defined
      	intrinsics.
      
      gcc/testsuite:
      2007-06-28  Daniel Franke  <franke.daniel@gmail.com>
      
      	PR fortran/20373
      	* gfortran.dg/intrinsic.f90: New test.
      
      From-SVN: r126153
      Daniel Franke committed
    • re PR fortran/32555 (Miscompilation of NIST testsuite) · df5be068
      2007-06-30  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/32555
      	* io.c (check_format): Allow zero to precede the
      	P edit descriptor.
      
      2007-06-30  Tobias Burnus  <burnus@net-b.de>
      
      	PR fortran/32555
      	* gfortran.dg/fmt_zero_check.f90: New.
      
      From-SVN: r126152
      Tobias Burnus committed
    • Fix last ChangeLog entry. · b2e83266
      From-SVN: r126151
      John David Anglin committed
    • pa.md (return): Delete pattern. · 62a53968
      	rtl-optimization/32296
      	* pa.md (return): Delete pattern.
      	(return_internal): Remove "(const_int 1)" from pattern.
      	(epilogue): Use return_internal pattern for trivial returns.
      	* pa-protos.h (hppa_can_use_return_insn_p): Delete declaration.
      	* pa.c (hppa_can_use_return_insn_p): Delete function.  Include "df.h".
      
      From-SVN: r126150
      John David Anglin committed
    • Fix PR tree-optimization/32540 Fix PR tree-optimization/31651 · 89fb70a3
      2007-06-30  Daniel Berlin  <dberlin@dberlin.org>
      	
      	Fix PR tree-optimization/32540
      	Fix PR tree-optimization/31651
      
      	* tree-ssa-sccvn.c: New file.
      
      	* tree-ssa-sccvn.h: Ditto.
      	
      	* tree-vn.c: Include tree-ssa-sccvn.h
      	(val_expr_paid_d): Removed.
      	(value_table): Ditto.
      	(vn_compute): Ditto.
      	(val_expr_pair_hash): Ditto.
      	(val_expr_pair_expr_eq): Ditto.
      	(copy_vuses_from_stmt): Ditto.
      	(vn_delete): Ditto.
      	(vn_init): Ditto.
      	(shared_vuses_from_stmt): Ditto.
      	(print_creation_to_file): Moved up.
      	(sort_vuses): Ditto.
      	(sort_vuses_heap): Ditto.
      	(set_value_handle): Make non-static.
      	(make_value_handle): Ditto.
      	(vn_add): Rewritten to use sccvn lookups.
      	(vn_add_with_vuses): Ditto.
      	(vn_lookup): Ditto (and second argument removed).
      	(vn_lookup_with_vuses): Ditto.
      	(vn_lookup_or_add): Ditto (and second argument removed);
      	(vn_lookup_or_add_with_vuses): Ditto.
      	(vn_lookup_with_stmt): New.
      	(vn_lookup_or_add_with_stmt): Ditto.
      	(create_value_handle_for_expr): Ditto.
      
      	* tree-ssa-pre.c: Include tree-ssa-sccvn.h.
      	(seen_during_translate): New function.
      	(phi_trans_lookup): Use iterative_hash_expr, not vn_compute.
      	(phi_trans_add): Ditto.
      	(constant_expr_p): FIELD_DECL is always constant.
      	(phi_translate_1): Renamed from phi_translate, add seen bitmap.
      	Use constant_expr_p.
      	Avoid infinite recursion on mutually valued expressions.
      	Change callers of vn_lookup_or_add.
      	(phi_translate): New function.
      	(compute_antic_safe): Allow phi nodes.
      	(create_component_ref_by_pieces): Update for FIELD_DECL change.
      	(find_or_generate_expression): Rewrite slightly.
      	(create_expression_by_pieces): Updated for vn_lookup_or_add
      	change.
      	Update VN_INFO for new names.
      	(insert_into_preds_of_block): Update for new names.
      	(add_to_exp_gen): New function.
      	(add_to_sets): Use vn_lookup_or_add_with_stmt.
      	(find_existing_value_expr): Rewrite to changed vn_lookup.
      	(create_value_expr_from): Ditto, and use add_to_exp_gen.
      	(try_look_through_load): Removed.
      	(try_combine_conversion): Ditto.
      	(get_sccvn_value): New function.
      	(make_values_for_phi): Ditto.
      	(make_values_for_stmt): Ditto.
      	(compute_avail): Rewritten for vn_lookup_or_add changes and to use
      	SCCVN.
      	(init_pre): Update for SCCVN changes.
      	(fini_pre): Ditto.
      	(execute_pre): Ditto.
      
      	* tree-flow.h (make_value_handle): Declare.
      	(set_value_handle): Ditto.
      	(sort_vuses_heap): Ditto.
      	(vn_lookup_or_add_with_stmt): Ditto.
      	(vn_lookup_with_stmt): Ditto.
      	(vn_compute): Remove.
      	(vn_init): Ditto.
      	(vn_delete): Ditto.
      	(vn_lookup): Update arguments.
      
      	* Makefile.in (tree-ssa-pre.o): Add tree-ssa-sccvn.h
      	(tree-vn.o): Ditto.
      	(tree-ssa-sccvn.o): New.
      	(OBJS-common): Add tree-ssa-sccvn.o
      
      From-SVN: r126149
      Daniel Berlin committed
    • re PR fortran/32472 (ICE in trans-const.c:106 for REPEAT initialization… · 11147af3
      re PR fortran/32472 (ICE in trans-const.c:106 for REPEAT initialization expression of non-parameter)
      
      2007-06-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/32472
      	* simplify.c (gfc_simplify_repeat): Add handling of character
      	literal for first argument.
      
      2007-06-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/30284
      	* gfortran.dg/repeat_f90: New test.
      
      From-SVN: r126148
      Paul Thomas committed
    • re PR fortran/32472 (ICE in trans-const.c:106 for REPEAT initialization… · 64f4bedf
      re PR fortran/32472 (ICE in trans-const.c:106 for REPEAT initialization expression of non-parameter)
      
      2007-06-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/32472
      	* simplify.c (gfc_simplify_repeat): Add handling of character
      	literal for first argument.
      
      2007-06-30  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/30284
      	* gfortran.dg/repeat_f90: New test.
      
      From-SVN: r126147
      Paul Thomas committed
    • re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings) · 1760a1a8
      2007-06-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR testsuite/25241
      testsuite/
      	* gcc.dg/cpp/20000625-1.c: Without dg-options the default is
      	-pedantic-errors, so we should match errors.
      	* gcc.dg/cpp/escape-1.c: Likewise.
      	* gcc.dg/cpp/charconst.c: Empty character constants are errors.
      	* gcc.dg/cpp/direct2.c: This is a mandatory error instead of a
      	warning.
      	* gcc.dg/cpp/endif-pedantic2.c: Use -pedantic-errors to obtain
      	errors instead of warnings.
      	* gcc.dg/cpp/extratokens.c: Use dg-warning instead of dg-error for
      	a pedantic warning.
      	* gcc.dg/cpp/arith-3.c: Likewise.
      
      From-SVN: r126146
      Manuel López-Ibáñez committed
    • re PR testsuite/25241 ([C++] DejaGNU does not distinguish between errors and warnings) · 72eb00bc
      2007-06-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR testsuite/25241
      testsuite/
      	* gcc.dg/pch/valid-1.c: Match each diagnostic with its own directive.
      	* gcc.dg/pch/valid-2.c: Likewise.
      	* gcc.dg/pch/valid-3.c: Likewise.
      	* gcc.dg/pch/warn-1.c: Likewise.
      	* gcc.dg/pch/valid-4.c: Match a warning instead of an error.
      
      From-SVN: r126145
      Manuel López-Ibáñez committed
    • re PR c/4076 (-Wunused doesn't warn about static function only called by itself.) · ad960f56
      2007-06-30  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>
      
      	PR c/4076
      	* c-typeck.c (build_external_ref): Don't mark as used if called
      	from itself.
      	* calls.c (rtx_for_function_call): Likewise.
      
      testsuite/
      	* gcc.dg/Wunused-function.c: New.
      
      From-SVN: r126144
      Manuel López-Ibáñez committed
    • revert: dce.c (deletable_insn_p_1): New function, split out from... · a4fbe84b
      gcc/
      	Revert:
      
      	2007-06-27  Richard Sandiford  <richard@codesourcery.com>
      
      	* dce.c (deletable_insn_p_1): New function, split out from...
      	(deletable_insn_p): ...here.  Only treat bare USEs and CLOBBERs
      	specially, not those inside PARALLELs.  Remove BODY argument
      	and adjust recursive call accordingly.
      	(prescan_insns_for_dce): Update call to delete_insn_p.
      
      From-SVN: r126143
      Richard Sandiford committed
    • combine.c (combine_validate_cost): New parameter NEWOTHERPAT. · 9d35384d
      	* combine.c (combine_validate_cost): New parameter NEWOTHERPAT.
      	(try_combine): Move potential calls to undo_all() so they happen
      	before we commit to using the combined insns.
      
      From-SVN: r126142
      Rask Ingemann Lambertsen committed
    • loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit code. · 2ed22578
      	* loop-unroll.c (unroll_loop_runtime_iterations): Unshare newly emit    
      	code.
      
      From-SVN: r126141
      Jan Hubicka committed