Commit Graph

80291 Commits

Author SHA1 Message Date
Mike Stump
a35fc190fb stubify-1.mm: Only run on powerpc.
* obj-c++.dg/stubify-1.mm: Only run on powerpc.
	* obj-c++.dg/template-4.mm: Don't run when 64-bit.

From-SVN: r123798
2007-04-13 20:43:22 +00:00
Bob Wilson
ec3643e8c4 * config/xtensa/xtensa.c (xtensa_expand_builtin): Use CALL_EXPR_FN.
From-SVN: r123797
2007-04-13 20:35:50 +00:00
Joseph Myers
6253b7603b re PR tree-optimization/29598 (FAIL: gcc.dg/tree-ssa/loadpre1.c and loadpre1[45].c scan-tree-dump-times Eliminated: 1 1)
PR tree-optimization/29598
	* gcc.dg/tree-ssa/loadpre1.c: XFAIL.

From-SVN: r123794
2007-04-13 20:46:37 +01:00
Tobias Burnus
1f8e994ce9 re PR fortran/31559 ([4.1 only] Assigning to an EXTERNAL leads to ICE)
2007-04-13  Tobias Burnus  <burnus@net-b.de>

	PR fortran/31559
	* primary.c (match_variable): External functions
	are no variables.

2007-04-13  Tobias Burnus  <burnus@net-b.de>

	PR fortran/31559
	* gfortran.dg/func_assign.f90: New test.

From-SVN: r123793
2007-04-13 20:34:36 +02:00
Mike Stump
c40ce8f320 darwin-c.c (handle_c_option): Handle -fapple-kext here so we can...
* config/darwin-c.c (handle_c_option): Handle -fapple-kext here so
	we can...
	* config/darwin.opt (fapple-kext): Make C++ only.
	* config/darwin.c (darwin_override_options): Remove code to ensure
	-fapple-kext is given for C++ only.

From-SVN: r123792
2007-04-13 17:29:27 +00:00
Paul Thomas
d6a7a3be74 re PR fortran/31550 (f951: segfault in fold-const.c:1963)
2007-04-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31550
	* trans-types.c (copy_dt_decls_ifequal): Do not get pointer
	derived type components.

2007-04-13  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/31550
	* gfortran.dg/used_types_16.f90: New test.

From-SVN: r123791
2007-04-13 16:01:36 +00:00
Tobias Schlüter
0615f92345 re PR fortran/18937 (quadratic behaviour with many label "spaghetti" code)
PR fortran/18937
fortran/
* resolve.c: Include obstack.h and bitmap.h.  New variable
labels_obstack.
(code_stack): Add tail and reachable_labels fields.
(reachable_labels): New function.
(resolve_branch): Rework to use new fields in code_stack.
(resolve_code): Call reachable_labels.
(resolve_codes): Allocate and free labels_obstack.
testsuite/
* gfortran.dg/goto_2.f90: New.
* gfortran.dg/goto_3.f90: New.
* gfortran.dg/pr17708.f90: Rename to ...
* gfortran.dg/goto_4.f90: ... this, add comment pointing to
PR.

From-SVN: r123789
2007-04-13 15:48:08 +02:00
Richard Sandiford
d1138d8e5e vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
gcc/
	* config/mips/vxworks.h (SUBTARGET_OVERRIDE_OPTIONS): Define.
	* config/mips/mips.c (override_options): Call
	SUBTARGET_OVERRIDE_OPTIONS, if defined.

From-SVN: r123788
2007-04-13 13:48:08 +00:00
H.J. Lu
c33104d6c9 i386.opt (msvr3-shlib): Removed.
2007-04-13  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.opt (msvr3-shlib): Removed.

	* doc/invoke.texi: Remove -msvr3-shlib.

From-SVN: r123787
2007-04-13 06:29:45 -07:00
H.J. Lu
b194a08cd4 i386.opt (mpopcnt): Replace "popcount" instruction with "popcnt" instruction.
2007-04-13  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.opt (mpopcnt): Replace "popcount" instruction
	with "popcnt" instruction.

