Commit Graph

66477 Commits

Author SHA1 Message Date
Richard Henderson 2ed941ecd0 i386.c: Remove unnecessary function declarations.
* config/i386/i386.c: Remove unnecessary function declarations.
        Move targetm definition, and all related macros, to the end of
        the file.  Resort some functions to put definitions before uses.
        (ix86_attribute_table): Make static.  Move to end of file.
        (ix86_gimplify_va_arg): Make static.

From-SVN: r123159
2007-03-23 09:34:51 -07:00
Francois-Xavier Coudert 3c2e80433d re PR fortran/30834 (ICE with kind=8 exponentiaton)
PR fortran/30834

	* arith.c (complex_pow): Rewrite to handle large power.
	(gfc_arith_power): Handle large power in the real and integer
	cases.

	* gfortran.dg/integer_exponentiation_3.F90: New	test.
	* gfortran.dg/integer_exponentiation_4.f90: New test.
	* gfortran.dg/integer_exponentiation_5.F90: New test.

From-SVN: r123154
2007-03-23 07:00:56 +00:00
Mark Mitchell 03c17ccd92 cp-tree.h (current_tempalte_parms): Improve documentation.
* cp-tree.h (current_tempalte_parms): Improve documentation.
	* pt.c (current_template_args): Likewise.

From-SVN: r123153
2007-03-23 04:39:08 +00:00
Mark Mitchell 8b84995aa3 re PR c++/30863 (Unsigned templatized struct treated as unsigned int)
PR c++/30863
	* parser.c (cp_parser_parse_and_diagnose_invalid_type_name): Do
	not consume tokens when failing.
	PR c++/30863
	* g++.dg/template/error24.C: New test.
	* g++.dg/parse/tmpl-outside1.C: Tweak error markers.

From-SVN: r123152
2007-03-23 04:37:40 +00:00
Mark Mitchell 725d6b877d Mark Mitchell <mark@codesourcery.com> PR c++/31273
Mark Mitchell  <mark@codesourcery.com>
	PR c++/31273
	* call.c (standard_conversion): Use type_decays_to.  Keep FCODE
	consistent with FROM.
	PR c++/31273
	* g++.dg/expr/bitfield7.C: New test.

From-SVN: r123150
2007-03-23 04:31:21 +00:00
Gabriel Dos Reis 5a023baa1f error.c (dump_expr): Handle dependent names that designate types.
* error.c (dump_expr): Handle dependent names that designate types.
	* cxx-pretty-print.c (pp_cxx_unqualified_id): Handle TYPENAME_TYPE.

From-SVN: r123148
2007-03-23 02:58:46 +00:00
Richard Henderson ee2f65b4bf i386.c (ix86_function_regparm): Early exit for 64-bit...
* config/i386/i386.c (ix86_function_regparm): Early exit for 64-bit;
        don't increase local_regparm with force_align_arg_pointer check.
        (ix86_function_sseregparm): Assert 32-bit.
        (type_has_variadic_args_p): New.
        (ix86_return_pops_args): Early exit for 64-bit.  Reindent; use
        type_has_variadic_args_p.
        (ix86_function_arg_regno_p): Use == 0 instead of ! test for eax.
        (init_cumulative_args): Remove TARGET_DEBUG_ARG.  Remove zero_cum;
        use memset instead.  Do maybe_vaarg check first; skip attribute
        tests if true; skip attribute tests for 64-bit.
        (construct_container): Remove TARGET_DEBUG_ARG.
        (function_arg_advance_32, function_arg_advance_64): Split out ...
        (function_arg_advance): ... from here.
        (function_arg_32, function_arg_64): Split out ...
        (function_arg): ... from here.
        (ix86_pass_by_reference): Tidy.
        (ix86_function_value_regno_p): Rearrange w/ switch on regno.
        (function_value_32): New, from parts of ix86_function_value
        and ix86_value_regno.
        (function_value_64): New, from parts of ix86_function_value
        and ix86_libcall_value.
        (ix86_function_value_1): New.
        (ix86_function_value, ix86_libcall_value): Use it.
        (return_in_memory_32, return_in_memory_64): Split out ...
        (ix86_return_in_memory): ... from here. 
        (ix86_struct_value_rtx): Skip for 64-bit.
        (ix86_libcall_value, ix86_value_regno): Remove.
        (setup_incoming_varargs_64): Split out ...
        (ix86_setup_incoming_varargs): ... from here. 
        (ix86_va_start): Remove TARGET_DEBUG_ARG.
        (legitimate_address_p, legitimize_address): Remove TARGET_DEBUG_ADDR.
        * config/i386/i386-protos.h (ix86_function_value): Remove.
        * config/i386/i386.opt (TARGET_DEBUG_ADDR, TARGET_DEBUG_ARG): Remove.

