Commit Graph

69395 Commits

Author SHA1 Message Date
Jason Merrill
fa47911c56 re PR c++/19317 (removing a temporary return value when we cannot)
PR c++/19317
        Leave the return slot target in the MODIFY_EXPR rather than making
        it an argument, but only use it if the CALL_EXPR has a flag set.
        * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): Rename to
        CALL_EXPR_RETURN_SLOT_OPT.
        * calls.c (expand_call): Adjust.
        * tree-inline.c (expand_call_inline): Adjust.
        * tree-pretty-print.c (dump_generic_node): Adjust.

        And set the flag as appropriate.
        * gimplify.c (gimplify_modify_expr_rhs): Set
        CALL_EXPR_HAS_RETURN_SLOT_ADDR where the LHS is obviously safe.
        * tree-nrv.c (execute_return_slot_opt): Set
        CALL_EXPR_HAS_RETURN_SLOT_ADDR based on escape analysis.
        * tree-pass.h: Declare pass_return_slot.
        * tree-optimize.c (init_tree_optimization_passes): Add it.

        * cp/semantics.c (simplify_aggr_init_expr): Use
        CALL_EXPR_RETURN_SLOT_OPT, not CALL_EXPR_HAS_RETURN_SLOT_ADDR.

From-SVN: r101269
2005-06-23 10:44:21 -04:00
David Edelsohn
f565b0a1a5 re PR target/21760 (Powerpc atomic builtins missing PPC405 errata)
PR target/21760
        * config/rs6000/rs6000.h (PPC405_ERRATUM77): New.
        * config/rs6000/rs6000.md: Move atomic instructions to ...
        * config/rs6000/sync.md: Here.
        Change sync_compare_and_swap<mode> to define_expand.  All stwcx
        patterns test PPC405_ERRATUM77.

From-SVN: r101268
2005-06-23 09:24:14 -04:00
David Edelsohn
2de3f2f3a4 * gcc.dg/rs6000-fpint-2.c: Only compile on Darwin and Linux.
From-SVN: r101267
2005-06-23 09:20:18 -04:00
Jan Hubicka
17acc01a46 * tree-inline.c (copy_body_r): Remap labels correctly.
From-SVN: r101266
2005-06-23 13:20:02 +00:00
Jan Hubicka
6c8cba6db4 * tree-inline.c (copy_body_r): Remap labels correctly.
From-SVN: r101265
2005-06-23 13:10:37 +00:00
Paolo Bonzini
c7870f5d15 Makefile.def (stagefeedback): Come after profile.
2005-06-22  Paolo Bonzini  <bonzini@gnu.org>

	* Makefile.def (stagefeedback): Come after profile.
	Define profiledbootstrap target.
	* Makefile.tpl (profiledbootstrap): Remove.
	(stageprofile-end): Zap stagefeedback.
	(stagefeedback-start): Copy all .gcda files, not only GCC's.
	* Makefile.in: Regenerate.

From-SVN: r101263
2005-06-23 07:31:23 +00:00
David Billinghurst
09102896e8 f2c_4.f90: Add tests for complex functions
2005-06-23  David Billinghurst  <David.Billinghurst@riotinto.com>

	* gfortran.dg/f2c_4.f90:  Add tests for complex functions
	* gfortran.dg/f2c_4.c: Likewise

From-SVN: r101262
2005-06-23 03:57:24 +00:00
David Billinghurst
127c51ed48 f2c_4.f90: Add tests for complex functions
2005-06-23  David Billinghurst  <David.Billinghurst@riotinto.com>

	* gfortran.dg/f2c_4.f90:  Add tests for complex functions
	* gfortran.dg/f2c_4.c: Likewise