From-SVN: r123786
2007-04-13 06:28:39 -07:00
Tobias Burnus
da97e7ff6f re PR fortran/31562 (FAIL: gfortran.dg/value_4.f90 -O0 execution test)
2007-04-13  Tobias Burnus  <burnus@net-b.de>

       PR fortran/31562
       * gfortran.dg/f2c_4.c: Use GNU extensions for complex
       instead of a struct.

From-SVN: r123784
2007-04-13 13:26:09 +02:00
Paolo Carlini
4ecacafc9b re PR libstdc++/31554 (stable_partition assumes iterator difference type is always ptrdiff_t)
2007-04-13  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/31554
	* include/bits/stl_algo.h (stable_partition): Convert __buf.size()
	to _DistanceType.

From-SVN: r123783
2007-04-13 11:17:21 +00:00
Tobias Schlüter
d2824043b4 Fix date in Tobias Burnus' ChangeLog entry
From-SVN: r123782
2007-04-13 13:05:50 +02:00
Tobias Schlüter
ed4c295946 Sigh. Add ChangeLog entry missing from previous commit.
From-SVN: r123781
2007-04-13 13:03:43 +02:00
Tobias Burnus
4026df75ea re PR fortran/31562 (FAIL: gfortran.dg/value_4.f90 -O0 execution test)
2007-04-12  Tobias Burnus  <burnus@net-b.de>

       PR fortran/31562
       * gfortran.dg/value_4.c: Use GNU extensions for complex
       instead of a struct.

From-SVN: r123780
2007-04-13 12:59:19 +02:00
Paolo Carlini
6725add54e numeric_traits.h: Do not include <limits>.
2007-04-13  Paolo Carlini  <pcarlini@suse.de>

	* include/ext/numeric_traits.h: Do not include <limits>.
	(__numeric_traits_integer::__is_signed, __digits): Add.
	(__numeric_traits_floating::__digits10, __max_exponent10): Add.
	* src/istream.cc (ignore<char>(streamsize, int_type), operator>>
	(basic_istream<char>&, char*), ignore<wchar_t>(streamsize,
	int_type)): Use the latter.
	* src/compatibility.cc (ignore<char>(streamsize),
	ignore<wchar_t>(streamsize)): Likewise.
	* include/ext/vstring_util.h (__vstring_utility<>::_S_compare):
	Likewise.
	* include/bits/stl_memory.h (__get_temporary_buffer): Likewise.
	* include/bits/stl_algobase.h (lexicographical_compare(const char*,
	const char*, const char*, const char*)): Likewise.
	* include/bits/locale_facets.tcc (num_get<>::_M_extract_int(_InIter,
	_InIter, ios_base&, ios_base::iostate&, _ValueT&),
	num_put<>::_M_insert_int(_OutIter, ios_base&, _CharT, _ValueT),
	num_put<>::_M_insert_float(_OutIter, ios_base&, _CharT, char,
	_ValueT), collate<>::do_hash(const _CharT*, const _CharT*)): Likewise.
	* include/bits/basic_string.h (basic_string<>::_S_compare): Likewise.
	* include/bits/istream.tcc (operator>>(short&), operator>>(int&),
	ignore(streamsize), ignore(streamsize, int_type), operator>>
	(basic_istream<>&, _CharT*)): Likewise.
	* include/bits/stl_bvector.h (vector<bool>::max_size): Likewise.
	* include/tr1/functional_hash.h (struct hash<long double>): Likewise.
	* include/std/istream: Do not include <limits>.
	* include/tr1/cmath: Include <limits>.
	* testsuite/23_containers/vector/bool/capacity/29134.cc: Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/char/13.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
	Likewise.
	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/13.cc:
	Likewise.
	* testsuite/27_io/ios_base/storage/2.cc: Likewise.

	* include/tr1/hashtable: Do not include the whole <iterator>.