From-SVN: r123146
2007-03-22 19:02:38 -07:00
GCC Administrator 424c579914 Daily bump.
From-SVN: r123142
2007-03-23 00:17:46 +00:00
Manuel López-Ibáñez 92ef5cf999 re PR other/23572 (No warning for assigning a value to a 'float' variable that overflows with option -Wextra)
2007-03-22  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR other/23572
	* c-lex.c (interpret_float): On overflow, emit pedantic warning if
	infinities not supported, otherwise emit warning if -Woverflow. On
	underflow, emit warning if -Woverflow.
	* real.c (real_from_string): Return -1 if underflow, +1 if overflow
	and 0 otherwise.
	* real.h (real_from_string): Update declaration
testsuite/
	* gcc.dg/float-range-4.c: New.
	* gcc.dg/float-range-1.c: Update. Test for a warning.
	* gcc.dg/float-range-3.c: New.
	* gcc.dg/float-range-5.c: New.

From-SVN: r123137
2007-03-22 23:04:24 +00:00
Francois-Xavier Coudert efa591c57e re PR fortran/31262 (-fno-range-check with large integer values triggers ICE)
PR fortran/31262

	* trans-const.c (gfc_conv_mpz_to_tree): Allow integer constants
	larger than twice the width of a HOST_WIDE_INT.

	* gfortran.dg/no_range_check_1.f90: New test.

From-SVN: r123136
2007-03-22 22:51:50 +00:00
Kai Tietz ac294f0bbc defaults.h (OUTGOING_REG_PARM_STACK_SPACE): Provide default.
* defaults.h (OUTGOING_REG_PARM_STACK_SPACE): Provide default.
        * calls.c (compute_argument_block_size, expand_call,
        emit_library_call_value_1): Don't ifdef OUTGOING_REG_PARM_STACK_SPACE.
        * expr.c (block_move_libcall_safe_for_call_parm): Likewise.
        * function.c (STACK_DYNAMIC_OFFSET): Likewise.
        * doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Update.
        * config/alpha/unicosmk.h, config/bfin/bfin.h, config/iq2000/iq2000.h,
        config/mips/mips.h, config/mn10300/mn10300.h, config/mt/mt.h,
        config/pa/pa.h, config/rs6000/rs6000.h, config/score/score.h,
        config/spu/spu.h, config/v850/v850.h (OUTGOING_REG_PARM_STACK_SPACE):
        Set to 1.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r123135
2007-03-22 14:33:45 -07:00
Joseph Myers 9a20062365 c-incpath.c (add_sysroot_to_chain): New.
* c-incpath.c (add_sysroot_to_chain): New.
	(merge_include_chains): Add sysroot argument.  Call
	add_sysroot_to_chain if sysrooted.
	(register_include_chains): Update call to merge_include_chains.
	* doc/cppopts.texi: Document use of '=' in include directory
	arguments.