From-SVN: r101261
2005-06-23 03:01:57 +00:00
Alan Modra
c08a3565c2 * config/rs6000/sysv4.h (TARGET_ASM_EXCEPTION_SECTION): Delete.
From-SVN: r101260
2005-06-23 12:05:01 +09:30
GCC Administrator
91f77d3da4 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r101257.2
2005-06-23 00:16:21 +00:00
Volker Reichelt
e4227c0fc5 * pt.c (register_specialization): Remove superfluous assertion.
From-SVN: r101253
2005-06-22 22:47:26 +00:00
Paul Brook
bd83e6142d re PR fortran/21034 ([4.0 only] internal compiler error: in gfc_trans_auto_array_allocation, at fortran/trans-array.c:3036)
2005-06-22 Paul Brook  <paul@codesourcery.com>

	PR fortran/21034
	* symbol.c (gfc_is_var_automatic): New function.
	(save_symbol): Use it.
testsuite/
	* gfortran.dg/auto_save_1.f90: New test.

From-SVN: r101250
2005-06-22 15:34:02 +00:00
Michael Matz
aacb351279 abi: New directory.
* gcc.target/x86-64/abi: New directory.
        * gcc.target/x86-64/abi/abi-x86_64.exp: New testsuite.
        * gcc.target/x86-64/abi/README.gcc: New file.
        * gcc.target/x86-64/abi/{args.h,defines.h,macros.h}: New headers.
        * gcc.target/x86-64/abi/asm-support.s: New file.
        * gcc.target/x86_64/abi/test_3_element_struct_and_unions.c: New test.
        * gcc.target/x86_64/abi/test_basic_alignment.c: New test.
        * gcc.target/x86_64/abi/test_basic_array_size_and_align.c: New test.
        * gcc.target/x86_64/abi/test_basic_returning.c: New test.
        * gcc.target/x86_64/abi/test_basic_sizes.c: New test.
        * gcc.target/x86_64/abi/test_basic_struct_size_and_align.c: New test.
        * gcc.target/x86_64/abi/test_basic_union_size_and_align.c: New test.
        * gcc.target/x86_64/abi/test_bitfields.c: New test.
        * gcc.target/x86_64/abi/test_complex_returning.c: New test.
        * gcc.target/x86_64/abi/test_passing_floats.c: New test.
        * gcc.target/x86_64/abi/test_passing_integers.c: New test.
        * gcc.target/x86_64/abi/test_passing_structs_and_unions.c: New test.
        * gcc.target/x86_64/abi/test_passing_structs.c: New test.
        * gcc.target/x86_64/abi/test_passing_unions.c: New test.
        * gcc.target/x86_64/abi/test_struct_returning.c: New test.
        * gcc.target/x86_64/abi/test_varargs.c: New test.

From-SVN: r101249
2005-06-22 14:51:07 +00:00
Richard Kenner
0d26b2ff45 re PR middle-end/20593 (Simple array of string access miscompiled on x86 and x86_64 and PPC)
2005-06-22  Richard Kenner  <kenner@vlsi1.ultra.nyu.edu>

        PR middle-end/20593
        * varasm.c (compute_reloc_for_constant): Treat VIEW_CONVER_EXPR
        the same as the other cast operands.
        (output_addressed_constants): Likewise.

From-SVN: r101248
2005-06-22 06:38:19 -07:00
Kelley Cook
feffe3353f Makefile.am (SUBDIRS): Use append for conditional.
2005-06-22  Kelley Cook  <kcook@gcc.gnu.org>

	* Makefile.am (SUBDIRS): Use append for conditional.
	(toolexeclib_LTLIBRARIES): Likewise.
	(lib_gnu_java_awt_peer_gtk_la_SOURCES): Directly define with
	a conditional append.
	* Makefile.in: Regenerate.

From-SVN: r101246
2005-06-22 01:30:12 +00:00
GCC Administrator
aee95d5545 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r101242.2
2005-06-22 00:16:28 +00:00
Joseph Myers
ed059c566d mangle24.C, mangle25.C: Pass -mmmx for 32-bit i?86 and x86_64.
* g++.dg/abi/mangle24.C, g++.dg/abi/mangle25.C: Pass -mmmx for
	32-bit i?86 and x86_64.