From-SVN: r123779
2007-04-13 10:54:37 +00:00
Richard Guenther
9bb6aa4304 re PR tree-optimization/21258 (Teach VRP to pick up a constant from case label.)
2007-04-13  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/21258
	* tree-vrp.c (compare_case_labels): New helper.
	(find_switch_asserts): New function.
	(find_assert_locations): Call it for SWITCH_EXPRs.

	* gcc.dg/tree-ssa/vrp34.c: New testcase.

From-SVN: r123778
2007-04-13 09:21:22 +00:00
Uros Bizjak
27ac40e2a0 i386.h (X87_FLOAT_MODE_P): Check for TARGET_80387.
* config/i386/i386.h (X87_FLOAT_MODE_P): Check for TARGET_80387.
        * config/i386/i386.md (*cmpfp0): Remove check for TARGET_80387, this
        check is now implied in X87_FLOAT_MODE_P.
        (*cmpfp_u, *cmpfp_<mode>, *cmpfp_i_i387): Ditto.
        (*cmpfp_iu_387, fix_trunc<mode>_fisttp_i386_1): Ditto.
        (fix_trunc<mode>_i386_fisttp): Ditto.
        (fix_trunc<mode>_i387_fisttp_with_temp): Ditto.
        (*fix_trunc<mode>_i387_1, fix_truncdi_i387): Ditto.
        (fix_truncdi_i387_with_temp, fix_trunc<mode>_i387): Ditto.
        (fix_trunc<mode>_i387_with_temp, *fp_jcc_1_387): Ditto.
        (*fp_jcc_2_387, *fp_jcc_5_387, *fp_jcc_6_387): Ditto.
        (*fp_jcc_7_387, *fp_jcc_8<mode>_387): Ditto.
        (unnamed_splitters): Ditto.
        * config/i386/i386.c (function_value_32): Generate FIRST_FLOAT_REG
        for X87_FLOAT_MODE_P mode.  Override FIRST_FLOAT_REG with
        FIRST_SSE_REG for local functions when SSE math is enabled or
        for functions with sseregparm attribute.
        (standard_80387_constant_p): Return -1 if mode is not
        X87_FLOAT_MODE_P.
        (ix86_cc_mode): Assert that scalar mode is not DECIMAL_FLOAT_MODE_P.
        (ix86_expand_compare): Ditto.
        (ix86_expand_carry_flag_compare): Ditto.
        (ix86_expand_int_movcc): Check for SCALAR_FLOAT_MODE_P instead
        of FLOAT_MODE_P for cmp_mode and assert that cmp_mode is not
        DECIMAL_FLOAT_MODE_P.
        (ix86_preferred_output_reload_class): Use X87_FLOAT_MODE_P instead
        of SCALAR_FLOAT_MODE_P.
        (ix86_rtx_costs) [PLUS] Remove FLOAT_MODE_P and fall through to ...
        [MINUS]: ... here.  Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P
        checks before FLOAT_MODE_P.
        [MULT]: Add SSE_FLOAT_MODE_P and X87_FLOAT_MODE_P checks
        before FLOAT_MODE_P.
        [DIV]: Ditto.
        [NEG]: Ditto.
        [ABS]: Ditto.
        [SQRT]: Ditto.
        [FLOAT_EXTEND]: Use SSE_FLOAT_MODE_P.

From-SVN: r123777
2007-04-13 10:14:57 +02:00
Paolo Bonzini
bd61d70827 Makefile.am (EXTRA_DIST): Bring up to date.
2007-04-11  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.am (EXTRA_DIST): Bring up to date.
	* Makefile.in: Regenerate.
	* src/frv/eabi.S: Remove RCS keyword.

From-SVN: r123776
2007-04-13 07:21:04 +00:00
Paolo Bonzini
be0fe523e7 Makefile.in (stamp-as, [...]): Remove.
2007-04-12  Paolo Bonzini  <bonzini@gnu.org>
            Charles Wilson  <libtool@cwilson.fastmail.fm>

	* Makefile.in (stamp-as, stamp-collect-ld, stamp-nm): Remove.
	(libgcc.mvars): Don't depend on them.
	* configure.ac (as, collect-ld, nm): Create from exec-tool.in.
	* exec-tool.in: New.