From-SVN: r123134
2007-03-22 20:38:27 +00:00
Dirk Mueller dd4a64247f Fix typos in ChangeLog
From-SVN: r123133
2007-03-22 19:46:16 +00:00
Dirk Mueller 90a9a21691 warnings2.C: Don't use -pedantic.
2007-03-22  Dirk Mueller  <dmueller@suse.de>

        * g++.old-deja/g++.brendan/warnings2.C: Don't use -pedantic.
        * g++.dg/other/static1.C: Remove stray semicolon.
        * g++.dg/other/init1.C: Likewise.
        * g++.dg/rtti/dyncast1.C: Likewise.
        * g++.dg/tree-ssa/pr17153.C: Likewise.
        * g++.dg/lookup/disamb1.C: Likewise.
        * g++.dg/lookup/scoped2.C: Likewise.
        * g++.dg/lookup/friend7.C: Likewise.
        * g++.dg/parse/parse4.C: Likewise.
        * g++.dg/parse/parse5.C: Likewise.
        * g++.dg/expr/pr29066.C: Likewise.
        * g++.dg/expr/cast4.C: Likewise.
        * g++.dg/tc1/dr193.C: Likewise.
        * g++.dg/tc1/dr213.C: Likewise.
        * g++.dg/abi/dcast1.C: Likewise.
        * g++.dg/abi/covariant2.C: Likewise.
        * g++.dg/inherit/covariant11.C: Likewise.
        * g++.dg/inherit/covariant9.C: Likewise.
        * g++.dg/inherit/covariant10.C: Likewise.
        * g++.dg/init/static3.C: Likewise.
        * g++.dg/init/init-ref3.C: Likewise.
        * g++.dg/init/ref10.C: Likewise.
        * g++.dg/template/meminit2.C: Likewise.
        * g++.dg/template/using9.C: Likewise.
        * g++.dg/template/friend9.C: Likewise.
        * g++.dg/template/ref1.C: Likewise.
        * g++.old-deja/g++.warn/inline.C: Likewise.
        * g++.old-deja/g++.robertl/eb91.C: Likewise.
        * g++.old-deja/g++.robertl/eb46.C: Likewise.
        * g++.old-deja/g++.robertl/eb34.C: Likewise.
        * g++.old-deja/g++.robertl/eb43.C: Likewise.
        * g++.old-deja/g++.robertl/eb26.C: Likewise.
        * g++.old-deja/g++.robertl/eb116.C: Likewise.
        * g++.old-deja/g++.brendan/copy5.C: Likewise.
        * g++.old-deja/g++.brendan/overload8.C: Likewise.
        * g++.old-deja/g++.brendan/overload11.C: Likewise.
        * g++.old-deja/g++.brendan/copy7.C: Likewise.
        * g++.old-deja/g++.brendan/crash38.C: Likewise.
        * g++.old-deja/g++.brendan/template11.C: Likewise.
        * g++.old-deja/g++.brendan/err-msg3.C: Likewise.
        * g++.old-deja/g++.brendan/crash50.C: Likewise.
        * g++.old-deja/g++.brendan/crash16.C: Likewise.
        * g++.old-deja/g++.jason/pmem2.C: Likewise.
        * g++.old-deja/g++.jason/parse9.C: Likewise.
        * g++.old-deja/g++.jason/byval2.C: Likewise.
        * g++.old-deja/g++.jason/overload8.C: Likewise.
        * g++.old-deja/g++.jason/pmf8.C: Likewise.
        * g++.old-deja/g++.jason/template33.C: Likewise.
        * g++.old-deja/g++.jason/return3.C: Likewise.
        * g++.old-deja/g++.jason/scoping2.C: Likewise.
        * g++.old-deja/g++.jason/virtual.C: Likewise.
        * g++.old-deja/g++.jason/opeq3.C: Likewise.
        * g++.old-deja/g++.jason/template27.C: Likewise.
        * g++.old-deja/g++.jason/synth6.C: Likewise.
        * g++.old-deja/g++.jason/ref8.C: Likewise.
        * g++.old-deja/g++.jason/offset1.C: Likewise.
        * g++.old-deja/g++.other/static20.C: Likewise.
        * g++.old-deja/g++.other/array1.C: Likewise.
        * g++.old-deja/g++.other/new3.C: Likewise.
        * g++.old-deja/g++.other/array2.C: Likewise.
        * g++.old-deja/g++.other/overload9.C: Likewise.
        * g++.old-deja/g++.other/cast6.C: Likewise.
        * g++.old-deja/g++.other/ptrmem8.C: Likewise.
        * g++.old-deja/g++.other/eh4.C: Likewise.
        * g++.old-deja/g++.other/using7.C: Likewise.
        * g++.old-deja/g++.other/init18.C: Likewise.
        * g++.old-deja/g++.other/dyncast1.C: Likewise.
        * g++.old-deja/g++.other/dyncast2.C: Likewise.
        * g++.old-deja/g++.other/dtor11.C: Likewise.
        * g++.old-deja/g++.pt/static11.C: Likewise.
        * g++.old-deja/g++.pt/crash19.C: Likewise.
        * g++.old-deja/g++.pt/overload12.C: Likewise.
        * g++.old-deja/g++.pt/crash46.C: Likewise.
        * g++.old-deja/g++.pt/mi1.C: Likewise.
        * g++.old-deja/g++.pt/vaarg3.C: Likewise.
        * g++.old-deja/g++.pt/nontype5.C: Likewise.
        * g++.old-deja/g++.pt/local5.C: Likewise.
        * g++.old-deja/g++.pt/typename2.C: Likewise.
        * g++.old-deja/g++.pt/explicit80.C: Likewise.
        * g++.old-deja/g++.pt/auto_ptr.C: Likewise.
        * g++.old-deja/g++.law/visibility1.C: Likewise.
        * g++.old-deja/g++.law/visibility2.C: Likewise.
        * g++.old-deja/g++.law/virtual2.C: Likewise.
        * g++.old-deja/g++.law/operators19.C: Likewise.
        * g++.old-deja/g++.law/parsing10.C: Likewise.
        * g++.old-deja/g++.law/visibility4.C: Likewise.
        * g++.old-deja/g++.law/operators4.C: Likewise.
        * g++.old-deja/g++.law/dtors2.C: Likewise.
        * g++.old-deja/g++.law/missed-error3.C: Likewise.
        * g++.old-deja/g++.law/visibility10.C: Likewise.
        * g++.old-deja/g++.law/scope3.C: Likewise.
        * g++.old-deja/g++.law/casts2.C: Likewise.
        * g++.old-deja/g++.law/code-gen5.C: Likewise.
        * g++.old-deja/g++.law/operators33.C: Likewise.
        * g++.old-deja/g++.law/friend4.C: Likewise.
        * g++.old-deja/g++.mike/pmf7.C: Likewise.
        * g++.old-deja/g++.mike/p5611.C: Likewise.
        * g++.old-deja/g++.mike/net37.C: Likewise.
        * g++.old-deja/g++.mike/p3570.C: Likewise.
        * g++.old-deja/g++.mike/p5718.C: Likewise.
        * g++.old-deja/g++.mike/net21.C: Likewise.
        * g++.old-deja/g++.mike/p1862.C: Likewise.
        * g++.old-deja/g++.mike/p4511.C: Likewise.
        * g++.old-deja/g++.mike/virt3.C: Likewise.
        * g++.old-deja/g++.mike/p16146.C: Likewise.
        * g++.old-deja/g++.mike/p1989.C: Likewise.
        * g++.old-deja/g++.mike/p5571.C: Likewise.
        * g++.old-deja/g++.gb/scope10.C: Likewise.
        * g++.old-deja/g++.abi/primary5.C: Likewise.
        * g++.old-deja/g++.abi/empty2.C: Likewise.
        * g++.old-deja/g++.abi/arraynew.C: Likewise.
        * g++.old-deja/g++.eh/vbase4.C: Likewise.
        * g++.old-deja/g++.eh/ptr1.C: Likewise.
        * g++.old-deja/g++.eh/cleanup1.C: Likewise.
        * g++.old-deja/g++.bob/template3.C: Likewise.
        * g++.old-deja/g++.bob/inherit1.C: Likewise.

