Paolo Carlini [Mon, 11 Aug 2008 19:28:35 +0000 (19:28 +0000)]
c_locale.cc: Include <cstdio>.
2008-08-11 Paolo Carlini <paolo.carlini@oracle.com>
* config/locale/generic/c_locale.cc: Include <cstdio>.
From-SVN: r138966
Joel Sherrill [Mon, 11 Aug 2008 17:04:07 +0000 (17:04 +0000)]
s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
2008-08-11 Joel Sherrill <joel.sherrill@oarcorp.com>
gcc/ada/
* s-oscons-tmplt.c: RTEMS defines AF_INET6 but does support it.
* gsocket.h, socket.c: Update to support RTEMS.
* gcc-interface/Make-lang.in: Include CFLAGS_FOR_TARGET when cross.
From-SVN: r138957
Paolo Carlini [Mon, 11 Aug 2008 15:08:20 +0000 (15:08 +0000)]
configure.ac: Run GLIBCXX_CHECK_STDIO_MACROS unconditionally.
2008-08-11 Paolo Carlini <paolo.carlini@oracle.com>
* configure.ac: Run GLIBCXX_CHECK_STDIO_MACROS unconditionally.
* configure: Regenerate.
From-SVN: r138954
Michael Matz [Mon, 11 Aug 2008 12:15:37 +0000 (12:15 +0000)]
i386.c: (override_options): Move initialisation from flag_schedule_insns_after_reload...
* i386/i386.c: (override_options): Move initialisation from
flag_schedule_insns_after_reload to here from ...
(optimization_options): ... here.
From-SVN: r138953
Jakub Jelinek [Mon, 11 Aug 2008 10:23:08 +0000 (12:23 +0200)]
re PR rtl-optimization/36998 (Ada bootstrap broken on i586-*-*)
PR rtl-optimization/36998
* dwarf2out.c (compute_barrier_args_size_1,
compute_barrier_args_size): Temporarily remove assertions.
* gcc.dg/pr36998.c: New test.
From-SVN: r138951
Andreas Krebbel [Mon, 11 Aug 2008 06:55:39 +0000 (06:55 +0000)]
20080806-1.c: Move testcase ...
2008-08-11 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.target/s390/
20080806-1.c: Move testcase ...
* gcc.c-torture/compile/
20080806-1.c: ... to here and make it
stack size sensitive.
From-SVN: r138950
GCC Administrator [Mon, 11 Aug 2008 00:16:51 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138939
David Edelsohn [Sun, 10 Aug 2008 23:37:04 +0000 (19:37 -0400)]
Fix typo in "Software".
From-SVN: r138936
Samuel Tardieu [Sun, 10 Aug 2008 20:13:24 +0000 (20:13 +0000)]
exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of left argument even when right argument is 0.
2008-08-10 Samuel Tardieu <sam@rfc1149.net>
Robert Dewar <dewar@adacore.com>
gcc/ada/
* exp_ch4.adb (Expand_N_Op_Expon): Force evaluation of
left argument even when right argument is 0.
(Expand_N_Op_Mod): Ditto when right argument is 1.
(Expand_N_Op_Multiply): Ditto when any argument is 0.
(Expand_N_Op_Rem): Ditto when right argument is 1.
2008-08-10 Samuel Tardieu <sam@rfc1149.net>
gcc/testsuite/
* gnat.dg/exp0_eval.adb: New.
Co-Authored-By: Robert Dewar <dewar@adacore.com>
From-SVN: r138934
Manuel López-Ibáñez [Sun, 10 Aug 2008 18:46:10 +0000 (18:46 +0000)]
re PR middle-end/20644 (bogus uninitialized warning on unused variable)
2008-08-10 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR middle-end/20644
* tree-ssa.c (struct walk_data): Add new flag
warn_possibly_uninitialized.
(warn_uninitialized_var): Use it.
(warn_uninitialized_vars): New.
(execute_early_warn_uninitialized): Call it.
(execute_late_warn_uninitialized): Likewise.
testsuite/
* gcc.dg/uninit-pr20644-O0.c: New.
* gcc.dg/uninit-pr20644.c: New.
From-SVN: r138933
Manuel López-Ibáñez [Sun, 10 Aug 2008 18:32:52 +0000 (18:32 +0000)]
re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) should not emit errors)
2008-08-10 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 36901
testsuite/
* gcc.dg/pr36901.h: Do not depend on limits.h.
* gcc.dg/pr36901-3.c: Update.
* gcc.dg/pr36901-4.c: Update.
From-SVN: r138932
Paolo Carlini [Sun, 10 Aug 2008 10:11:46 +0000 (10:11 +0000)]
type_traits (_DEFINE_SPEC*): Simplify.
2008-08-10 Paolo Carlini <paolo.carlini@oracle.com>
* include/tr1_impl/type_traits (_DEFINE_SPEC*): Simplify.
(_DEFINE_SPEC_BODY): Remove.
(__is_void_helper, __is_integral_helper, __is_floating_point_helper,
__is_member_object_pointer_helper, __is_member_function_pointer_helper,
__remove_pointer_helper): Add.
(is_void, is_integral, is_floating_point, is_member_object_pointer,
is_member_function_pointer, remove_pointer): Use the latter.
* include/tr1/type_traits (_DEFINE_SPEC): Simplify.
(_DEFINE_SPEC_HELPER): Remove.
(__is_signed_helper, __is_unsigned_helper): Add.
(is_signed, is_unsigned): Use the latter.
From-SVN: r138925
Andrew Pinski [Sun, 10 Aug 2008 04:54:37 +0000 (04:54 +0000)]
re PR middle-end/36238 (ICE in reg_or_subregno, at jump.c:1730)
2008-08-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/36238
* reload1.c (gen_reload): Guard calls to get_secondary_mem
for memory subregs.
2008-08-09 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/36238
* gcc.c-torture/compile/pr36238.c: New testcase.
From-SVN: r138924
GCC Administrator [Sun, 10 Aug 2008 00:16:36 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138921
Joseph Myers [Sat, 9 Aug 2008 23:30:44 +0000 (00:30 +0100)]
* sv.po: Update.
From-SVN: r138917
Jan Hubicka [Sat, 9 Aug 2008 21:47:28 +0000 (23:47 +0200)]
re PR target/37055 (Revision 138835 breaks -msse2 -mfpmath=sse -Os)
2008-08-09 Jan Hubicka <jh@suse.cz>
PR target/37055
* optabs.c (maybe_emit_unop_insn): Remove produced code if
expansion failed.
(expand_fix): Be prepared for expansion to fail.
(expand_sfix_optab): Remove instructions if expansion failed.
From-SVN: r138916
Anatoly Sokolov [Sat, 9 Aug 2008 19:58:25 +0000 (23:58 +0400)]
avr.c (avr_mcu_types): Move the AT43USB320 device to avr31 architecture.
* config/avr/avr.c (avr_mcu_types): Move the AT43USB320 device to
avr31 architecture.
* config/avr/avr.h (CRT_BINUTILS_SPECS): (Ditto.).
* config/avr/t-avr (MULTILIB_MATCHES): (Ditto.).
From-SVN: r138915
Jerry DeLisle [Sat, 9 Aug 2008 19:17:24 +0000 (19:17 +0000)]
re PR fortran/36582 (Namelist I/O error: Bogus "Cannot match namelist object")
2008-07-22 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/36582
* io/list_read.c: If variable rank is zero, do not adjust the found
namelist object pointer. Fix ChangeLog.
From-SVN: r138914
Richard Sandiford [Sat, 9 Aug 2008 19:08:15 +0000 (19:08 +0000)]
configure.ac (mips*-*-*linux*, [...]): Use mt-mips-gnu.
* 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
Richard Sandiford [Sat, 9 Aug 2008 18:21:50 +0000 (18:21 +0000)]
mips.c (mips_unspec_address_offset): Move earlier in file.
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
Richard Sandiford [Sat, 9 Aug 2008 18:19:32 +0000 (18:19 +0000)]
mips.h (MASK_RETURN_ADDR): Expand commentary.
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
Richard Sandiford [Sat, 9 Aug 2008 18:11:19 +0000 (18:11 +0000)]
mips.h (STATIC_CHAIN_REGNUM): Remap to $15.
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
Richard Sandiford [Sat, 9 Aug 2008 18:10:18 +0000 (18:10 +0000)]
mips.h (FUNCTION_NAME_ALREADY_DECLARED): Delete.
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
Richard Guenther [Sat, 9 Aug 2008 17:28:39 +0000 (17:28 +0000)]
gimple.c (gimple_build_call_1): Deal with FUNCTION_DECL fn.
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
Paolo Carlini [Sat, 9 Aug 2008 15:58:52 +0000 (15:58 +0000)]
Revert fix for libstdc++/35637, thanks to other/36901.
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
Paolo Carlini [Sat, 9 Aug 2008 15:02:30 +0000 (15:02 +0000)]
ctype_members.cc: Include <cstdio>.
2008-08-09 Paolo Carlini <paolo.carlini@oracle.com>
* config/locale/darwin/ctype_members.cc: Include <cstdio>.
From-SVN: r138905
Manuel López-Ibáñez [Sat, 9 Aug 2008 12:37:32 +0000 (12:37 +0000)]
re PR c++/17880 (-Wsequence-point doesn't warn inside if, while, do 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
Manuel López-Ibáñez [Sat, 9 Aug 2008 09:37:57 +0000 (09:37 +0000)]
misc.c (gnat_handle_option): Replace set_Wunused by warn_unused.
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
Manuel López-Ibáñez [Sat, 9 Aug 2008 00:30:41 +0000 (00:30 +0000)]
re PR c++/12242 (g++ should warn about out-of-range int->enum conversions)
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
GCC Administrator [Sat, 9 Aug 2008 00:16:37 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138896
Manuel López-Ibáñez [Fri, 8 Aug 2008 23:57:19 +0000 (23:57 +0000)]
re PR other/36901 (pedwarn() + -pedantic-errors + -w (inhibit_warnings) 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
Manuel López-Ibáñez [Fri, 8 Aug 2008 23:32:23 +0000 (23:32 +0000)]
re PR middle-end/7651 (Define -Wextra strictly in terms of other warning flags)
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
Paul Thomas [Fri, 8 Aug 2008 23:22:51 +0000 (23:22 +0000)]
re PR fortran/37011 (F2003, type extension: multiple inheritence not rejected)
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
Manuel López-Ibáñez [Fri, 8 Aug 2008 23:15:31 +0000 (23:15 +0000)]
re PR c/28875 ("-Wextra -Wno-unused-parameter -Wall" doesn't work as expected)
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
Peter Bergner [Fri, 8 Aug 2008 21:40:18 +0000 (16:40 -0500)]
invoke.texi: Add cpu_type power7.
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
Volker Reichelt [Fri, 8 Aug 2008 21:17:54 +0000 (21:17 +0000)]
re PR c++/35985 (ICE with pointer to member function as base)
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
Dorit Nuzman [Fri, 8 Aug 2008 19:00:36 +0000 (19:00 +0000)]
tree-vect-transform.c (vectorizable_conversion): Pass the integral type to 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
Daniel Kraft [Fri, 8 Aug 2008 18:19:46 +0000 (20:19 +0200)]
gfortran.h (gfc_finalizer): Replaced member `procedure' by two new members `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
Richard Guenther [Fri, 8 Aug 2008 15:01:05 +0000 (15:01 +0000)]
tree-ssa-ccp.c (likely_value): Calls are not all varying.
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
Ed Schonberg [Fri, 8 Aug 2008 13:09:37 +0000 (13:09 +0000)]
freeze.adb (Generate_Prim_Op_References): New procedure, abstracted from 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
Thomas Quinot [Fri, 8 Aug 2008 13:03:37 +0000 (13:03 +0000)]
Makefile.in: Reintroduce g-soccon.ads as a compatibility shim.
2008-08-08 Thomas Quinot <quinot@adacore.com>
* gcc-interface/Makefile.in: Reintroduce g-soccon.ads as a
compatibility shim.
From-SVN: r138880
Arnaud Charlet [Fri, 8 Aug 2008 13:00:00 +0000 (15:00 +0200)]
gnat_ugn.texi: The "Run-Time Checks" section said "arithmetic overflow 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
Robert Dewar [Fri, 8 Aug 2008 12:59:38 +0000 (14:59 +0200)]
s-strxdr.adb: Minor reformatting
2008-08-08 Robert Dewar <dewar@adacore.com>
* s-strxdr.adb: Minor reformatting
From-SVN: r138878
Thomas Quinot [Fri, 8 Aug 2008 12:59:28 +0000 (14:59 +0200)]
g-soccon.ads: New file.
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
Thomas Quinot [Fri, 8 Aug 2008 12:59:14 +0000 (14:59 +0200)]
s-osinte-hpux.ads, [...]: Minor reformatting
2008-08-08 Thomas Quinot <quinot@adacore.com>
* s-osinte-hpux.ads, s-osinte-irix.ads: Minor reformatting
From-SVN: r138876
Thomas Quinot [Fri, 8 Aug 2008 12:58:46 +0000 (14:58 +0200)]
s-osinte-freebsd.ads: Minor reformatting
2008-08-08 Thomas Quinot <quinot@adacore.com>
* s-osinte-freebsd.ads: Minor reformatting
From-SVN: r138875
Thomas Quinot [Fri, 8 Aug 2008 12:58:36 +0000 (14:58 +0200)]
gsocket.h: On Windows...
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
Thomas Quinot [Fri, 8 Aug 2008 12:37:51 +0000 (14:37 +0200)]
2008-08-08 Thomas Quinot <quinot@adacore.com>
* g-sercom.ads:
(Name): Document application scope (only legacy PC serial ports on
Linux and Windows).
From-SVN: r138873
Thomas Quinot [Fri, 8 Aug 2008 12:23:48 +0000 (12:23 +0000)]
Makefile.in: generate s-oscons.ads again, previous change was unneeded.
2008-08-06 Thomas Quinot <quinot@adacore.com>
* Makefile.in: generate s-oscons.ads again, previous change was
unneeded.
From-SVN: r138872
Thomas Quinot [Fri, 8 Aug 2008 12:23:28 +0000 (12:23 +0000)]
Makefile.in, [...]: Revert previous change, not needed after all.
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
Arnaud Charlet [Fri, 8 Aug 2008 12:22:51 +0000 (14:22 +0200)]
exp_ch4.adb (Expand_Allocator_Expression): add check if null exclusion 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
Robert Dewar [Fri, 8 Aug 2008 12:22:26 +0000 (14:22 +0200)]
sem_attr.adb: Minor code reorganization (use Nkind_In) Minor reformatting
2008-08-08 Robert Dewar <dewar@adacore.com>
* sem_attr.adb: Minor code reorganization (use Nkind_In)
Minor reformatting
From-SVN: r138869
Robert Dewar [Fri, 8 Aug 2008 12:22:18 +0000 (14:22 +0200)]
s-fileio.adb: Minor reformatting
2008-08-08 Robert Dewar <dewar@adacore.com>
* s-fileio.adb: Minor reformatting
From-SVN: r138868
Robert Dewar [Fri, 8 Aug 2008 12:22:10 +0000 (14:22 +0200)]
g-comlin.ads: Minor reformatting
2008-08-08 Robert Dewar <dewar@adacore.com>
* g-comlin.ads: Minor reformatting
From-SVN: r138867
Robert Dewar [Fri, 8 Aug 2008 12:22:02 +0000 (14:22 +0200)]
g-comlin.adb: Minor code reorganization Minor reformatting
2008-08-08 Robert Dewar <dewar@adacore.com>
* g-comlin.adb: Minor code reorganization
Minor reformatting
From-SVN: r138866
Richard Guenther [Fri, 8 Aug 2008 11:30:13 +0000 (11:30 +0000)]
re PR tree-optimization/37056 (ICE in build2_stat, at tree.c:3257)
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
Jan Hubicka [Fri, 8 Aug 2008 10:09:37 +0000 (12:09 +0200)]
i386.h (ix86_size_cost): Declare.
* 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
Jan Hubicka [Fri, 8 Aug 2008 10:04:51 +0000 (12:04 +0200)]
recog.c (split_all_insns): Set RTL profile
* 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
Paolo Carlini [Fri, 8 Aug 2008 09:54:09 +0000 (09:54 +0000)]
ios_base.h: Undef _IOS_BASE_SEEK_CUR and _IOS_BASE_SEEK_END at the end of 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
Kaveh R. Ghazi [Fri, 8 Aug 2008 01:42:33 +0000 (01:42 +0000)]
c-common.c (c_common_reswords): Also warn about keyword "bool".
* 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
GCC Administrator [Fri, 8 Aug 2008 00:16:46 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138854
Bob Wilson [Thu, 7 Aug 2008 23:44:31 +0000 (23:44 +0000)]
xtensa.c (xtensa_copy_incoming_a7): Copy incoming value in a6 after the 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
Richard Henderson [Thu, 7 Aug 2008 20:06:36 +0000 (13:06 -0700)]
re PR target/37033 (Revision 138733 breaks -g vs -g0 for PCH)
PR debug/37033
* gcc.c (cpp_options): Pass along -g*.
From-SVN: r138850
Aaron W. LaFramboise [Thu, 7 Aug 2008 19:30:14 +0000 (13:30 -0600)]
pex-win32.c (argv_to_argc): New function.
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
H.J. Lu [Thu, 7 Aug 2008 18:28:23 +0000 (11:28 -0700)]
semantics.c (finish_decltype_type): Initialize type.
2008-08-07 H.J. Lu <hongjiu.lu@intel.com>
* semantics.c (finish_decltype_type): Initialize type.
From-SVN: r138848
Joseph Myers [Thu, 7 Aug 2008 16:58:29 +0000 (17:58 +0100)]
arm.c (output_move_neon): Update comment describing big-endian vector layout.
* 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
Richard Henderson [Thu, 7 Aug 2008 16:29:22 +0000 (09:29 -0700)]
configure.ac (HAVE_GAS_CFI_PERSONALITY_DIRECTIVE): New.
* 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
Joseph Myers [Thu, 7 Aug 2008 15:43:28 +0000 (16:43 +0100)]
iwmmxt.md (movv8qi_internal, [...]): Combine into mov<mode>_internal.
* config/arm/iwmmxt.md (movv8qi_internal, movv4hi_internal,
movv2si_internal): Combine into mov<mode>_internal.
(movv2si_internal_2): Remove.
From-SVN: r138844
Douglas Gregor [Thu, 7 Aug 2008 15:38:59 +0000 (15:38 +0000)]
semantics.c (finish_decltype_type): Handle calls to function pointers and references to functions properly.
2008-08-07 Douglas Gregor <doug.gregor@gmail.com>
* semantics.c (finish_decltype_type): Handle calls to function
pointers and references to functions properly.
2008-08-07 Douglas Gregor <doug.gregor@gmail.com>
* g++.dg/cpp0x/decltype12.C: New.
From-SVN: r138843
Stephen M. Webb [Thu, 7 Aug 2008 15:06:28 +0000 (15:06 +0000)]
* include/tr1_impl/regex (match_results): Add cbegin()/cend() per N2691 WD.
From-SVN: r138842
Jan Hubicka [Thu, 7 Aug 2008 14:55:32 +0000 (16:55 +0200)]
re PR target/37048 (Revision 138835 breaks bootstrap)
PR target/37048
* i386.md (single stringop patterns): Enable unconditionally.
From-SVN: r138841
Andrew Haley [Thu, 7 Aug 2008 14:19:15 +0000 (14:19 +0000)]
StackTrace2.java: Rewrite to prevent spurious failure when some methods are inlined.
2008-08-07 Andrew Haley <aph@redhat.com>
* testsuite/libjava.lang/StackTrace2.java: Rewrite to prevent
spurious failure when some methods are inlined.
From-SVN: r138840
H.J. Lu [Thu, 7 Aug 2008 13:16:23 +0000 (06:16 -0700)]
re PR target/36992 (Very stange code for _mm_move_epi64)
gcc/
2008-08-07 H.J. Lu <hongjiu.lu@intel.com>
PR target/36992
* config/i386/emmintrin.h (_mm_move_epi64): Use
__builtin_ia32_movq128.
* config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_MOVQ128.
(bdesc_args): Add IX86_BUILTIN_MOVQ128.
* config/i386/sse.md (sse2_movq128): New.
* doc/extend.texi: Document __builtin_ia32_movq128.
gcc/testsuite/
2008-08-07 H.J. Lu <hongjiu.lu@intel.com>
PR target/36992
* gcc.target/i386/pr36992-1.c: Scan movq.
* gcc.target/i386/pr36992-2.c: Use "-O2 -msse4" instead of
"-O0 -msse2". Scan movq.
From-SVN: r138839
Richard Guenther [Thu, 7 Aug 2008 10:01:48 +0000 (10:01 +0000)]
re PR middle-end/37042 (Strict-aliasing warnings are printed for _mm_load_si128, even though __m128i is __attribute__((__may_alias__)).)
2008-08-07 Richard Guenther <rguenther@suse.de>
PR middle-end/37042
* tree-ssa-alias-warnings.c (nonstandard_alias_p): Ref-all
pointers can access anything.
* gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c: New testcase.
From-SVN: r138837
Jan Hubicka [Thu, 7 Aug 2008 07:35:51 +0000 (09:35 +0200)]
optabs.c (emit_unop_insn): Break out to ...
* optabs.c (emit_unop_insn): Break out to ...
(maybe_emit_unop_insn): ... this one.
(expand_sfix_optab): Use maybe variant.
* optabs.h (maybe_emit_unop_insn): Declare.
* i386.md (mov0 patterns): Enable by default.
(FP conversion expanders): Disable expansion of code expanding
sequences when instruction should be optimized for size.
(single strinop patterns): Enable when optimizing for size.
(string expanders): Disable expanding of code expanding sequences
when optimizning instruction for size.
* i386.c (ix86_expand_vector_move_misalign): Do code size optimization
per BB basis.
(ix86_fp_comparison_sahf_cost): Likewise.
(ix86_expand_branch): Likewise.
(ix86_expand_ashl_const): Likewise.
(ix86_split_ashl): Likewise.
(ix86_expand_strlen): Likewise.
(ix86_emit_fp_unordered_jump): Likewie.
From-SVN: r138835
Andreas Krebbel [Thu, 7 Aug 2008 07:18:53 +0000 (07:18 +0000)]
20080806-1.c: Move testcase ...
2008-08-07 Andreas Krebbel <krebbel1@de.ibm.com>
* gcc.c-torture/compile/
20080806-1.c: Move testcase ...
* gcc.target/s390/
20080806-1.c: ... to here.
From-SVN: r138834
GCC Administrator [Thu, 7 Aug 2008 00:16:41 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r138832
Paolo Carlini [Wed, 6 Aug 2008 23:17:05 +0000 (23:17 +0000)]
acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for common values of EOF, SEEK_CUR, SEEK_END.
2008-08-06 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_CHECK_STDIO_MACROS]): New, checks for
common values of EOF, SEEK_CUR, SEEK_END.
* configure.ac: Use it.
* include/bits/ios_base.h: Likewise.
* include/bits/char_traits.h: Likewise.
* config/locale/gnu/ctype_members.cc: Include <cstdio>.
* config/locale/generic/ctype_members.cc: Likewise.
* testsuite/27_io/ios_base/cons/assign_neg.cc: Adjust dg-error lines.
* testsuite/27_io/ios_base/cons/copy_neg.cc: Likewise.
* configure: Regenerate.
* config.h.in: Likewise.
From-SVN: r138829
Douglas Gregor [Wed, 6 Aug 2008 19:08:12 +0000 (19:08 +0000)]
re PR c++/36460 (No space between >'s not always handled in C++0x)
2008-08-06 Douglas Gregor <doug.gregor@gmail.com>
PR c++/36460
* parser.c (cp_parser_template_argument): Don't assume that '>>'
following a type-id is an error when in C++0x mode.
2008-08-06 Douglas Gregor <doug.gregor@gmail.com>
PR c++/36460
* g++.dg/cpp0x/bracket3.C: Add another test case for the >>
warning under -Wc++0x-compat.
* g++.dg/cpp0x/bracket4.C: Add testcase for PR c++/36460.
From-SVN: r138819
Kaveh R. Ghazi [Wed, 6 Aug 2008 17:22:05 +0000 (17:22 +0000)]
matrix-reorg.c (compute_offset): Avoid C++ keywords.
* matrix-reorg.c (compute_offset): Avoid C++ keywords.
* c-common.c: Fix typo.
(c_common_reswords): Activate more C++ keyword warnings.
testsuite:
* gcc.dg/Wcxx-compat-2.c: Adjust test for more warnings.
From-SVN: r138817
Manuel López-Ibáñez [Wed, 6 Aug 2008 16:37:06 +0000 (16:37 +0000)]
re PR c++/26785 ("extra qualification" error gives line number of end of declaration)
2008-08-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 26785
* diagnostic.c (permerror_at): New.
* toplev.h (permerror_at): Declare.
cp/
* decl.c (grokdeclarator): Use explicit location with
permerror_at.
testsuite/
* g++.dg/warn/pr26785.C: New.
From-SVN: r138816
Victor Kaplansky [Wed, 6 Aug 2008 16:26:46 +0000 (16:26 +0000)]
tree-vect-transform.c (vect_model_simple_cost): Return immediately if stmt is pure SLP.
2008-08-06 Victor Kaplansky <victork@il.ibm.com>
Ira Rosen <irar@il.ibm.com>
* tree-vect-transform.c (vect_model_simple_cost): Return
immediately if stmt is pure SLP.
(vect_model_store_cost): Ditto.
(vect_model_load_cost): Ditto.
(vectorizable_store): Remove PURE_SLP check before call
to vect_model_store_cost.
(vect_model_store_cost): When checking whether stmt describe
strided access, add a check that it is not slp_node.
Testsute
* gcc.dg/vect/costmodel/ppc/costmodel-slp-34.c: New test.
Co-Authored-By: Ira Rosen <irar@il.ibm.com>
From-SVN: r138815
Manuel López-Ibáñez [Wed, 6 Aug 2008 16:17:41 +0000 (16:17 +0000)]
re PR c++/8715 ('~' operator for unsigned char and conversion to bool)
2008-08-06 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR 8715
* c-common.c (warn_for_sign_compare): New. Handle separately the
case that 'constant' is zero.
* c-typeck.c (build_binary_op): Move code to c-common.c
cp/
* typeck.c (cp_build_binary_op): Move code to c-common.c.
testsuite/
* gcc.dg/pr8715.c: New.
* g++.dg/warn/pr8715.C: New.
From-SVN: r138814
Kaveh R. Ghazi [Wed, 6 Aug 2008 16:12:51 +0000 (16:12 +0000)]
alpha.c (alpha_preferred_reload_class, [...]): Avoid C++ keywords.
* config/alpha/alpha.c (alpha_preferred_reload_class,
alpha_secondary_reload, alpha_emit_set_const_1, function_value,
alpha_output_mi_thunk_osf): Avoid C++ keywords.
* config/arm/arm.c (output_move_vfp, output_move_neon): Likewise.
* config/arm/arm.md: Likewise.
* config/avr/avr-protos.h (preferred_reload_class,
test_hard_reg_class, avr_simplify_comparison_p,
out_shift_with_cnt, class_max_nregs): Likewise.
* config/avr/avr.c (class_max_nregs, avr_simplify_comparison_p,
output_movqi, output_movhi, output_movsisf, out_shift_with_cnt,
preferred_reload_class, test_hard_reg_class): Likewise.
* config/bfin/bfin.c (legitimize_pic_address, hard_regno_mode_ok,
bfin_memory_move_cost, bfin_secondary_reload,
bfin_output_mi_thunk): Likewise.
* config/crx/crx.c (crx_secondary_reload_class,
crx_memory_move_cost): Likewise.
* config/frv/frv-protos.h (frv_secondary_reload_class,
frv_class_likely_spilled_p, frv_class_max_nregs): Likewise.
* config/frv/frv.c (frv_override_options, frv_alloc_temp_reg,
frv_secondary_reload_class, frv_class_likely_spilled_p,
frv_class_max_nregs): Likewise.
* config/h8300/h8300.c (h8300_classify_operand,
h8300_unary_length, h8300_bitfield_length, h8300_asm_insn_count):
Likewise.
* config/i386/winnt.c (i386_pe_declare_function_type): Likewise.
* config/ia64/ia64.c (ia64_preferred_reload_class,
ia64_secondary_reload_class, ia64_output_mi_thunk): Likewise.
* config/iq2000/iq2000.c (gen_int_relational): Likewise.
* config/m32c/m32c.c (class_can_hold_mode, m32c_output_compare):
Likewise.
* config/m68hc11/m68hc11.c (preferred_reload_class,
m68hc11_memory_move_cost): Likewise.
* config/mcore/mcore.c (mcore_secondary_reload_class,
mcore_reload_class): Likewise.
* config/mips/mips.c (mips_hard_regno_mode_ok_p,
mips_class_max_nregs, mips_cannot_change_mode_class,
mips_preferred_reload_class, mips_secondary_reload_class,
mips_output_mi_thunk): Likewise.
* config/mmix/mmix.c (mmix_preferred_reload_class,
mmix_preferred_output_reload_class, mmix_secondary_reload_class):
Likewise.
* config/mn10300/mn10300.c (mn10300_secondary_reload_class):
Likewise.
* config/pa/pa.c (pa_secondary_reload, pa_combine_instructions,
pa_can_combine_p, pa_cannot_change_mode_class): Likewise.
* config/pa/pa.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
* config/rs6000/rs6000.c (paired_expand_vector_init,
rs6000_secondary_reload_class, rs6000_output_mi_thunk,
compare_section_name, rs6000_memory_move_cost): Likewise.
* config/s390/s390.c (s390_emit_compare_and_swap,
s390_preferred_reload_class, s390_secondary_reload,
legitimize_pic_address, legitimize_tls_address,
legitimize_reload_address, s390_expand_cs_hqi, s390_expand_atomic,
s390_class_max_nregs): Likewise.
* config/s390/s390.h (LEGITIMIZE_RELOAD_ADDRESS): Likewise.
* config/s390/s390.md: Likewise.
* config/score/score-protos.h (score_secondary_reload_class,
score_preferred_reload_class): Likewise.
* config/score/score.c (score_preferred_reload_class,
score_secondary_reload_class): Likewise.
* config/score/score3.c (score3_output_mi_thunk,
score3_preferred_reload_class, score3_secondary_reload_class,
score3_hard_regno_mode_ok): Likewise.
* config/score/score3.h (score3_preferred_reload_class,
score3_secondary_reload_class): Likewise.
* config/score/score7.c (score7_output_mi_thunk,
score7_preferred_reload_class, score7_secondary_reload_class,
score7_hard_regno_mode_ok): Likewise.
* config/score/score7.h (score7_preferred_reload_class,
score7_secondary_reload_class): Likewise.
* config/sh/sh.c (prepare_move_operands, output_far_jump,
output_branchy_insn, add_constant, gen_block_redirect,
sh_insn_length_adjustment, sh_cannot_change_mode_class,
sh_output_mi_thunk, replace_n_hard_rtx, sh_secondary_reload):
Likewise.
* config/sparc/sparc.c (sparc_output_mi_thunk): Likewise.
* config/stormy16/stormy16.c (xstormy16_output_cbranch_hi,
xstormy16_output_cbranch_si, xstormy16_secondary_reload_class,
xstormy16_preferred_reload_class): Likewise.
* config/xtensa/xtensa.c (xtensa_expand_compare_and_swap,
xtensa_expand_atomic, override_options,
xtensa_preferred_reload_class, xtensa_secondary_reload_class):
Likewise.
* reorg.c (try_merge_delay_insns): Likewise.
* tree.c (merge_dllimport_decl_attributes): Likewise.
* config/frv/frv.c (frv_print_operand): Change isalpha to ISALPHA.
From-SVN: r138813
Michael Matz [Wed, 6 Aug 2008 16:10:22 +0000 (16:10 +0000)]
Makefile.in (write_entries_to_file): Quote words.
* Makefile.in (write_entries_to_file): Quote words.
* gengtype.c: (read_input_line): Skip over leading white-space.
From-SVN: r138812
Bob Wilson [Wed, 6 Aug 2008 16:03:03 +0000 (16:03 +0000)]
config.host: Match more processor names for Xtensa.
libgcc/
* config.host: Match more processor names for Xtensa.
From-SVN: r138811
Marc Gauthier [Wed, 6 Aug 2008 16:02:16 +0000 (16:02 +0000)]
config.gcc: Match more processor names for Xtensa.
2008-08-06 Marc Gauthier <marc@tensilica.com>
* config.gcc: Match more processor names for Xtensa.
* configure.ac: Likewise.
* doc/install.texi (Specific): Likewise.
* configure: Regenerate.
testsuite/
* lib/target-supports.exp (check_profiling_available): Match more
processor names for Xtensa.
* g++.old-deja/g++.jason/thunk3.C: Likewise.
* gcc.dg/intmax_t-1.c: Likewise.
* gcc.dg/sibcall-3.c: Likewise.
* gcc.dg/sibcall-4.c: Likewise.
* gcc.c-torture/compile/
20001226-1.c: Likewise.
From-SVN: r138810
Kaveh R. Ghazi [Wed, 6 Aug 2008 15:57:09 +0000 (15:57 +0000)]
builtins.c (expand_builtin_profile_func): Avoid C++ keywords.
* builtins.c (expand_builtin_profile_func): Avoid C++ keywords.
* calls.c (avoid_likely_spilled_reg): Likewise.
* cfgexpand.c (gimple_assign_rhs_to_tree): Likewise.
* cgraph.c (cgraph_clone_edge, cgraph_clone_node): Likewise.
* config/i386/i386.c (ix86_expand_special_args_builtin,
ix86_secondary_reload): Likewise.
* except.c (struct eh_region, gen_eh_region_catch,
remove_unreachable_regions, duplicate_eh_regions,
assign_filter_values, build_post_landing_pads,
sjlj_find_directly_reachable_regions, remove_eh_handler,
reachable_next_level, foreach_reachable_handler,
can_throw_internal_1, can_throw_external_1,
collect_one_action_chain): Likewise.
* expr.c (expand_expr_real_1, vector_mode_valid_p): Likewise.
* fold-const.c (twoval_comparison_p, eval_subst): Likewise.
* function.c (update_temp_slot_address, instantiate_new_reg,
instantiate_virtual_regs_in_rtx,
instantiate_virtual_regs_in_insn): Likewise.
* gimple.c (extract_ops_from_tree, gimple_seq_copy): Likewise.
* gimplify.c (gimplify_call_expr, gimplify_init_constructor,
gimplify_cleanup_point_expr): Likewise.
* ipa-cp.c (ipcp_lattice_changed): Likewise.
* passes.c (next_pass_1): Likewise.
* print-tree.c (print_node_brief, print_node): Likewise.
* profile.c (branch_prob): Likewise.
* tree-dump.c (dump_register): Likewise.
* tree-eh.c (replace_goto_queue_cond_clause, lower_catch):
Likewise.
* tree-inline.c (remap_ssa_name, remap_type_1, remap_blocks,
copy_statement_list, remap_gimple_op_r, copy_tree_body_r,
copy_edges_for_bb, copy_cfg_body, copy_tree_r,
copy_arguments_for_versioning, copy_static_chain): Likewise.
* tree-into-ssa.c (names_replaced_by, add_to_repl_tbl,
add_new_name_mapping, register_new_name_mapping): Likewise.
* tree-mudflap.c (mf_xform_derefs): Likewise.
* tree-predcom.c (struct chain, dump_chain, replace_ref_with,
get_init_expr, combine_chains): Likewise.
* tree-pretty-print.c (dump_generic_node): Likewise.
* tree-ssa-structalias.c (create_variable_info_for): Likewise.
* tree-vrp.c (simplify_cond_using_ranges): Likewise.
* tree.c (substitute_in_expr, iterative_hash_expr): Likewise.
* value-prof.c (gimple_duplicate_stmt_histograms): Likewise.
From-SVN: r138809
H.J. Lu [Wed, 6 Aug 2008 15:43:46 +0000 (15:43 +0000)]
re PR middle-end/37010 (-mno-accumulate-outgoing-args doesn't work with stack alignment)
gcc/
2008-08-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/37010
* calls.c (expand_call): Use the biggest preferred stack
boundary.
gcc/testsuite/
2008-08-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/37010
* gcc.dg/torture/stackalign/push-1.c: New.
From-SVN: r138808
Michael Matz [Wed, 6 Aug 2008 15:34:45 +0000 (15:34 +0000)]
re PR target/36613 (likely codegen bug)
PR target/36613
* reload.c (push_reload): Merge in,out,in_reg,out_reg members
for reused reload, instead of overwriting them.
* gcc.target/i386/pr36613.c: New testcase.
From-SVN: r138807
H.J. Lu [Wed, 6 Aug 2008 15:29:37 +0000 (08:29 -0700)]
re PR middle-end/37009 (No need to align stack when incoming stack is aligned)
gcc/
2008-08-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/37009
* cfgexpand.c (expand_stack_alignment): Check parm_stack_boundary
for incoming stack boundary.
* function.c (assign_parm_find_entry_rtl): Update
parm_stack_boundary.
* function.h (rtl_data): Add parm_stack_boundary.
* config/i386/i386.c (ix86_finalize_stack_realign_flags): Check
parm_stack_boundary for incoming stack boundary.
gcc/testsuite/
2008-08-06 H.J. Lu <hongjiu.lu@intel.com>
PR middle-end/37009
* gcc.dg/torture/stackalign/alloca-2.c: New.
* gcc.dg/torture/stackalign/alloca-3.c: Likewise.
* gcc.dg/torture/stackalign/alloca-4.c: Likewise.
* gcc.dg/torture/stackalign/vararg-3.c: Likewise.
* gcc.target/i386/incoming-1.c: Likewise.
* gcc.target/i386/incoming-2.c: Likewise.
* gcc.target/i386/incoming-3.c: Likewise.
* gcc.target/i386/incoming-4.c: Likewise.
* gcc.target/i386/incoming-5.c: Likewise.
From-SVN: r138806
Joseph Myers [Wed, 6 Aug 2008 15:20:14 +0000 (16:20 +0100)]
jump.c (rtx_renumbered_equal_p): Do not call subreg_regno_offset for unrepresentable subregs or treat them as...
* jump.c (rtx_renumbered_equal_p): Do not call subreg_regno_offset
for unrepresentable subregs or treat them as equal to other regs
or subregs with the same register number.
From-SVN: r138804
Samuel Tardieu [Wed, 6 Aug 2008 13:55:07 +0000 (13:55 +0000)]
Make-lang.in: Use GCC_FOR_TARGET when dealing with s-oscons-tmplt.i.
gcc/ada/
* gcc-interface/Make-lang.in: Use GCC_FOR_TARGET when dealing
with s-oscons-tmplt.i.
libada/
* Makefile.in: Pass FLAGS_TO_PASS to sub-make for target
oscons.
From-SVN: r138800
Samuel Tardieu [Wed, 6 Aug 2008 13:54:31 +0000 (13:54 +0000)]
Make-lang.in (OSCONS_CPPFLAGS): Remove.
gcc/ada/
* gcc-interface/Make-lang.in (OSCONS_CPPFLAGS): Remove.
From-SVN: r138799
Paolo Carlini [Wed, 6 Aug 2008 12:25:00 +0000 (12:25 +0000)]
acinclude.m4 ([GLIBCXX_CHECK_INT64_T]): Also check whether int64_t is actually a typedef to long or long long.
2008-08-06 Paolo Carlini <paolo.carlini@oracle.com>
* acinclude.m4 ([GLIBCXX_CHECK_INT64_T]): Also check whether int64_t
is actually a typedef to long or long long.
* include/bits/postypes.h: If int64_t is actually a typedef for
long or long long don't include <stdint.h> unnecessarily.
* configure: Regenerate.
* config.h.in: Likewise.
From-SVN: r138797
Aldy Hernandez [Wed, 6 Aug 2008 10:25:22 +0000 (10:25 +0000)]
re PR middle-end/35432 (ICE with zero-sized array)
PR middle-end/35432
* gimplify.c (gimplify_modify_expr): Do not optimize zero-sized types
if want_value.
testsuite/
* gcc.c-torture/compile/pr35432.c: New file.
From-SVN: r138793
Arnaud Charlet [Wed, 6 Aug 2008 10:08:09 +0000 (12:08 +0200)]
Makefile.in, [...]: Remove GNAT.Sockets.Constants.
2008-08-06 Thomas Quinot <quinot@adacore.com>
* gcc-interface/Makefile.in,
g-socthi-vxworks.adb, g-socthi-mingw.adb, g-sttsne-vxworks.adb,
g-socthi.adb, g-socket.adb, g-socket.ads, g-sothco.ads,
g-soccon-linux-x86.ads, g-soccon-vxworks.ads, g-soccon-mingw.ads,
g-soccon-hpux-ia64.ads, g-soccon-irix.ads, g-soccon-linux-64.ads,
g-soccon-aix.ads, g-soccon-solaris.ads, g-soccon-lynxos.ads,
g-soccon-vms.ads, g-soccon.ads, g-soccon-freebsd.ads,
g-soccon-linux-ppc.ads, g-soccon-tru64.ads, g-soccon-hpux.ads,
g-soccon-solaris-64.ads, gen-oscons.c, g-soccon-darwin.ads,
g-soccon-mingw-64.ads, g-soccon-linux-mips.ads, g-soccon-rtems.ads:
Remove GNAT.Sockets.Constants. This internal package is replaced by
System.OS_Constants.
From-SVN: r138792
Robert Dewar [Wed, 6 Aug 2008 10:03:52 +0000 (12:03 +0200)]
gnat_ugn.texi: Clarify -gnato documentation
2008-08-06 Robert Dewar <dewar@adacore.com>
* gnat_ugn.texi: Clarify -gnato documentation
From-SVN: r138791
Ed Schonberg [Wed, 6 Aug 2008 10:03:21 +0000 (12:03 +0200)]
sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse of incomplete type.
2008-08-06 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Component_Declaration): Protect against misuse
of incomplete type.
* sem_ch8.adb (Analyze_Object_Renaming): Diagnose properly a renaming
of a formal parameter of an incomplete type. Improve error message for
other improper uses of incomplete types.
From-SVN: r138790
Thomas Quinot [Wed, 6 Aug 2008 09:43:33 +0000 (09:43 +0000)]
Makefile.in: Now generate s-oscons-$(THREAD_KIND).
2008-08-06 Thomas Quinot <quinot@adacore.com>
* Makefile.in: Now generate s-oscons-$(THREAD_KIND).
From-SVN: r138789