Co-Authored-By: Charles Wilson <libtool@cwilson.fastmail.fm>

From-SVN: r123775
2007-04-13 07:04:39 +00:00
GCC Administrator
41a14c0644 Daily bump.
From-SVN: r123773
2007-04-12 23:17:05 +00:00
Brooks Moses
06a9756916 * doc/invoke.text (--help): Document --help=common.
From-SVN: r123769
2007-04-12 14:13:32 -07:00
Francois-Xavier Coudert
1d6657b0c0 c_by_val.c: Use GCC extensions instead of including <complex.h>.
* gfortran.dg/c_by_val.c: Use GCC extensions instead of including
	<complex.h>.

From-SVN: r123768
2007-04-12 20:59:43 +00:00
Tobias Schlüter
b5a31c9b43 Commit bits missing from previous checkin
Commit bits missing from previous checkin
* gfortran.dg/repeat_2.f90: Add dg-warning annotations.
* gfortran.dg/repeat_4.f90: Likewise.

From-SVN: r123765
2007-04-12 21:12:20 +02:00
Thomas Neumann
4557bf49fa stub-objc.c (objc_build_keyword_decl): Avoid C++ keywords.
2007-04-12  Thomas Neumann  <tneumann@users.sourceforge.net>

	* stub-objc.c (objc_build_keyword_decl): Avoid C++ keywords.

From-SVN: r123764
2007-04-12 19:00:38 +00:00
Tobias Schlüter
5cd09fac3d re PR fortran/31250 (Initialization expr as constant character length rejected)
PR fortran/31250
fortran/
* decl.c (match_char_spec): Move check for negative CHARACTER
length ...
* resolve.c (resolve_charlen): ... here.
(resolve_types): Resolve CHARACTER lengths earlier.
teststuite/
* gfortran.dg/char_length_2.f90: New.

From-SVN: r123763
2007-04-12 20:48:06 +02:00
Tobias Schlüter
c6214a7507 File missing from previous commit
From-SVN: r123762
2007-04-12 20:30:06 +02:00
Daniel Franke
5ab5907a2a re PR fortran/31234 (Thread-safety of random_number should be documented.)
2007-04-12  Daniel Franke  <franke.daniel@gmail.com>

        PR fortran/31234
        * intrinsic.texi (RANDOM_SEED, RANDOM_NUMBER): New.

From-SVN: r123760
2007-04-12 14:23:03 -04:00
Tobias Schlüter
e8a2534927 re PR fortran/31266 (Spurious(?) warning about character truncation)
PR fortran/31266
fortran/
* primary.c (gfc_variable_attr): Don't copy string length if it
doesn't make sense.
* resolve.c (resolve_code): Clarify error message.
testsuite/
* gfortran.dg/char_assign_1.f90: New.

From-SVN: r123759
2007-04-12 20:10:10 +02:00
Tobias Schlüter
690af37922 decl.c (gfc_match_end): Also check for construct name in END FORALL and END WERE statements.
fortran/31471
fortran/
* decl.c (gfc_match_end): Also check for construct name in END
FORALL and END WERE statements.
* match.c (match_case_eos): Use uppercase for statement name in
error message.
(match_elsewhere): Construct name may appear iff construct has a
name.
testsuite/
* gfortran.dg/block_name_1.f90: New.
* gfortran.dg/block_name_2.f90: New.