From-SVN: r123132
2007-03-22 19:44:09 +00:00
Paul Thomas 1efd1a2f43 re PR fortran/31193 ([4.2 only] ICE on non-constant character tranfert)
2006-03-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31193
	* trans-intrinsic.c (gfc_size_in_bytes): Remove function.
	(gfc_conv_intrinsic_array_transfer): Remove calls to previous.
	Explicitly extract TREE_TYPEs for source and mold.  Use these
	to calculate length of source and mold, except for characters,
	where the se string_length is used.  For mold, the TREE_TYPE is
	recalculated using gfc_get_character_type_len so that the
	result is correctly cast for character literals and substrings.
	Do not use gfc_typenode_for_spec for the final cast.

2006-03-22  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31193
	* gfortran.dg/transfer_array_intrinsic_3.f90: New test.

From-SVN: r123131
2007-03-22 18:37:16 +00:00
Tobias Schlüter 1e863adf83 re PR fortran/20897 (derived type name shall not be same as intrinsic type name)
PR fortran/20897
fortran/
* decl.c (gfc_match_derived_decl): Reliably reject
'doubleprecision' and 'doublecomplex' as type names.
testsuite/
* gfortran.dg/derived_name_1.f90: New.
* gfortran.dg/derived_name_2.f: New.