From-SVN: r101240
2005-06-22 00:00:45 +01:00
Ziemowit Laski
01277dc46a const-str-[1-9].mm: New tests.
[gcc/testsuite/ChangeLog]
2005-06-21  Ziemowit Laski  <zlaski@apple.com>

        * obj-c++.dg/const-str-[1-9].mm: New tests.

From-SVN: r101237
2005-06-21 21:13:46 +00:00
Joseph Myers
3a32ec1e37 * nl.po: Update.
From-SVN: r101235
2005-06-21 21:57:16 +01:00
Paul Thomas
051cdfd4b0 namelist_use_2.msg
From-SVN: r101234
2005-06-21 20:53:00 +00:00
Tobias Schlüter
15f9ce2980 namelist_use_1.msg
Co-Authored-By: Paul Thomas <pault@gcc.gnu.org>

From-SVN: r101233
2005-06-21 20:48:20 +00:00
Jeff Law
2735e93e53 tree-vrp.c (extract_range_from_unary_expr): Handle type conversions better.
* tree-vrp.c (extract_range_from_unary_expr): Handle type
        conversions better.

        * gcc.dg/tree-ssa/vrp15.c: New test.

From-SVN: r101232
2005-06-21 12:46:33 -06:00
Dorit Nuzman
a6b46ba2c8 genopinit.c (vec_shl_optab, [...]): Initialize new optabs.
* genopinit.c (vec_shl_optab, vec_shr_optab): Initialize new optabs.
        (reduc_plus_optab): Removed.  Replcaed with...
        (reduc_splus_optab, reduc_uplus_optab): Initialize new optabs.
        * optabs.c (optab_for_tree_code): Return reduc_splus_optab or
        reduc_uplus_optab instead of reduc_plus_optab.
        (expand_vec_shift_expr): New function.
        (init_optabs): Initialize new optabs. Remove initialization of
        reduc_plus_optab.
        (optab_for_tree_code): Return vec_shl_optab/vec_shr_optab
        for VEC_LSHIFT_EXPR/VEC_RSHIFT_EXPR.
        * optabs.h (OTI_reduc_plus): Removed. Replaced with...
        (OTI_reduc_splus, OTI_reduc_uplus): New.
        (reduc_plus_optab): Removed.  Replcaed with...
        (reduc_splus_optab, reduc_uplus_optab): New optabs.
        (vec_shl_optab, vec_shr_optab): New optabs.
        (expand_vec_shift_expr): New function declaration.

        * tree.def (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR): New tree-codes.
        * tree-inline.c (estimate_num_insns_1): Handle new tree-codes.
        * expr.c (expand_expr_real_1): Handle new tree-codes.
        * tree-pretty-print.c (dump_generic_node, op_symbol, op_prio): Likewise.
        * tree-vect-generic.c (expand_vector_operations_1): Add assert.

        * tree-vect-transform.c (vect_create_epilog_for_reduction): Add two
        alternatives for generating reduction epilog code.
        (vectorizable_reduction): Don't fail of direct reduction support is
        not available.
        (vectorizable_target_reduction_pattern): Likewise.

        * config/rs6000/altivec.md (reduc_smax_v4si, reduc_smax_v4sf,
        reduc_umax_v4si, reduc_smin_v4si, reduc_smin_v4sf, reduc_umin_v4si,
        reduc_plus_v4si, reduc_plus_v4sf): Removed.
        (vec_shl_<mode>, vec_shr_<mode>, altivec_vsumsws_nomode,
        reduc_splus_<mode>, reduc_uplus_v16qi): New.

From-SVN: r101231
2005-06-21 09:02:00 +00:00
Tobias Schlüter
a3a2067ac5 func_derived_2.f90, [...]: New tests.
2005-06-21  Tobias Schl"uter  <tobias.schlueter@physik.uni-muenchen.de>
	Paul Thomas  <pault@gcc.gnu.org>

	* gfortran.dg/func_derived_2.f90, gfortran.dg/func_derived_3.f90:
	New tests.