From-SVN: r123758
2007-04-12 20:07:09 +02:00
Richard Sandiford
8cb6400cda Makefile.in (insn-emit.o): Depend on $(INTEGRATE_H).
gcc/
	* Makefile.in (insn-emit.o): Depend on $(INTEGRATE_H).
	* genemit.c (main): Emit #include "integrate.h".
	* config/mips/mips-protos.h (SYMBOL_HALF): New mips_symbol_type.
	(LOADGP_RTP): New mips_loadgp_style.
	* config/mips/mips.h: Include config/vxworks-dummy.h.
	(TARGET_RTP_PIC): New macro.
	(TARGET_USE_GOT): Return true for TARGET_RTP_PIC.
	(TARGET_USE_PIC_FN_ADDR_REG): Return true for TARGET_VXWORKS_RTP.
	(ASM_OUTPUT_ADDR_DIFF_ELT): Emit function-relative case tables
	for TARGET_RTP_PIC.
	* config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Define.  Pass down
	-mvxworks-pic when using -mrtp and a PIC option.
	* config/mips/mips.c (mips_classify_symbol): Return SYMBOL_GOT_DISP
	for RTP PIC.
	(mips_symbolic_constant_p, mips_symbolic_address_p)
	(mips_symbol_insns): Handle SYMBOL_HALF.
	(override_options): Warn about -G and -mrtp being used together.
	Initialize mips_lo_relocs[SYMBOL_HALF].
	(mips_current_loadgp_style): Return LOADGP_RTP for RTP PIC.
	(mips_emit_loadgp): Handle LOADGP_RTP.
	(mips_in_small_data_p): Return false for TARGET_VXWORKS_RTP.
	* config/mips/mips.md (loadgp_rtp): New insn and splitter.
	(tablejump): Handle function-relative case table entries if
	TARGET_RTP_PIC.
	* config/mips/predicates.md (symbol_ref_operand): New predicate.

From-SVN: r123757
2007-04-12 17:59:57 +00:00
Richard Sandiford
f28d806256 mips.md (load_call<mode>): Allow any general register.
gcc/
	* config/mips/mips.md (load_call<mode>): Allow any general register.
	destination.
	(sibcall_value_internal, sibcall_value_multiple_internal)
	(call_value_internal, call_value_split, call_value_multiple_internal)
	(call_value_multiple_split): Remove constraints from operand 0.

From-SVN: r123756
2007-04-12 17:44:57 +00:00
Richard Sandiford
dc7750b1a9 mips-protos.h: In comments, refer to loadgp_absolute rather than loadgp_noshared.
gcc/
	* config/mips/mips-protos.h: In comments, refer to loadgp_absolute
	rather than loadgp_noshared.
	* config/mips/mips.c (mips_emit_loadgp): Use gen_loadgp_absolute
	instead of gen_loadgp_noshared.  Use gen_loadgp_newabi instead of
	gen_loadgp.
	* config/mips/mips.md (loadgp): Rename to...
	(loadgp_newabi): ...this.
	(loadgp_noshared): Rename to...
	(loadgp_absolute): ...this.

From-SVN: r123755
2007-04-12 17:39:58 +00:00
Richard Sandiford
006257dc5b mips.c (mips_ok_for_lazy_binding_p): Always return false for locally-binding symbols.
gcc/
	* config/mips/mips.c (mips_ok_for_lazy_binding_p): Always return
	false for locally-binding symbols.
	(mips_dangerous_for_la25_p): Check mips_global_symbol_p.

From-SVN: r123754
2007-04-12 17:37:25 +00:00
Tobias Schlüter
eb28fb7dbd + * trans-types.c: Update copyright years.
+       * trans-types.c: Update copyright years.  Reformat long comment
+       explaining array descriptor format.  Remove obsolete mention of
+       TYPE_SET.
+