From-SVN: r123129
2007-03-22 16:37:25 +01:00
Uros Bizjak 8766652c6e i386.md (cmp<mode>): Rename from cmpsf and cmpdf.
* config/i386/i386.md (cmp<mode>): Rename from cmpsf and cmpdf.
	Macroize expander using SSEMODEF mode macro.  Use SSE_FLOAT_MODE_P.
	(*cmpfp_<mode>): Rename from *cmpfp_sf and *cmpfp_df. Macroize
	insn pattern using X87MODEF12 mode macro.

From-SVN: r123128
2007-03-22 15:59:10 +01:00
Seongbae Park 1e4c6dc5b9 regmove.c (regmove_optimize): Use reg_mentioned_p instead of reg_overlap_mentioned_p for DST.
2007-03-21  Seongbae Park <seongbae.park@gmail.com>

	* regmove.c (regmove_optimize): Use reg_mentioned_p
	instead of reg_overlap_mentioned_p for DST.

From-SVN: r123124
2007-03-22 06:18:33 +00:00
GCC Administrator 924641d340 Daily bump.
From-SVN: r123122
2007-03-22 00:17:55 +00:00
Mike Stump 2cbac420ea * c.opt: Fixup for Objective-C/C++.
From-SVN: r123114
2007-03-21 18:45:40 +00:00
Steve Ellcey 17939c986e explow.c (convert_memory_address): Fold memory reference when POINTERS_EXTEND_UNSIGNED < 0
* explow.c (convert_memory_address): Fold memory reference when
	POINTERS_EXTEND_UNSIGNED < 0

From-SVN: r123113
2007-03-21 16:02:32 +00:00
Richard Henderson b5cf27d7ec re PR target/31245 (SSE2 generation bug with 4.1.2 and -O3)
PR target/31245
        * config/i386/emmintrin.h (__m128i, __m128d): Mark may_alias.
        * config/i386/mmintrin.h (__m64): Likewise.
        * config/i386/xmmintrin.h (__m128): Likewise.

From-SVN: r123112
2007-03-21 08:52:23 -07:00
Richard Sandiford cb717c4098 vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options.
gcc/
	* config/vxworks.h (VXWORKS_ADDITIONAL_CPP_SPEC): Remove -D options.
	(VXWORKS_OS_CPP_BUILTINS): Define.
	* config/i386/vxworks.h (VXWORKS_CPU_DEFINE): Fold into...
	(TARGET_OS_CPP_BUILTINS): ...here.  Use VXWORKS_OS_CPP_BUILTINS.

From-SVN: r123108
2007-03-21 12:21:33 +00:00
Richard Sandiford 39a39c8504 target-supports.exp (check_effective_target_nonpic): New procedure.
gcc/testsuite/
	* lib/target-supports.exp (check_effective_target_nonpic): New
	procedure.
	* gcc.target/i386/20020616-1.c: Use an alternative to %ebx
	when compiling PIC.
	* gcc.target/i386/asm-4.c: Require nonpic.
	* gcc.target/i386/cmov1.c: Likewise.
	* gcc.target/i386/mul.c: Likewise.
	* gcc.target/i386/pr21291.c: Require nonpic or ! ilp32.
	* gcc.target/i386/ssetype-1.c: Require nonpic.
	* gcc.target/i386/ssetype-3.c: Likewise.
	* gcc.target/i386/ssetype-5.c: Likewise.