From-SVN: r101230
2005-06-21 10:46:33 +02:00
Daniel Berlin
a5eadacc35 c-typeck.c (build_function_call): Set fundecl = function again.
2005-06-20  Daniel Berlin  <dberlin@dberlin.org>

	* c-typeck.c (build_function_call): Set fundecl = function again.
	* tree-ssa-alias.c (find_used_portions): Address taking causes the
	entire variable to be used.
	* tree-ssa-structalias.c (do_structure_copy): Fix handling of
	unknown size variables, and structure copies from addressof
	operations.  Simplify how we do *a = *b type structure copies.
	(init_base_vars): Add ANYTHING = &ANYTHING constraint the right
	way.  READONLY's address is not taken by default.
	INTEGER dereference should point to anything.
	(create_variable_info_for): It's okay for the first field to not start
	at 0.

From-SVN: r101227
2005-06-21 00:59:17 +00:00
Geoffrey Keating
83fbfe42c2 Index: include/ChangeLog
2005-06-20  Geoffrey Keating  <geoffk@apple.com>

	* libiberty.h (strverscmp): Prototype.

Index: libiberty/ChangeLog
2005-06-20  Geoffrey Keating  <geoffk@apple.com>

	* strverscmp.c: New.
	* Makefile.in (CFILES): Add strverscmp.c.
	(CONFIGURED_OFILES): Add strverscmp.o.
	(strverscmp.o): New rule.
	(stamp-functions): Add $(srcdir) to files in source directory.
	* configure.ac (funcs): Add strverscmp.
	(AC_CHECK_FUNCS): Add strverscmp.
	* configure: Regenerate.
	* functions.texi: Regenerate.

From-SVN: r101226
2005-06-21 00:24:59 +00:00
Kaz Kojima
76243d1022 config/sh/linux.h (FUNCTION_PROFILER): Constify a char*.
From-SVN: r101225
2005-06-21 00:16:42 +00:00
GCC Administrator
4818f84154 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r101222.2
2005-06-21 00:16:18 +00:00
Ziemowit Laski
d5abf34daf config-lang.in (gtfiles): Add cp/rtti.c.
[gcc/objcp/ChangeLog]
2005-06-20  Ziemowit Laski  <zlaski@apple.com>

        * config-lang.in (gtfiles): Add cp/rtti.c.

From-SVN: r101220
2005-06-21 00:04:57 +00:00
François-Xavier Coudert
131c66cd15 gfortran.h: Add flag_backslash compile-time option.
* gfortran.h: Add flag_backslash compile-time option.
	* lang.opt: Add support for -fbackslash option.
	* options.c: Likewise.
	* primary.c: Implement behavior for -fno-backslash.
	* invoke.texi: Add doc for -fbackslash option.
	* gfortran.texi: Remove mention of -fno-backslash as a
	possible extension.
	* gfortran.dg/backslash_1.f90: New test.
	* gfortran.dg/backslash_2.f90: New test.

From-SVN: r101216
2005-06-20 20:14:20 +00:00
Steven G. Kargl
e0757dda66 * gfortran.dg/duplicate_labels.f90: New test.
From-SVN: r101215
2005-06-20 19:20:10 +00:00
Steven G. Kargl
cb1d4dce15 re PR fortran/21257 ([4.0 only] Duplicate use of construct name)
PR fortran/21257
	(Ported from g95)
	* match.c (gfc_match_label): Detect duplicate labels.

From-SVN: r101214
2005-06-20 19:17:32 +00:00
Fariborz Jahanian
8c98e9d03d re PR target/22077 (vec_all_eq does not produce good result)
PR 22077.
Oked by Roger Sayle.

From-SVN: r101211
2005-06-20 17:59:35 +00:00
Erik Edelmann
b376133b7f intrinsic.c (check_intrinsic_standard): Fix spelling error in a warning message.
* intrinsic.c (check_intrinsic_standard): Fix spelling error
	in a warning message.