From-SVN: r123753
2007-04-12 19:34:03 +02:00
Richard Sandiford
08e7ceb3d3 mips-protos.h (SYMBOL_GOT_LOCAL): Rename to...
gcc/
	* config/mips/mips-protos.h (SYMBOL_GOT_LOCAL): Rename to...
	(SYMBOL_GOT_PAGE_OFST): ...this.
	(SYMBOL_GOT_GLOBAL): Rename to...
	(SYMBOL_GOT_DISP): ...this.
	(SYMBOL_GOTOFF_GLOBAL): Rename to...
	(SYMBOL_GOTOFF_DISP): ...this.  Update comments accordingly.
	* config/mips/mips.c (mips_global_symbol_p): New function.
	(mips_symbol_binds_local_p): Likewise.
	(mips_classify_symbol): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP
	and SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST.  Use mips_global_symbol_p
	and mips_symbol_binds_local_p.
	(mips_symbolic_constant_p, mips_symbolic_address_p, mips_symbol_insns)
	(override_options): Rename SYMBOL_GOT_GLOBAL to SYMBOL_GOT_DISP,
	SYMBOL_GOT_LOCAL to SYMBOL_GOT_PAGE_OFST and SYMBOL_GOTOFF_GLOBAL to
	SYMBOL_GOTOFF_DISP.
	(mips_ok_for_lazy_binding_p): New function.
	(mips_load_call_address, mips_expand_call): Use it.
	(mips_dangerous_for_la25_p): Likewise.
	* config/mips/mips.md (*xgot_hi<mode>, *xgot_lo<mode>)
	(*got_disp<mode>): Use got_disp_operand instead of
	global_got_operand.  Use SYMBOL_GOTOFF_DISP instead of
	SYMBOL_GOTOFF_GLOBAL.
	(*got_page<mode>): Use got_page_ofst_operand instead of
	local_got_operand.
	* config/mips/predicates.md (const_call_insn_operand): Use
	SYMBOL_GOT_DISP instead of SYMBOL_GOT_GLOBAL.
	(global_got_operand): Rename to...
	(got_disp_operand): ...this and use SYMBOL_GOT_DISP instead of
	SYMBOL_GOT_GLOBAL.
	(local_got_operand): Rename to...
	(got_page_ofst_operand): ...this and use SYMBOL_GOT_PAGE_OFST instead
	of SYMBOL_GOT_LOCAL.

From-SVN: r123752
2007-04-12 17:26:45 +00:00
Richard Sandiford
14976818e7 mips.h (TARGET_SPLIT_CALLS): Check TARGET_CALL_CLOBBERED_GP.
gcc/
	* config/mips/mips.h (TARGET_SPLIT_CALLS): Check
	TARGET_CALL_CLOBBERED_GP.
	(TARGET_SIBCALLS): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
	(TARGET_USE_GOT, TARGET_CALL_CLOBBERED_GP): New macros.
	(TARGET_CALL_SAVED_GP, TARGET_USE_PIC_FN_ADDR_REG): Likewise.
	(STARTING_FRAME_OFFSET): Check TARGET_CALL_CLOBBERED_GP instead
	of TARGET_ABICALLS && !TARGET_NEWABI.
	(MIPS_CALL): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
	* config/mips/mips.c (mips_load_call_address): Check
	TARGET_CALL_SAVED_GP instead of TARGET_NEWABI.
	(mips_global_pointer): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
	Check TARGET_CALL_SAVED_GP instead of TARGET_NEWABI.
	(mips_save_reg_p): Check TARGET_CALL_SAVED_GP instead of
	TARGET_ABICALLS && TARGET_NEWABI.
	(mips_current_loadgp_style): Check TARGET_USE_GOT instead of
	TARGET_ABICALLS.
	(mips_expand_prologue): Check TARGET_OLDABI instead of !TARGET_NEWABI.
	(mips_expand_epilogue): Check TARGET_CALL_SAVED_GP instead of
	TARGET_ABICALLS && TARGET_NEWABI.
	(mips_output_mi_thunk): Check TARGET_USE_GOT instead of
	TARGET_ABICALLS.  Check TARGET_CALL_SAVED_GP instead of
	TARGET_NEWABI.  Use TARGET_USE_PIC_FN_ADDR_REG to decide
	whether indirect calls must use $25.
	(mips_extra_live_on_entry): Check TARGET_GOT instead of
	TARGET_ABICALLS.
	* config/mips/mips.md (jal_macro): Check flag_pic and
	TARGET_CALL_CLOBBERED_GP instead of TARGET_ABICALLS and TARGET_NEWABI.
	(builtin_setjmp_setup, builtin_longjmp): Check TARGET_USE_GOT
	instead of TARGET_ABICALLS.
	(exception_receiver): Check TARGET_CALL_CLOBBERED_GP instead of
	TARGET_ABICALLS && TARGET_OLDABI.
	(load_call<mode>): Check TARGET_USE_GOT instead of TARGET_ABICALLS.
	(sibcall): In the comment above the define_insn, mention
	TARGET_USE_PIC_FN_ADDR_REG instead of TARGET_ABICALLS.
	* config/mips/constraints.md (c): Check TARGET_USE_PIC_FN_ADDR_REG
	instead of TARGET_ABICALLS.