From-SVN: r123107
2007-03-21 09:11:25 +00:00
Richard Sandiford 2a45063980 rtl.h (constant_pool_reference_p): Delete.
gcc/
	* rtl.h (constant_pool_reference_p): Delete.
	(find_constant_src): Declare.
	* rtlanal.c (find_constant_src): New function.
	* simplify-rtx.c (constant_pool_reference_p): Delete.
	* config/i386/i386.md: Use find_constant_src instead of
	constant_pool_reference_p/avoid_constant_pool_reference pairs.

From-SVN: r123106
2007-03-21 09:10:08 +00:00
Richard Sandiford fe24cc36d5 chk.h (LOCAL): Define.
gcc/testsuite/
	* gcc.c-torture/execute/builtins/chk.h (LOCAL): Define.
	* gcc.c-torture/execute/builtins/sprintf-chk.c (s1): Make LOCAL.
	* gcc.c-torture/execute/builtins/stpcpy-chk.c (s1): Likewise.
	* gcc.c-torture/execute/builtins/strcpy-chk.c (s1): Likewise.

From-SVN: r123105
2007-03-21 09:08:04 +00:00
Richard Sandiford 7c0ffd09f8 invoke.texi (-fpie, -fPIE): Document __pie__ and __PIE__.
gcc/
	* doc/invoke.texi (-fpie, -fPIE): Document __pie__ and __PIE__.
	* c-cppbuiltin.c (c_cpp_builtins): Define them.

From-SVN: r123104
2007-03-21 09:07:19 +00:00
Mark Mitchell 9f2966203f elf.h (TARGET_ASM_DESTRUCTOR): Define.
* config/arm/elf.h (TARGET_ASM_DESTRUCTOR): Define.
	* config/arm/arm.c (arm_elf_asm_cdtor): New function.
	(arm_elf_asm_constructor): Use it.
	(arm_elf_asm_destructor): New function.

From-SVN: r123103
2007-03-21 05:21:31 +00:00
GCC Administrator 22d33984e2 Daily bump.
From-SVN: r123100
2007-03-21 00:18:38 +00:00
Bernd Schmidt 5dab4eb703 jump.c (mark_jump_label): Treat SEQUENCE specially.
* jump.c (mark_jump_label): Treat SEQUENCE specially.

From-SVN: r123096
2007-03-20 23:43:33 +00:00
Seongbae Park 77eb595076 re PR tree-optimization/30590 (tree-nrv optimization clobbers return variable)
2007-03-19  Seongbae Park <seongbae.park@gmail.com>

	PR tree-optimization/30590
	* g++.dg/opt/pr30590.C: New testcase.

From-SVN: r123087
2007-03-20 15:42:37 +00:00
Nathan Sidwell caaf5345bb * config/vxlib.c (tls_delete_hook): Use TCB for kernel tasks.
From-SVN: r123086
2007-03-20 14:13:30 +00:00
Andrew Haley 2b31200511 [multiple changes]
2007-03-19  Andrew Haley  <aph@redhat.com>

        PR tree-optimization/31264
        * tree-vrp.c (register_edge_assert_for_1): Don't look though
        VIEW_CONVERT_EXPRs.

2007-03-20  Andrew Haley  <aph@redhat.com>

        * testsuite/libjava.lang/PR31264.java: New test.

From-SVN: r123085
2007-03-20 12:45:19 +00:00
Paolo Bonzini fb4061627b re PR middle-end/30907 (Propagation of addresses within loops pessimizes code)
2007-03-19  Paolo Bonzini  <bonzini@gnu.org>

	PR rtl-optimization/30907
	* fwprop.c (forward_propagate_into): Never propagate inside a loop.
	(fwprop_init): Always call loop_optimizer_initialize.
	(fwprop_done): Always call loop_optimizer_finalize.
	(fwprop): We always have loop info now.
	(gate_fwprop_addr): Remove.
	(pass_fwprop_addr): Use gate_fwprop as gate.

	PR rtl-optimization/30841
	* df-problems.c (df_ru_local_compute, df_rd_local_compute,
	df_chain_alloc): Call df_reorganize_refs unconditionally.
	* df-scan.c (df_rescan_blocks, df_reorganize_refs): Change
	refs_organized to refs_organized_size.
	(df_ref_create_structure): Use refs_organized_size instead of
	bitmap_size if refs had been organized, and keep refs_organized_size
	up-to-date.
	* df.h (struct df_ref_info): Change refs_organized to
	refs_organized_size.
	(DF_DEFS_SIZE, DF_USES_SIZE): Use refs_organized_size instead of
	bitmap_size.