From-SVN: r101207
2005-06-20 13:02:51 +00:00
Benjamin Kosnik
84946e72dc re PR libstdc++/22111 (libstdc++ abi_check)
make
2005-06-19  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/22111
	* acinclude.m4 (GLIBCXX_CONFIGURE_TESTSUITE): Remove
	GLIBCXX_TEST_ABI. Remove duplicate _GLIBCXX_ASM_SYMVER define.
	Don't enable abi testing unless versioned.
	* configure: Regenerate.
	* testsuite/Makefile.am (check-abi): Remove conditional.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/libstdc++-abi/abi.exp: Call build_support, then check
	v3-symver before proceeding.
	* testsuite/lib/libstdc++.exp (libstdc++-dg-test): Set v3-symvers
	if _GLIBCXX_SYMVER.

From-SVN: r101204
2005-06-20 06:48:28 +00:00
Jan Beulich
019275a2ca netware-libgcc.def: Update copyright.
gcc/
2005-06-20  Jan Beulich  <jbeulich@novell.com>

	* config/i386/netware-libgcc.def: Update copyright.
	* config/i386/netware-libgcc.exp (__divdc3, __divsc3, __divxc3,
	__muldc3, __mulsc3, __mulxc3, __powidf2, __powisf2, __powixf2): Add.
	* config/i386/netware.c (gen_stdcall_decoration,
	gen_fastd_decoration): Merge into ...
	(gen_stdcall_or_fastcall_decoration): ... this. Adjust to match
	WinNT's changes.
	(gen_regparm_prefix): Adjust to match i386_nlm_encode_section_info.
	(i386_nlm_encode_section_info): Adjust to match WinNT's changes.
	* config/i386/t-nwld (SHLIB_LINK): Also create libgcc.imp alias of
	libgcc_s.imp. Use 'expr' rather than $(()) shell expressions.
	* gthr-nks.h (__gthread_objc_mutex_allocate): Kill another dubious
	use of NX_MUTEX_RECURSIVE.

gcc/testsuite/
2005-06-20  Jan Beulich  <jbeulich@novell.com>

	* g++.old-deja/g++.jason/thunk2.C: On NetWare, also account for
	unsupportable relocations.
	* g++.old-deja/g++.other/store-expr1.C: Likewise.
	* gcc.dg/20050321-2.c: xfail for NetWare.

From-SVN: r101203
2005-06-20 06:45:27 +00:00
Andreas Jaeger
574932784c sseregparm-1.c, [...]: Run only on 32-bit x86.
* gcc.target/i386/sseregparm-1.c, gcc.target/i386/sseregparm-2.c,
	gcc.target/i386/fastcall-sseregparm.c,
	gcc.target/i386/regparm-stdcall.c: Run only on 32-bit x86.

From-SVN: r101202
2005-06-20 06:37:58 +02:00
Roger Sayle
09b2f9e8c9 fold-const.c (swap_tree_comparison): Add support for unordered floating point comparisons.
* fold-const.c (swap_tree_comparison): Add support for unordered
	floating point comparisons.
	* tree-vrp.c (opposite_comparison): Delete.
	(extract_range_from_assert): Replace calls to opposite_comparison
	with calls to swap_tree_comparison.
	(register_edge_assert_for): Likewise.
	(vrp_evaluate_conditional): Likewise.

From-SVN: r101201
2005-06-20 02:33:52 +00:00
Kaz Kojima
115766b691 integrate.c (allocate_initial_values): Update the references to global_live_at_start and global_live_at_end.
* integrate.c (allocate_initial_values): Update the references
	to global_live_at_start	and global_live_at_end.