From-SVN: r123751
2007-04-12 17:10:56 +00:00
Tobias Schlüter
2f11881446 arith.c (gfc_arith_uplus): Rename to ...
* arith.c (gfc_arith_uplus): Rename to ...
(gfc_arith_identity): ... this.
(gfc_parentheses): New function.
(gfc_uplus): Adapt to renamed function.
* arith.h (gfc_parentheses): Add prototype.
* expr.c (gfc_copy_expr): Deal with INTRINSIC_PARENTHESES.
(simplifiy_intrinsic_op): Treat INTRINSIC_UPLUS separately from
INTRINSIC_PARENTHESES.

From-SVN: r123750
2007-04-12 18:53:26 +02:00
Bernd Schmidt
2d3649b23f bfin.md (movhi_low2high, [...]): Delete, merge functionality into...
* config/bfin/bfin.md (movhi_low2high, movhi_high2high, movhi_low2low,
	movhi_high2low): Delete, merge functionality into...
	(packv2hi): ... this pattern.

From-SVN: r123749
2007-04-12 15:22:06 +00:00
Bernd Schmidt
3fbee523e2 lib1funcs.asm (___umulsi3_highpart, [...]): Use a more efficient implementation.
* config/bfin/lib1funcs.asm (___umulsi3_highpart, __smulsi3_highpart):
	Use a more efficient implementation.
	* config/bfin/bfin.md (umulsi3_highpart, smulsi3_highpart): Emit
	inline sequences when not optimizing for size.

From-SVN: r123748
2007-04-12 13:39:35 +00:00
Bernd Schmidt
9d3f9aa3a5 bfin.opt (msim): New option.
2007-02-11  Jie Zhang  <jie.zhang@analog.com>
	* config/bfin/bfin.opt (msim): New option.
	(mcpu=): New option.
	* config/bfin/bfin-protos.h (enum bfin_cpu): New.
	(bfin_cpu_t): Typedef of enum bfin_cpu.
	(bfin_cpu_type): New declaration.
	* config/bfin/elf.h (STARTFILE_SPEC): Add support for
	-msim and -mcpu= options.
	(LIB_SPEC): Likewise.
	* config/bfin/bfin.c (bfin_cpu_type): Define.
	(bfin_handle_option): Handle -mcpu= option.
	* config/bfin/bfin.h (DEFAULT_CPU_TYPE): Define as BFIN_CPU_BF532.
	(TARGET_CPU_CPP_BUILTINS): Define __ADSPBF531__, __ADSPBF532__,
	__ADSPBF533__ or __ADSPBF537__ according to the cpu type.

From-SVN: r123747
2007-04-12 13:21:01 +00:00
Kai Tietz
c18b8a1c11 configure: Regenerate.
libgfortran:
2007-04-11  Kai Tietz   <kai.tietz@onevision.com>

        * configure: Regenerate.

libdecnumber:
2007-04-11  Kai Tietz   <kai.tietz@onevision.com>

        * configure: Regenerate.

config:
2007-04-11  Kai Tietz  <kai.tietz@onevision.com>

	* stdint.m4: Make template compatible with older cygwin 
	types.h, wrapping each type in a __XXX_t_defined #ifdef.

From-SVN: r123746
2007-04-12 13:06:43 +00:00
Bernd Schmidt
3efd5670ca md.texi (Blackfin family constraints): Document PA and PB.
* doc/md.texi (Blackfin family constraints): Document PA and PB.
	* config/bfin/bfin.h (CONST_OK_FOR_P): Handle PA and PB.
	(MACFLAGS_MATCH_P): New macro.
	* config/bfin/bfin.c (print_operand): Handle MACFLAG_IS_M.
	(bfin_secondary_reload): Treat EVEN_AREGS and ODD_AREGS like AREGS.
	* config/bfin/bfin.md (MACFLAG_IS_M): New constant.  Renumber some of
	the other MACFLAG constants.
	(sum_of_accumulators, lshrpdi3, ashrpdi3): New patterns.
	(flag_machi): Tighten constraints.  Renumber some of the operands.
	(flag_machi_acconly): Tighten constraints.  Correct operand numbers in
	output template.
	(flag_machi_parts_acconly): New pattern.
	(flag_macinithi): Tighten constraints.  Allow any accumulator to be
	used.
	(flag_macinit1hi): Tighten constraints.
	(flag_mul_macv2hi_parts_acconly): New pattern.