From-SVN: r123084
2007-03-20 08:31:13 +00:00
Mark Mitchell 0a85ec2e8c except.c (output_function_exception_table): Do not reference the EH personality routine for functions that do not require...
* except.c (output_function_exception_table): Do not reference the
	EH personality routine for functions that do not require an
	exception table.

From-SVN: r123082
2007-03-20 03:16:25 +00:00
GCC Administrator 28b5215e93 Daily bump.
From-SVN: r123080
2007-03-20 00:17:48 +00:00
Jakub Jelinek 79077aea85 re PR c/30762 (IMA messes up with inlining)
PR c/30762
	* c-typeck.c (convert_for_assignment): Call comptypes for
	RECORD_TYPE or UNION_TYPE.

	* gcc.dg/pr30762-1.c: New test.
	* gcc.dg/pr30762-2.c: New test.

From-SVN: r123073
2007-03-20 00:26:14 +01:00
Jakub Jelinek 5d8a54345a re PR inline-asm/30505 (asm operand has impossible constraints.)
PR inline-asm/30505
	* reload1.c (reload): Do invalid ASM checking after
	cleanup_subreg_operands.

	* gcc.target/i386/pr30505.c: New test.

From-SVN: r123072
2007-03-20 00:24:43 +01:00
Mark Shinwell 3eabae3bbb register-variables.c: New.
gcc/testsuite/
	* gcc.target/arm/register-variables.c: New.

From-SVN: r123071
2007-03-19 21:00:14 +00:00
Jeff Law 1799efef2c re PR tree-optimization/30984 (ICE with computed goto and constants)
* tree-cfg.c (find_taken_edge): Tighten conditions for
        optimizing computed gotos.

        * PR tree-optimization/30984
        * gcc.c-torture/pr30984.c: New test.

From-SVN: r123067
2007-03-19 13:52:19 -06:00
Michael Matz 1e395249a9 builtins.c (expand_builtin_sync_operation, [...]): Care for extending CONST_INTs correctly.
* builtins.c (expand_builtin_sync_operation,
        expand_builtin_compare_and_swap,
        expand_builtin_lock_test_and_set): Care for extending CONST_INTs
        correctly.

        * config/i386/sync.md (sync_double_compare_and_swapdi_pic,
        sync_double_compare_and_swap_ccdi_pic): Use "SD" as constraint
        for operand 3.

From-SVN: r123064
2007-03-19 17:07:29 +00:00
Andreas Krebbel 17f6dbbf4e tm.texi: Add brackets around the return type of TARGET_SECONDARY_RELOAD.
2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* doc/tm.texi: Add brackets around the return type of
	TARGET_SECONDARY_RELOAD.

From-SVN: r123062
2007-03-19 15:17:55 +00:00
Andrew Pinski 60e0af9418 re PR tree-optimization/31254 (verify_ssa failed: type mismatch between an SSA_NAME and its symbol)
2007-03-19  Andrew Pinski  <andrew_pinski@playstation.sony.com>
	Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/31254
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1):
	Use handled_component_p () where appropriate.  Continue
	propagating into the rhs if we propagated into an INDIRECT_REF
	on the lhs.

	* gcc.dg/torture/pr31254.c: New testcase.

Co-Authored-By: Richard Guenther <rguenther@suse.de>

From-SVN: r123060
2007-03-19 13:36:29 +00:00
Hans-Peter Nilsson 3d16fe64c5 pr26565.c: Expect warning on packed field for target default_packed.
* gcc.dg/torture/pr26565.c: Expect warning on packed field for
	target default_packed.

