Commit Graph

89070 Commits

Author SHA1 Message Date
Joel Sherrill
269b85b723 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
2008-08-11 17:04:07 +00:00
Paolo Carlini
dd79750c58 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
2008-08-11 15:08:20 +00:00
Michael Matz
7edfb08347 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
2008-08-11 12:15:37 +00:00
Jakub Jelinek
6f21ff3ed8 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
2008-08-11 12:23:08 +02:00
Andreas Krebbel
b193cb6b8d 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
2008-08-11 06:55:39 +00:00
GCC Administrator
3824dd584c Daily bump.
From-SVN: r138939
2008-08-11 00:16:51 +00:00
David Edelsohn
f3e240e213 Fix typo in "Software".
From-SVN: r138936
2008-08-10 19:37:04 -04:00
Samuel Tardieu
abcbd24cb9 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
2008-08-10 20:13:24 +00:00
Manuel López-Ibáñez
de9a4397e9 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
2008-08-10 18:46:10 +00:00
Manuel López-Ibáñez
21c9aaf983 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
2008-08-10 18:32:52 +00:00
Paolo Carlini
77d4510875 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
2008-08-10 10:11:46 +00:00
Andrew Pinski
d47c3b4eb1 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
2008-08-09 21:54:37 -07:00
GCC Administrator
34c66dafcf Daily bump.
From-SVN: r138921
2008-08-10 00:16:36 +00:00
Joseph Myers
b1266ca128 * sv.po: Update.
From-SVN: r138917
2008-08-10 00:30:44 +01:00
Jan Hubicka
5e04ef8f80 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
2008-08-09 14:47:28 -07:00
Anatoly Sokolov
708fa3b5df 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
2008-08-09 23:58:25 +04:00
Jerry DeLisle
10347b0b8c 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
2008-08-09 19:17:24 +00:00
Richard Sandiford
08d0963a0e 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
2008-08-09 19:08:15 +00:00
Richard Sandiford
7462a71535 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
2008-08-09 18:21:50 +00:00
Richard Sandiford
579725054c 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
2008-08-09 18:19:32 +00:00
Richard Sandiford
e538e028ec 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
2008-08-09 18:11:19 +00:00
Richard Sandiford
b2b6160771 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
2008-08-09 18:10:18 +00:00
Richard Guenther
7c9577becf 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
2008-08-09 17:28:39 +00:00
Paolo Carlini
6cccc20014 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
2008-08-09 15:58:52 +00:00
Paolo Carlini
a031f958a6 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
2008-08-09 15:02:30 +00:00
Manuel López-Ibáñez
ca085fd7b7 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
2008-08-09 12:37:32 +00:00
Manuel López-Ibáñez
98e48a7f11 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
2008-08-09 09:37:57 +00:00
Manuel López-Ibáñez
b13e752fd5 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
2008-08-09 00:30:41 +00:00
GCC Administrator
97679e5f65 Daily bump.
From-SVN: r138896
2008-08-09 00:16:37 +00:00
Manuel López-Ibáñez
71205d170c 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
2008-08-08 23:57:19 +00:00
Manuel López-Ibáñez
c73d5dd948 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
2008-08-08 23:32:23 +00:00
Paul Thomas
63a3341a9d 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
2008-08-08 23:22:51 +00:00
Manuel López-Ibáñez
e73f7547c5 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
2008-08-08 23:15:31 +00:00
Peter Bergner
d40c9e3333 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
2008-08-08 21:40:18 +00:00
Volker Reichelt
76871f0f31 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
2008-08-08 21:17:54 +00:00
Dorit Nuzman
7910ae0cde 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
2008-08-08 19:00:36 +00:00
Daniel Kraft
f6fad28ea1 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
2008-08-08 20:19:46 +02:00
Richard Guenther
174ef36d72 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
2008-08-08 15:01:05 +00:00
Ed Schonberg
70d904ca8e 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
2008-08-08 15:09:37 +02:00
Thomas Quinot
cfb535550f 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
2008-08-08 15:03:37 +02:00
Arnaud Charlet
a3ea913742 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
2008-08-08 15:00:00 +02:00
Robert Dewar
e8c4584bd7 s-strxdr.adb: Minor reformatting
2008-08-08  Robert Dewar  <dewar@adacore.com>

	* s-strxdr.adb: Minor reformatting

From-SVN: r138878
2008-08-08 14:59:38 +02:00
Thomas Quinot
62b7afe926 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
2008-08-08 14:59:28 +02:00
Thomas Quinot
d65251b83d 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
2008-08-08 14:59:14 +02:00
Thomas Quinot
79a776a8ef s-osinte-freebsd.ads: Minor reformatting
2008-08-08  Thomas Quinot  <quinot@adacore.com>

	* s-osinte-freebsd.ads: Minor reformatting

From-SVN: r138875
2008-08-08 14:58:46 +02:00
Thomas Quinot
9fd03ecdc2 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
2008-08-08 14:58:36 +02:00
Thomas Quinot
35e546dc65 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
2008-08-08 14:37:51 +02:00
Thomas Quinot
12d1a0dc95 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
2008-08-08 14:23:48 +02:00
Thomas Quinot
15d2e2d47e 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
2008-08-08 14:23:28 +02:00
Arnaud Charlet
51e4c4b9dc 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
2008-08-08 14:22:51 +02:00