From-SVN: r123745
2007-04-12 13:03:17 +00:00
Richard Sandiford
f4de8ba686 config.gcc (*-*-vxworks*): Don't add to tm_files in this stanza.
gcc/
	* config.gcc (*-*-vxworks*): Don't add to tm_files in this stanza.
	(arm-wrs-vxworks, mips-wrs-vxworks, powerpc-wrs-vxworks)
	(powerpc-wrs-vxworksae): Use ${tm_file}.
	(i[4567]86-wrs-vxworks, i[4567]86-wrs-vxworksae): Add svr4.h
	after elfos.h.  Remove i386/sysv4.h and add i386/vx-common.h.
	* config/i386/vx-common.h: New file.

From-SVN: r123744
2007-04-12 12:47:05 +00:00
Richard Sandiford
b83b15dae3 vxworks.h (VXWORKS_STARTFILE_SPEC): Use -l:crt0.o instead of crt0.o%s.
gcc/
	* config/vxworks.h (VXWORKS_STARTFILE_SPEC): Use -l:crt0.o instead
	of crt0.o%s.

From-SVN: r123743
2007-04-12 12:44:31 +00:00
Andreas Krebbel
bf259a7704 s390.md ("trunctddd2"): Use TDmode for the target of ldxtr.
2007-04-12  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md ("trunctddd2"): Use TDmode for the target of
	ldxtr.

From-SVN: r123741
2007-04-12 12:07:24 +00:00
Douglas Gregor
9576481824 re PR c++/31078 (warning: same canonical type node for different types with const strings)
2007-04-12  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/31078
	PR c++/31103
	* c-common.c (c_build_qualified_type): Set canonical type
	appropriately.  

2007-04-12  Douglas Gregor  <doug.gregor@gmail.com>

	PR c++/31078
	* g++.dg/other/pr31078.C: New.

From-SVN: r123740
2007-04-12 11:47:56 +00:00
Richard Guenther
a670437d92 tree-pretty-print.c (dump_generic_node): Print ARRAY_REF lower bound and element size if...
2007-04-12  Richard Guenther  <rguenther@suse.de>

	* tree-pretty-print.c (dump_generic_node): Print ARRAY_REF
	lower bound and element size if lower bound is not zero
	or either of the ARRAY_REF operands is set.

From-SVN: r123738
2007-04-12 09:25:04 +00:00
Richard Guenther
6e734d9820 re PR tree-optimization/31169 (Bootstrap comparison error at revision 122821)
2007-04-12  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/31169
	* gcc.c-torture/execute/pr31169.c: New testcase.

From-SVN: r123737
2007-04-12 09:20:42 +00:00
Richard Guenther
5852948c5b re PR tree-optimization/24689 (operand_equal_p does not return true for some equivalent ARRAY_REF)
2007-04-12  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/24689
	PR tree-optimization/31307
	* fold-const.c (operand_equal_p): Compare INTEGER_CST array
	indices by value.
	* gimplify.c (canonicalize_addr_expr): To be consistent with
	gimplify_compound_lval only set operands two and three of
	ARRAY_REFs if they are not gimple_min_invariant.  This makes
	it never at this place.
	* tree-ssa-ccp.c (maybe_fold_offset_to_array_ref): Likewise.

	* g++.dg/tree-ssa/pr31307.C: New testcase.
	* gcc.dg/tree-ssa/pr24689.c: Likewise.

From-SVN: r123736
2007-04-12 09:15:53 +00:00