From-SVN: r101200
2005-06-20 01:28:33 +00:00
GCC Administrator
f20fb0e83f Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r101198.2
2005-06-20 00:16:14 +00:00
Richard Henderson
771151dc46 * gcc.dg/tree-ssa/pr21985.c: Use size_t.
From-SVN: r101196
2005-06-19 16:59:55 -07:00
Jan Hubicka
7f7b17185b cfgloop.h (DLTHE_RECORD_COPY_NUMBER): New flag.
* cfgloop.h (DLTHE_RECORD_COPY_NUMBER): New flag.
	* cfgloopmanip.c (duplicate_loop_to_header_edge): Set aux flags only
	when asked for.
	* loop-unroll.c (peel_loop_completely, unroll_loop_constant_iterations,
	unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
	Update call of duplicate_loop_to_header_edge.
	(apply_opt_in_copies): Clear out aux pointers.

From-SVN: r101193
2005-06-19 22:40:34 +00:00
Joseph Myers
cac24f06cb i386.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
* config/i386/i386.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
	(ix86_mangle_fundamental_type): New.
	* config/ia64/ia64.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
	(ia64_mangle_fundamental_type): New.

testsuite:
	* g++.dg/abi/mangle24.C, g++.dg/abi/mangle25.C: New tests.

From-SVN: r101191
2005-06-19 21:12:16 +01:00
Joseph Myers
5556f74b3a * de.po: Update.
From-SVN: r101189
2005-06-19 19:24:42 +01:00
Aldy Hernandez
fed3667b01 re PR c++/22115 (testsuite failure: g++.dg/conversion/simd2.C)
PR c++/22115
        * g++.dg/conversion/simd2.C: Change expected error message.

From-SVN: r101188
2005-06-19 17:23:33 +00:00
Roger Sayle
6414bad6d7 c-decl.c (grokdeclarator): Only check TREE_OVERFLOW on INTEGER_CST nodes.
* c-decl.c (grokdeclarator): Only check TREE_OVERFLOW on
	INTEGER_CST nodes.
	* c-typeck.c (build_c_cast): Only preserve TREE_OVERFLOW on
	CONSTANT_CLASS_P nodes.

From-SVN: r101187
2005-06-19 16:55:22 +00:00
Richard Henderson
e364ab3ab7 vect.md (vec_extractv2sf_1): Fix cut-and-paste error; the shift is always required.
* config/ia64/vect.md (vec_extractv2sf_1): Fix cut-and-paste error;
        the shift is always required.

From-SVN: r101186
2005-06-19 09:36:46 -07:00
Richard Henderson
b4e3537b60 ia64-modes.def (V4SF): Add.
* config/ia64/ia64-modes.def (V4SF): Add.
        * config/ia64/ia64.c (ia64_legitimate_constant_p): Handle CONST_VECTOR.
        * config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Allow vector to
        integer mode changes in fp regs.
        * config/ia64/ia64.md (UNSPEC_VECT_EXTR): New.
        * config/ia64/vect.md (smaxv2sf3, sminv2sf3): Fix typos in names.
        (reduc_plus_v2sf, reduc_smax_v2sf, reduc_smin_v2sf): New.
        (vcondv2sf): Use gen_fpack
        (fpack): Remove * from name.
        (fswap, fmix_l, fmix_r, fmix_lr): New.
        (vec_setv2sf, vec_extractv2sf_0_le, vec_extractv2sf_0_be): New.
        (vec_extractv2sf_1, vec_extractv2sf): New.

From-SVN: r101185
2005-06-19 09:10:49 -07:00
Ulrich Weigand
ad0a0295b5 * testsuite/libmudflap.c/externs-1.c (main): Add return statement.
From-SVN: r101184
2005-06-19 16:01:03 +00:00
Andreas Krebbel
966b148a49 combine.c (make_compound_operation): Use simplify_subreg.
2005-06-19  Andreas Krebbel  <krebbel1@de.ibm.com>

	* combine.c (make_compound_operation): Use simplify_subreg.  Delete
	a optimization already done by simplify_subreg.

From-SVN: r101183
2005-06-19 13:29:45 +00:00