From-SVN: r123059
2007-03-19 12:06:14 +00:00
Andreas Krebbel 609e7e8092 s390.md (op_type attribute): RRR instruction type added.
2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md (op_type attribute): RRR instruction type added.
	(FP, DFP, SD_SF, DD_DF, TD_TF): New mode macros.
	(xde, xdee): Mode attributes adjusted to support DFP modes.
	(RRer, f0, op1, Rf, bt, bfp, HALF_TMODE): New mode attributes added.
	("cmp<mode>", "*cmp<mode>_css_0", "*cmp<mode>_ccs", TF move splitters,
	DF move splitters, "floatdi<mode>2", "add<mode>3", "*add<mode>3", 
	"*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3", "*sub<mode>3",
	"*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3", "*mul<mode>3",
	"div<mode>3", "*div<mode>3", "*neg<mode>2_nocc", "*abs<mode>2_nocc",
	"*negabs<mode>2_nocc", "copysign<mode>3"): Adjusted to support DFP 
	numbers.
	("*movtf_64", "*movtf_31", "*movdf_64dfp", "*movdf_64", "*movdf_31",
	"movsf"): Insn definitions removed.
	("*mov<mode>_64", "*mov<mode>_31", "mov<mode>", "*mov<mode>_64dfp",
	"*mov<mode>_64", "*mov<mode>_31", "fix_trunc<DFP:mode>di2",
	"trunctddd2", "truncddsd2", "extendddtd2", "extendsddd2"): Insn
	definitions added.
	("fixuns_truncdddi2", "fixuns_trunctddi2", "mov<mode>",
	"reload_in<mode>", "reload_out<mode>"): Expander added.
	("movtf", "movdf", "reload_outtf", "reload_outdf", "reload_intf"):
	Expander removed.

From-SVN: r123058
2007-03-19 08:51:20 +00:00
Andreas Krebbel 7b6baae190 s390.md: Only non-functional changes.
2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md: Only non-functional changes.  Renamed
	FPR mode macro to BFP all over the file.

From-SVN: r123057
2007-03-19 08:49:53 +00:00
Andreas Krebbel 85dae55a9a s390.md (UNSPEC_COPYSIGN): New constant.
2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md (UNSPEC_COPYSIGN): New constant.
	(op_type attribute): RRF instruction type added.
	(fT0): New mode attribute.
	("*movdi_64dfp", "*movdf_64dfp", "*neg<mode>2_nocc", "*abs<mode>2_nocc",
	"*negabs<mode>2_nocc", "copysign<mode>3"): Insn definitions added.
	* config/s390/s390.h (SECONDARY_MEMORY_NEEDED): Due to a new instruction
	no secondary memory is needed when moving DFmode values between GPRs
	and FPRs.

From-SVN: r123056
2007-03-19 08:48:36 +00:00
Andreas Krebbel 3443392a8a s390.opt ("mhard-float", [...]): Bit value inverted and documentation adjusted.
2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.opt ("mhard-float", "msoft-float"): Bit value
	inverted and documentation adjusted.
	("mhard-dfp", "msoft-dfp"): New options.
	* config/s390/s390.c (s390_handle_arch_option): New architecture
	switch: z9-ec.
	(override_options): Sanity checks for the new options added.
	* config.gcc: New architecture switch: z9-ec.
	* config/s390/s390.h (processor_flags): PF_DFP added.
	(TARGET_CPU_DFP, TARGET_DFP): Macro definitions added.
	(TARGET_DEFAULT): Due to the s390.opt changes hard float is enabled
	when the bit is NOT set so remove it from the defaults.

From-SVN: r123055
2007-03-19 08:46:57 +00:00
Andreas Krebbel c413e1b5be genemit.c (main): Print include statement for dfp.h.
2007-03-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* genemit.c (main): Print include statement for dfp.h.
	* dfp.h (decimal_real_arithmetic): Hide prototype if tree_code enum
	is not available.

From-SVN: r123054
2007-03-19 08:45:29 +00:00
Hans-Peter Nilsson 1375006a87 * config/cris/t-elfmulti (EXTRA_MULTILIB_PARTS): Do not define here.
From-SVN: r123053
2007-03-19 08:29:43 +00:00