summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* configure.ac (mips*-*-*linux*, [...]): Use mt-mips-gnu.Richard Sandiford2008-08-0920-275/+1054
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * configure.ac (mips*-*-*linux*, mips*-*-gnu*): Use mt-mips-gnu. * configure: Regenerate. config/ * mt-mips16-compat: New file, taken from mt-mips-elfoabi. * mt-mips-elfoabi: Include mt-mips16-compat. * mt-mips-gnu: New file. gcc/ * config.gcc (mips*-*-linux*, mips64*-*-linux*): Add mips/t-libgcc-mips16 to tmake_file. * config/mips/mips-protos.h (mips_call_type): New enum. (mips_pic_base_register, mips_got_load): Declare. (mips_restore_gp): Take an rtx argument. (mips_use_pic_fn_addr_reg_p): Declare. (mips_expand_call): Replace the sibcall_p argument with a mips_call_type argument. Add a lazy_p parameter. (mips_split_call): Declare. * config/mips/mips.h (MIPS16_PIC_TEMP_REGNUM): New macro. (MIPS16_PIC_TEMP): Likewise. (reg_class): Delete M16_NA_REGS. (REG_CLASS_NAMES, REG_CLASS_CONTENTS): Update accordingly. (SYMBOL_FLAG_BIND_NOW, SYMBOL_REF_BIND_NOW_P): New macros. (mips_split_hi_p): Declare. * config/mips/mips.c (mips_split_hi_p): New array. (mips_regno_to_class): Change M16_NA_REGS entries to M16_REGS. (mips_got_symbol_type_p): New function. (mips_global_symbol_p): Check SYMBOL_REF_EXTERNAL_P. (mips16_stub_function_p): New function. (mips16_local_function_p): Likewise. (mips_use_pic_fn_addr_reg_p): Likewise. (mips_cannot_force_const_mem): Return false for HIGHs. Extend CONST_INT and symbolic handling to MIPS16, using mips_symbol_insns to check that the base symbol type is a legitimate constant. Reject GOT-based constants if TARGET_MIPS16_PCREL_LOADS. (mips_const_insns): Check targetm.cannot_force_const_mem when decomposing a symbolic base and a large offset. (mips_emit_call_insn): Add ORIG_ADDR and ADDR parameters. When calling a function that needs $25 from MIPS16 code, move the target address into $25 separately and add a USE to the call insn. (mips16_gp_pseudo_reg): Insert the initializer immediately before the first real insn. (mips_pic_base_register, mips_got_load): New functions. (mips_split_symbol): Generalize the name of the LO_SUM_OUT parameter to LOW_OUT. Say that it can be any valid SET_SRC when splitting a load-address operation. Split SYMBOL_GOT_DISP constants and highs of SYMBOL_GOT_PAGE_OFST constants. (mips_call_tls_get_addr): Update the call to mips_expand_call, also passing NULL_RTX rather than const0_rtx as the aux argument. (mips_rewrite_small_data_p): Check mips_lo_relocs and mips_split_p instead of TARGET_EXPLICIT_RELOCS. (mips_ok_for_lazy_binding_p): Check SYMBOL_REF_BIND_NOW_P. (mips_load_call_address): Replace the sibcall_p argument with a mips_call_type argument. Use mips_got_load. (mips16_local_alias): New structure. (mips16_local_aliases): New variable. (mips16_local_aliases_hash): New function. (mips16_local_aliases_eq): Likewise. (mips16_local_alias): Likewise. (mips16_stub_function): Likewise. (mips16_build_function_stub): Create a local alias for the target function. Handle TARGET_ABICALLS. For PIC abicalls, emit a .cpload directive and an R_MIPS_NONE relocation for the target function, then load the alias rather than the function itself. Wrap the non-PIC abicalls version in ".option pic0/.option pic2". (mips16_copy_fpr_return_value): Use mips16_stub_function and mips_expand_call. Set SYMBOL_REF_BIND_NOW on the symbol. (mips16_build_call_stub): Replace the FN parameter with an FN_PTR parameter. Force the address into a register if it isn't a call_insn_operand; don't rely on the caller to do this. If a call to a locally-defined and locally-binding MIPS16 function must be made indirectly, redirect the call to the function's local alias. Use mips16_stub_function_p, mips16_stub_function, mips_expand_call and use_reg. Set SYMBOL_FLAG_BIND_NOW on __mips_call_* symbols. Use explicit %hi and %lo accesses where possible. Use MIPS_CALL to generate the correct code form of a jal instruction. Add clobbers of $18 instead of uses. Update the call to mips_emit_call_insn. (mips_expand_call): Replace the SIBCALL_P argument with a mips_call_type argument and handle the new MIPS_CALL_EPILOGUE value. Take a LAZY_P parameter. Call mips16_build_call_stub first, allowing it to modify the call address. Update the calls to mips_load_call_address and mips_emit_call_insn. (mips_split_call): New function. (mips_init_relocs): Clear mips_split_hi_p. Only use %gp_rel if !TARGET_MIPS16. Split SYMBOL_GOT_DISP, and the high parts of SYMBOL_GOT_PAGE_OFST, for MIPS16 code. (mips_global_pointer): Check mips16_cfun_returns_in_fpr_p. (mips_extra_live_on_entry): Include MIPS16_PIC_TEMP_REGNUM if TARGET_MIPS16. (mips_cprestore_slot): New function. (mips_restore_gp): Take a TEMP parameter. Handle TARGET_MIPS16 and use mips_cprestore_slot. (mips_output_function_prologue): Handle TARGET_MIPS16 for LOADGP_OLDABI. (mips_emit_loadgp): Move into MIPS16_PIC_TEMP for MIPS16, then use a copygp_mips16 instruction to set up $28. (mips_expand_prologue): Initialize the cprestore slot for MIPS16 too. (mips16_lay_out_constants): Call split_all_insns_noflow. (mips_reorg_process_insns): Explicitly set all_noreorder_p to false if TARGET_MIPS16. (mips_reorg): Don't call vr4130_align_insns if TARGET_MIPS16. (mips_output_mi_thunk): Use mips_got_symbol_type_p. Use the mips_dangerous_for_la25_p approach for MIPS16 PIC calls too. (mips_set_mips16_mode): Always set MASK_EXPLICIT_RELOCS for MIPS16 code. Allow MIPS16 o32 PIC. (mips_override_options): Allow MIPS16 o32 PIC. * config/mips/mips.md: Lower CONST_GP_P moves into register moves after reload if TARGET_USE_GOT. (UNSPEC_COPYGP): New constant. (length): Use a default length of 8 for MIPS16 GOT loads. (*got_disp<mode>): Check mips_split_p instead of TARGET_XGOT. (*got_page<mode>): Check mips_split_hi_p. (*got_disp<mode>, *got_page<mode>): Use mips_got_load. (unspec_got<mode>, unspec_call<mode>): New expanders. (load_got<mode>, load_call<mode>): Remove the length attributes. Use a got attribute instead of a type attribute. (copygp_mips16): New insn. (restore_gp): Add a scratch clobber and pass it to mips_restore_gp. (load_call<mode>): Use a "d" constraint instead of an "r" constraint. (sibcall, sibcall_value, call, call_value): Update the calls to mips_expand_call. (call_internal, call_value_internal): Use mips_split_call. (call_value_multiple_internal): Likewise. (call_split): Move after call_internal (the insn it is split from). (call_internal_direct, call_value_internal_direct): Turn into define_insn_and_splits. Split if TARGET_SPLIT_CALLS. (call_direct_split, call_value_direct_split): New patterns. * config/mips/constraints.md (c): Handle TARGET_MIPS16 first and use M16_REGS instead of M16_NA_REGS. * config/mips/predicates.md (const_call_insn_operand): Replace the TARGET_ABSOLUTE_ABICALLS-based check with a more general mips_use_pic_fn_addr_reg_p check. (move_operand): Reject HIGHs if mips_split_hi_p. * config/mips/mips16.S: Assembly as empty if the ABI is not suitable. (__mips16_floatunsisf): Inline __mips16_floatsisf. (CALL_STUB_NO_RET, CALL_STUB_REG): Copy the target register to $25. * config/mips/libgcc-mips16.ver: New file. * config/mips/t-libgcc-mips16 (SHLIB_MAPFILES): Add $(srcdir)/config/mips/libgcc-mips16.ver. gcc/testsuite/ * lib/target-supports.exp (check_profiling_available): Return false for -p and -pg on MIPS16 targets. From-SVN: r138912
* mips.c (mips_unspec_address_offset): Move earlier in file.Richard Sandiford2008-08-092-101/+108
| | | | | | | | | | gcc/ * config/mips/mips.c (mips_unspec_address_offset): Move earlier in file. (mips_unspec_address, mips_unspec_offset_high): Likewise. (mips_ok_for_lazy_binding_p, mips_load_call_address): Likewise. (mips16_cfun_returns_in_fpr_p): Likewise. From-SVN: r138911
* mips.h (MASK_RETURN_ADDR): Expand commentary.Richard Sandiford2008-08-093-8/+41
| | | | | | | | | gcc/ * config/mips/mips.h (MASK_RETURN_ADDR): Expand commentary. * config/mips/linux-unwind.h (mips_fallback_frame_state): Add 2 rather than 4 to PC. From-SVN: r138910
* mips.h (STATIC_CHAIN_REGNUM): Remap to $15.Richard Sandiford2008-08-093-10/+39
| | | | | | | | | | | | | | | | | gcc/ * config/mips/mips.h (STATIC_CHAIN_REGNUM): Remap to $15. (FUNCTION_PROFILER): Save the static chain pointer into $2 beforehand and restore it aftewards. (TRAMPOLINE_TEMPLATE): Adjust accordingly. Load the target address directly into $25 and call the function through $25; do not clobber $3. Pad the DImode version to cover the space left by the deleted $25 <- $3 move. (TRAMPOLINE_SIZE): Adjust the size of the SImode version after the removal of the $25 <- $3 move. (INITIALIZE_TRAMPOLINE): Update offsets accordingly. * config/mips/sdemtk.h (FUNCTION_PROFILER): As for mips.h. From-SVN: r138909
* mips.h (FUNCTION_NAME_ALREADY_DECLARED): Delete.Richard Sandiford2008-08-094-111/+71
| | | | | | | | | | | | | | | | | | | | | gcc/ 2008-08-09 Richard Sandiford <rdsandiford@googlemail.com> Daniel Jacobowitz <dan@codesourcery.com> * config/mips/mips.h (FUNCTION_NAME_ALREADY_DECLARED): Delete. * config/mips/linux.h (ASM_DECLARE_FUNCTION_NAME): Delete. (ASM_DECLARE_FUNCTION_SIZE, FUNCTION_NAME_ALREADY_DECLARED): Delete. * config/mips/mips.c (mips_start_function_definition): New function. (mips_end_function_definition): Likewise. (mips_output_function_prologue): Use mips_start_function_definition. (mips_output_function_epilogue): Use mips_end_function_definition. (build_mips16_function_stub): Use mips_start_function_definition and mips_end_function_definition. (build_mips16_call_stub): Likewise. Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com> From-SVN: r138908
* gimple.c (gimple_build_call_1): Deal with FUNCTION_DECL fn.Richard Guenther2008-08-0914-84/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-08-09 Richard Guenther <rguenther@suse.de> * gimple.c (gimple_build_call_1): Deal with FUNCTION_DECL fn. * gimple.h (gimple_call_fn): Adjust comment. (gimple_call_set_fndecl): New function. (gimple_call_fndecl): Adjust for GIMPLE_CALL no longer having bare FUNCTION_DECL operand. (gimple_call_return_type): Likewise. * tree-cfg.c (verify_stmt): Verify function operand of a GIMPLE_CALL. * value-prof.c (gimple_divmod_fixed_value): Do not emit labels. (gimple_mod_pow2): Likewise. (gimple_mod_subtract): Likewise. (gimple_ic): Likewise. (gimple_stringop_fixed_value): Likewise. (gimple_indirect_call_to_profile): Fix for GIMPLE_CALL no longer having bare FUNCTION_DECL operand. * ipa-cp.c (ipcp_update_callgraph): Use gimple_call_set_fndecl. * omp-low.c (optimize_omp_library_calls): Likewise. * cgraphunit.c (update_call_expr): Likewise. * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise. (execute_convert_to_rsqrt): Likewise. * cfgexpand.c (gimple_to_tree): Simplify. (release_stmt_tree): Fix for GIMPLE_CALL no longer having bare FUNCTION_DECL operand. * tree-nested.c (init_tmp_var_with_call): Use gimple_call_return_type. (convert_gimple_call): Use gimple_call_fndecl. * c-common.c (c_warn_unused_result): Likewise. * gcc.dg/tree-ssa/inline-2.c: New testcase. From-SVN: r138907
* Revert fix for libstdc++/35637, thanks to other/36901.Paolo Carlini2008-08-092-19/+22
| | | | | | | | | | | | 2008-08-09 Paolo Carlini <paolo.carlini@oracle.com> Revert fix for libstdc++/35637, thanks to other/36901. * include/tr1_impl/type_traits (__is_function_helper): New, uses variadic templates. (is_function): Forward to the latter. (__in_array): Remove. From-SVN: r138906
* ctype_members.cc: Include <cstdio>.Paolo Carlini2008-08-092-1/+6
| | | | | | | | 2008-08-09 Paolo Carlini <paolo.carlini@oracle.com> * config/locale/darwin/ctype_members.cc: Include <cstdio>. From-SVN: r138905
* re PR c++/17880 (-Wsequence-point doesn't warn inside if, while, do ↵Manuel López-Ibáñez2008-08-096-13/+104
| | | | | | | | | | | | | | | | | | | | | conditions, for beg/cond/end expressions etc.) 2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c/17880 * c-typeck.c (digest_init): Call verify_sequence_points from here. (c_finish_return): Likewise. (c_start_case): Likewise. * c-common.c (warn_for_collisions_1): Use explicit location in warning. * c-parser.c (c_parser_condition): New. Call verify_sequence_points. (c_parser_paren_condition): Call c_parser_condition. (c_parser_for_statement): Call c_parser_condition. testsuite/ * gcc.dg/sequence-pt-pr17880.c: New. From-SVN: r138904
* misc.c (gnat_handle_option): Replace set_Wunused by warn_unused.Manuel López-Ibáñez2008-08-092-1/+6
| | | | | | | | | | 2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> ada/ * gcc-interface/misc.c (gnat_handle_option): Replace set_Wunused by warn_unused. From-SVN: r138903
* re PR c++/12242 (g++ should warn about out-of-range int->enum conversions)Manuel López-Ibáñez2008-08-094-10/+93
| | | | | | | | | | | | | 2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR c++/12242 cp/ * cvt.c (ocp_convert): Warn for out-of-range conversions to enum. testsuite/ * g++.dg/warn/pr12242.C: New. From-SVN: r138898
* Daily bump.GCC Administrator2008-08-091-1/+1
| | | | From-SVN: r138896
* re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) ↵Manuel López-Ibáñez2008-08-0876-330/+521
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | should not emit errors) 2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR 36901 * diagnostic.def (DK_PEDWARN, DK_PERMERROR): New. * diagnostic.c (pedantic_warning_kind, permissive_error_kind): Moved from diagnostic.h (diagnostic_report_diagnostic): Return bool. Handle DK_PEDWARN and DK_PERMERROR. (emit_diagnostic): New. (warning0, pedwarn0): Delete. (warning, warning_at, pedwarn, permerror): Return bool. * diagnostic.h (pedantic_warning_kind, permissive_error_kind): Moved to diagnostic.c. (struct diagnostic_context): Use correct type for classify_diagnostic. (diagnostic_report_diagnostic): Update declaration. (emit_diagnostic): Declare. * errors.c (warning): Return bool. * errors.h (warning): Update declaration. * toplev.h (warning0, pedwarn0): Delete. (warning, warning_at, pedwarn, permerror): Return bool. * c-errors.c (pedwarn_c99, pedwarn_c90): Use DK_PEDWARN. * c-decl.c (locate_old_decl): Delete 'diag' argument. Always use inform. Update all calls. (diagnose_mismatched_decls): Check return value of warning/pedwarn before giving informative note. (implicit_decl_warning): Likewise. * c-typeck.c (build_function_call): Likewise. * tree-sssa.c (warn_uninit): Likewise. * builtins.c (gimplify_va_arg_expr): Likewise. fortran/ * f95-lang.c (gfc_mark_addressable): Use "pedwarn (0," instead of 'pedwarn0'. cp/ * cp-tree.h (struct diagnostic_context, struct diagnostic_info): Delete forward declarations. Check that toplev.h has not been included before this file. Include toplev.h and diagnostic.h. * error.c (cp_cpp_error): Use DK_PEDWARN. (cxx_incomplete_type_diagnostic): Update declaration. (cxx_incomplete_type_error): Use DK_ERROR. * typeck2.c (cxx_incomplete_type_diagnostic): Take a diagnostic_t as argument. Use emit_diagnostic. (cxx_incomplete_type_error): Use DK_ERROR. (add_exception_specifier): Use diagnostic_t instead of custom codes. * typeck.c (complete_type_or_else): Update call to cxx_incomplete_type_diagnostic. * init.c (build_delete): Likewise. * call.c (diagnostic_fn_t): Remove unused typedef. (build_temp): Pass a pointer to diagnostic_t. (convert_like_real): Use emit_diagnostic. (joust): Check return value of warning before giving informative note. * friend.c (do_friend): Check return value of warning before giving informative note. * parser.c (cp_parser_template_id): Likewise. testsuite/ * gcc.dg/pr36901-1.c: New. * gcc.dg/pr36901-3.c: New. * gcc.dg/pr36901-2.c: New. * gcc.dg/pr36901-4.c: New. * gcc.dg/pr36901-system.h: New. * gcc.dg/pr36901.h: New. * gcc.target/powerpc/altivec-macros.c: Update. * gcc.target/i386/regparm.c: Update. * gcc.dg/funcdef-var-1.c: Update. * gcc.dg/parm-mismatch-1.c: Update. * gcc.dg/attr-noinline.c: Update. * gcc.dg/wtr-static-1.c: Update. * gcc.dg/redecl-11.c: Update. * gcc.dg/pr27953.c: Update. * gcc.dg/proto-1.c: Update. * gcc.dg/decl-3.c: Update. * gcc.dg/redecl-13.c: Update. * gcc.dg/pr15360-1.c: Update. * gcc.dg/redecl-15.c: Update. * gcc.dg/enum-compat-1.c: Update. * gcc.dg/dll-3.c: Update. * gcc.dg/array-5.c: Update. * gcc.dg/Wredundant-decls-2.c: Update. * gcc.dg/inline4.c: Update. * gcc.dg/redecl-2.c: Update. * gcc.dg/inline-14.c: Update. * gcc.dg/tls/diag-3.c: Update. * gcc.dg/funcdef-var-2.c: Update. * gcc.dg/20041213-1.c: Update. * gcc.dg/old-style-then-proto-1.c: Update. * gcc.dg/decl-2.c: Update. * gcc.dg/redecl-12.c: Update. * gcc.dg/decl-4.c: Update. * gcc.dg/Wshadow-1.c: Update. * gcc.dg/transparent-union-2.c: Update. * gcc.dg/visibility-7.c: Update. * gcc.dg/dll-2.c: Update. * gcc.dg/redecl-16.c: Update. * gcc.dg/inline1.c: Update. * gcc.dg/decl-8.c: Update. * gcc.dg/nested-redef-1.c: Update. * gcc.dg/inline3.c: Update. * gcc.dg/redecl-1.c: Update. * gcc.dg/inline5.c: Update. * gcc.dg/pr35899.c: Update. * gcc.dg/noncompile/label-lineno-1.c: Update. * gcc.dg/noncompile/label-1.c: Update. * gcc.dg/noncompile/20020220-1.c: Update. * gcc.dg/noncompile/redecl-1.c: Update. * gcc.dg/redecl-5.c: Update. * gcc.dg/qual-return-3.c: Update. * gcc.dg/label-decl-4.c: Update. From-SVN: r138893
* re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)Manuel López-Ibáñez2008-08-087-11/+56
| | | | | | | | | | | | | | | | 2008-08-09 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR 7651 * doc/invoke.texi (-Wextra): Move warning from here... (-Wuninitialized): ... to here. cp/ * class.c (check_bases_and_members): Warn with -Wuninitialized instead of -Wextra. testsuite/ * g++.dg/warn/Wuninitializable-member.C: New. * g++.dg/warn/Wuninitializable-member-no.C: New. From-SVN: r138892
* re PR fortran/37011 (F2003, type extension: multiple inheritence not rejected)Paul Thomas2008-08-084-5/+37
| | | | | | | | | | | | | 2008-08-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/37011 * symbol.c (gfc_add_extension): New function. * decl.c (gfc_get_type_attr_spec): Call it. (gfc_match_derived_decl): Set symbol extension attribute from attr.extension. * gfortran.h : Add prototype for gfc_add_extension. From-SVN: r138891
* re PR c/28875 ("-Wextra -Wno-unused-parameter -Wall" doesn't work as expected)Manuel López-Ibáñez2008-08-0813-49/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-08-08 Manuel Lopez-Ibanez <manu@gcc.gnu.org> PR 28875 * flags.h (set_Wunused): Delete * toplev.c (process_options): Handle Wunused flags here. * opts.c (maybe_warn_unused_parameter): Delete. (common_handle_option): Replace set_Wunused by warn_unused. (set_Wextra): Do not handle Wunused-parameter here. (set_Wunused): Delete. * c-opts.c (c_common_handle_option): Replace set_Wunused by warn_unused. * common.opt (Wunused): Add Var and Init. (Wunused-function): Likewise. (Wunused-label): Likewise. (Wunused-parameter): Likewise. (Wunused-value): Likewise. (Wunused-variable): Likewise. fortran/ * options.c (set_Wall): Replace set_Wunused by warn_unused. java/ * lang.c (java_handle_option): Replace set_Wunused with warn_unused. testsuite/ * gcc.dg/unused-6-no.c: New. * gcc.dg/unused-6-WallWextra.c: New. From-SVN: r138890
* invoke.texi: Add cpu_type power7.Peter Bergner2008-08-088-3/+93
| | | | | | | | | | | | | | | | | | 2008-08-08 Peter Bergner <bergner@vnet.ibm.com> * doc/invoke.texi: Add cpu_type power7. * config.in (HAVE_AS_VSX): New. * config.gcc: Add cpu_type power7. * configure.ac (HAVE_AS_VSX): Check for assembler support of the VSX instructions. * configure: Regenerate. * config/rs6000/rs6000.c (rs6000_override_options): Alias power7 to power5. * config/rs6000/rs6000.h (ASM_CPU_POWER7_SPEC): Define. (ASM_CPU_SPEC): Pass %(asm_cpu_power7) for -mcpu=power7. (EXTRA_SPECS): Add asm_cpu_power7 spec string. From-SVN: r138887
* re PR c++/35985 (ICE with pointer to member function as base)Volker Reichelt2008-08-084-4/+20
| | | | | | | | | | PR c++/35985 * decl.c (xref_basetypes): Check base for MAYBE_CLASS_TYPE_P, and make sure it is not a union. * g++.dg/inherit/base3.C: New. From-SVN: r138886
* tree-vect-transform.c (vectorizable_conversion): Pass the integral type to ↵Dorit Nuzman2008-08-086-23/+67
| | | | | | | | | | | | | | | | | | | | vectorize.builtin_conversion. 2008-08-08 Dorit Nuzman <dorit@il.ibm.com> * tree-vect-transform.c (vectorizable_conversion): Pass the integral type to vectorize.builtin_conversion. (vectorizable_conversion): Likewise. * config/i386/i386.c (ix86_vectorize_builtin_conversion): Always takes integral type as input. * config/rs6000/rs6000.c (rs6000_builtin_conversion): Add case for FIX_TRUNC_EXPR. (rs6000_expand_builtin): Add case for ALTIVEC_BUILTIN_VCTUXS and ALTIVEC_BUILTIN_VCTSXS. (rs6000_builtin_mul_widen_even. rs6000_builtin_mul_widen_odd): Fix formatting. From-SVN: r138885
* gfortran.h (gfc_finalizer): Replaced member `procedure' by two new members ↵Daniel Kraft2008-08-0810-20/+153
| | | | | | | | | | | | | | | | | | | | | | | | | | | | `proc_sym' and `proc_tree' to... 2008-08-08 Daniel Kraft <d@domob.eu> * gfortran.h (gfc_finalizer): Replaced member `procedure' by two new members `proc_sym' and `proc_tree' to store the symtree after resolution. (gfc_find_sym_in_symtree): Made public. * decl.c (gfc_match_final_decl): Adapted for new member name. * interface.c (gfc_find_sym_in_symtree): Made public. (gfc_extend_expr), (gfc_extend_assign): Changed call accordingly. * module.c (mio_finalizer), (mio_f2k_derived), (mio_full_f2k_derived): New methods for module-file IO of f2k_derived. (mio_symbol): Do IO of f2k_derived namespace. * resolve.c (gfc_resolve_finalizers): Adapted for new member name and finding the symtree for the symbol here. * symbol.c (gfc_free_finalizer): Adapted for new members. 2008-08-08 Daniel Kraft <d@domob.eu> * gfortran.dg/finalize_9.f03: New test. * gfortran.dg/module_md5_1.f90: Adapted MD5-sum for changed module file format. From-SVN: r138884
* tree-ssa-ccp.c (likely_value): Calls are not all varying.Richard Guenther2008-08-084-17/+75
| | | | | | | | | | | | | 2008-08-08 Richard Guenther <rguenther@suse.de> * tree-ssa-ccp.c (likely_value): Calls are not all varying. (surely_varying_stmt_p): Calls are varying only if they are non-builtin and not indirect or have no result. (ccp_fold): Re-instantiate code before the tuples merge. * gcc.dg/tree-ssa/ssa-ccp-20.c: New testcase. From-SVN: r138882
* freeze.adb (Generate_Prim_Op_References): New procedure, abstracted from ↵Ed Schonberg2008-08-082-61/+107
| | | | | | | | | | | | Freeze_Entity. 2008-08-08 Ed Schonberg <schonberg@adacore.com> * freeze.adb (Generate_Prim_Op_References): New procedure, abstracted from Freeze_Entity. Used to generate cross-reference information for types declared in generic packages. From-SVN: r138881
* Makefile.in: Reintroduce g-soccon.ads as a compatibility shim.Thomas Quinot2008-08-082-1/+6
| | | | | | | | | 2008-08-08 Thomas Quinot <quinot@adacore.com> * gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a compatibility shim. From-SVN: r138880
* gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow ↵Arnaud Charlet2008-08-083-24/+103
| | | | | | | | | | | | | | | checking for integer... 2008-08-08 Bob Duff <duff@adacore.com> * gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow checking for integer operations (including division by zero)", which is wrong -- divide by zero is not part of overflow checking. Also added misc clarification about what check-suppression means. * gnat_rm.texi: Clarify the meaning of pragma Suppress. From-SVN: r138879
* s-strxdr.adb: Minor reformattingRobert Dewar2008-08-081-9/+9
| | | | | | | | 2008-08-08 Robert Dewar <dewar@adacore.com> * s-strxdr.adb: Minor reformatting From-SVN: r138878
* g-soccon.ads: New file.Thomas Quinot2008-08-0812-147/+188
| | | | | | | | | | | | | | | 2008-08-08 Thomas Quinot <quinot@adacore.com> * g-soccon.ads: New file. * g-stheme.adb, g-socthi-vms.adb, g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb, g-socthi.adb, g-stsifd-sockets.adb, g-socket.adb, g-socket.ads, g-sothco.adb, g-sothco.ads: Add back GNAT.Sockets.Constants as a child unit, to allow building software that depends on this internal unit with both older and newer compilers. From-SVN: r138877
* s-osinte-hpux.ads, [...]: Minor reformattingThomas Quinot2008-08-082-3/+3
| | | | | | | | 2008-08-08 Thomas Quinot <quinot@adacore.com> * s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting From-SVN: r138876
* s-osinte-freebsd.ads: Minor reformattingThomas Quinot2008-08-081-5/+5
| | | | | | | | 2008-08-08 Thomas Quinot <quinot@adacore.com> * s-osinte-freebsd.ads: Minor reformatting From-SVN: r138875
* gsocket.h: On Windows...Thomas Quinot2008-08-081-46/+78
| | | | | | | | | | 2008-08-08 Thomas Quinot <quinot@adacore.com> * gsocket.h: On Windows, include <errno.h> and redefine only selected errno values from their <winsock2.h> definitions. From-SVN: r138874
* 2008-08-08 Thomas Quinot <quinot@adacore.com>Thomas Quinot2008-08-081-1/+5
| | | | | | | | * g-sercom.ads: (Name): Document application scope (only legacy PC serial ports on Linux and Windows). From-SVN: r138873
* Makefile.in: generate s-oscons.ads again, previous change was unneeded.Thomas Quinot2008-08-082-2/+6
| | | | | | | | | 2008-08-06 Thomas Quinot <quinot@adacore.com> * Makefile.in: generate s-oscons.ads again, previous change was unneeded. From-SVN: r138872
* Makefile.in, [...]: Revert previous change, not needed after all.Thomas Quinot2008-08-083-4/+9
| | | | | | | | | 2008-08-08 Thomas Quinot <quinot@adacore.com> * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Revert previous change, not needed after all. From-SVN: r138871
* exp_ch4.adb (Expand_Allocator_Expression): add check if null exclusion ↵Arnaud Charlet2008-08-082-0/+22
| | | | | | | | | | | indicator is present 2008-08-08 Ed Schonberg <schonberg@adacore.com> * exp_ch4.adb (Expand_Allocator_Expression): add check if null exclusion indicator is present From-SVN: r138870
* sem_attr.adb: Minor code reorganization (use Nkind_In) Minor reformattingRobert Dewar2008-08-081-2/+1
| | | | | | | | | 2008-08-08 Robert Dewar <dewar@adacore.com> * sem_attr.adb: Minor code reorganization (use Nkind_In) Minor reformatting From-SVN: r138869
* s-fileio.adb: Minor reformattingRobert Dewar2008-08-081-2/+4
| | | | | | | | 2008-08-08 Robert Dewar <dewar@adacore.com> * s-fileio.adb: Minor reformatting From-SVN: r138868
* g-comlin.ads: Minor reformattingRobert Dewar2008-08-081-15/+14
| | | | | | | | 2008-08-08 Robert Dewar <dewar@adacore.com> * g-comlin.ads: Minor reformatting From-SVN: r138867
* g-comlin.adb: Minor code reorganization Minor reformattingRobert Dewar2008-08-081-20/+46
| | | | | | | | | 2008-08-08 Robert Dewar <dewar@adacore.com> * g-comlin.adb: Minor code reorganization Minor reformatting From-SVN: r138866
* re PR tree-optimization/37056 (ICE in build2_stat, at tree.c:3257)Richard Guenther2008-08-085-26/+73
| | | | | | | | | | | | | 2008-08-08 Richard Guenther <rguenther@suse.de> PR tree-optimization/37056 * gimple.h (gimple_assign_rhs_class): New helper function. * tree-ssa-loop-niter.c (get_val_for): Fix tuplification, handle unary operations properly. * gcc.c-torture/compile/pr37056.c: New testcase. From-SVN: r138865
* i386.h (ix86_size_cost): Declare.Jan Hubicka2008-08-084-62/+84
| | | | | | | | | | | | | | | | | * i386.h (ix86_size_cost): Declare. (ix86_cur_cost): New function macro. * i386.md (peepholes expanding size and splitters): Predicate by optimize_insn_for_speed_p. (peepholes reduce size and splitters): Predicate by optimize_insn_for_size_p. * i386.c (ix86_size_cost): Rename from ... (size_cost): This one. (override_options): Update. (decide_alg): Likewise. (ix86_expand_clear): Use RTL profile. (ix86_pad_returns): Use RTL profile. From-SVN: r138864
* recog.c (split_all_insns): Set RTL profileJan Hubicka2008-08-084-0/+16
| | | | | | | | | * recog.c (split_all_insns): Set RTL profile (peephole2_optimize): Likewise. * function.c (thread_prologue_and_epilogue_insns): Likewise. * combine.c (combine_instructions): Likewise. From-SVN: r138863
* ios_base.h: Undef _IOS_BASE_SEEK_CUR and _IOS_BASE_SEEK_END at the end of ↵Paolo Carlini2008-08-083-1/+13
| | | | | | | | | | | | the file. 2008-08-08 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/ios_base.h: Undef _IOS_BASE_SEEK_CUR and _IOS_BASE_SEEK_END at the end of the file. * include/bits/char_traits.h: Likewise for _CHAR_TRAITS_EOF. From-SVN: r138862
* c-common.c (c_common_reswords): Also warn about keyword "bool".Kaveh R. Ghazi2008-08-084-2/+11
| | | | | | | | | * c-common.c (c_common_reswords): Also warn about keyword "bool". testsuite: * gcc.dg/Wcxx-compat-2.c: Check for bool/_Bool. From-SVN: r138859
* Daily bump.GCC Administrator2008-08-081-1/+1
| | | | From-SVN: r138854
* xtensa.c (xtensa_copy_incoming_a7): Copy incoming value in a6 after the ↵Bob Wilson2008-08-072-2/+14
| | | | | | | | | set_frame_ptr insn. * config/xtensa/xtensa.c (xtensa_copy_incoming_a7): Copy incoming value in a6 after the set_frame_ptr insn. From-SVN: r138851
* re PR target/37033 (Revision 138733 breaks -g vs -g0 for PCH)Richard Henderson2008-08-072-1/+6
| | | | | | | PR debug/37033 * gcc.c (cpp_options): Pass along -g*. From-SVN: r138850
* pex-win32.c (argv_to_argc): New function.Aaron W. LaFramboise2008-08-072-2/+40
| | | | | | | | | 2008-08-07 Aaron W. LaFramboise <aaronavay62@aaronwl.com> * pex-win32.c (argv_to_argc): New function. (spawn_script): Duplicate argv before calling win32_spawn. From-SVN: r138849
* semantics.c (finish_decltype_type): Initialize type.H.J. Lu2008-08-072-465/+469
| | | | | | | | 2008-08-07 H.J. Lu <hongjiu.lu@intel.com> * semantics.c (finish_decltype_type): Initialize type. From-SVN: r138848
* arm.c (output_move_neon): Update comment describing big-endian vector layout.Joseph Myers2008-08-073-36/+88
| | | | | | | | | | | | | * config/arm/arm.c (output_move_neon): Update comment describing big-endian vector layout. (arm_assemble_integer): Do not handle big-endian NEON vectors specially. * config/arm/neon.md (vec_set<mode>_internal, vec_extract<mode>, neon_vget_lane<mode>_sext_internal, neon_vget_lane<mode>_zext_internal, neon_vget_lane<mode>): Adjust element indices for big-endian. From-SVN: r138847
* configure.ac (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): New.Richard Henderson2008-08-077-9/+102
| | | | | | | | | | | | * configure.ac (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): New. * configure, config.in: Rebuild. * debug.h (dwarf2out_do_cfi_asm): Declare. * c-cppbuiltin.c (c_cpp_builtins): Use it. * dwarf2out.c (dwarf2out_do_cfi_asm): New. (dwarf2out_cfi_label, add_fde_cfi, output_call_frame_info, dwarf2out_begin_prologue, dwarf2out_end_epilogue): Use it. From-SVN: r138846
* iwmmxt.md (movv8qi_internal, [...]): Combine into mov<mode>_internal.Joseph Myers2008-08-072-61/+9
| | | | | | | | * config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal, movv2si_internal): Combine into mov<mode>_internal. (movv2si_internal_2): Remove. From-SVN: r138844