Commit Graph

71065 Commits

Author SHA1 Message Date
Richard Henderson
02ee605c6c builtins.c (get_builtin_sync_mode): New.
* builtins.c (get_builtin_sync_mode): New.
        (expand_builtin_sync_operation): Pass in mode argument.
        (expand_builtin_compare_and_swap): Likewise.
        (expand_builtin_lock_test_and_set): Likewise.
        (expand_builtin_lock_release): Likewise.
        (expand_builtin): Update to match.

From-SVN: r104741
2005-09-28 11:16:54 -07:00
Nick Clifton
7d866c52c5 config/v850/v850.h (GO_IF_LEGITIMATE_ADDRESS): Tidy up formatting.
Add check to PLUS case to ensure that the offset is within an acceptable range.

config/v850/v850.md (casesi): Disable the generation of the switch pattern as
it is not being handled properly at the moment.

From-SVN: r104736
2005-09-28 15:56:53 +00:00
Mark Mitchell
9f4a5c9a63 re PR c++/16782 (Accepts qualified member function declaration in class)
PR c++/16782
	* decl.c (grokdeclarator): Always pedwarn about overqualified
	member names.

	PR c++/16782
	* g++.dg/parse/qualified4.C: New test.
	* g++.old-deja/g++.law/static-mem5.C: Use -w -fpermissive.
	* g++.old-deja/g++.mike/p8154.C: Likewise.

From-SVN: r104733
2005-09-28 14:50:17 +00:00
Nick Clifton
1b0792ddf7 config/v850/lib1funcs.asm (___ucmpdi2): Correct jump instruction for when the
high words are identical.

From-SVN: r104730
2005-09-28 09:32:54 +00:00
Richard Henderson
241de8a07a * pretty-print.c (pp_base_format): Fix typo for %>.
From-SVN: r104728
2005-09-27 23:53:12 -07:00
GCC Administrator
7797e3385c Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r104716.2
2005-09-28 00:16:17 +00:00
Mark Mitchell
c43e95f8f5 re PR c++/22147 (ICE in get_bindings)
PR c++/22147
	* name-lookup.c (maybe_process_template_type_declaration): Don't
	treat forward declarations of classes as templates just because
	we're processing_template_decl.
	* pt.c (tsubst_decl): Clear DECL_TEMPLATE_INFO for friend
	functions.

	PR c++/22147
	* g++.dg/template/friend37.C: New test.
	* g++.dg/parse/crash28.C: Adjust error markers.

From-SVN: r104713
2005-09-27 23:31:57 +00:00
Jakub Jelinek
57f0d086d5 re PR fortran/18518 (equivalenced variables are not saved)
PR fortran/18518
	* trans-common.c (build_equiv_decl): Add IS_SAVED argument.
	If it is true, set TREE_STATIC on the decl.
	(create_common): If any symbol in equivalence has SAVE attribute,
	pass true as last argument to build_equiv_decl.

	* gfortran.fortran-torture/execute/save_2.f90: New decl.

From-SVN: r104712
2005-09-27 23:46:14 +02:00
Devang Patel
93954fcc89 re PR tree-optimization/23625 (ICE: in bsi_after_labels, at tree-flow-inline.h:758)
PR tree-optimization/23625
     * tree-flow-inline.h (bsi_after_labels): Remove, first statement is
     LABEL_EXPR, assertion check.

     * gcc.dg/PR23625.c: New test.

From-SVN: r104711
2005-09-27 14:44:55 -07:00
Steve Ellcey
118ea208fa re PR target/23552 (FAIL: gfortran.dg/large_real_kind_1.f90)
PR target/23552
	* acinclude.m4 (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): New.
	(LIBGFOR_CHECK_FOR_BROKEN_ISNAN): New.
	(LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): New.
	* configure.ac (LIBGFOR_CHECK_FOR_BROKEN_ISFINITE): Add use.
	(LIBGFOR_CHECK_FOR_BROKEN_ISNAN): Add use.
	(LIBGFOR_CHECK_FOR_BROKEN_FPCLASSIFY): Add use.
	* configure: Regenerate.
	* config.h.in: Regenerate.
	* libgfortan.h (isfinite): undef if broken, set if needed.
	(isnan): undef if broken, set if needed.
        (fpclassify): undef if broken, set if needed.
	* io/write.c: Remove TODO comment about working isfinite.
	* intrinsics/c99_functions.c (round): Use isfinite instead
	of fpclassify.
	* intrinsics/c99_functions.c (roundf): Ditto.

From-SVN: r104710
2005-09-27 21:12:52 +00:00
J"orn Rennecke
ca7a5aec06 optabs.c (no_conflict_move_test): Check if a result of a to-be-moved insn would be clobbered by an originally...
* optabs.c (no_conflict_move_test): Check if a result of a
	to-be-moved insn would be clobbered by an originally
	preceding insn.

From-SVN: r104709
2005-09-27 22:09:28 +01:00
Uros Bizjak
dbc6e7b800 pr22585.c: Run on 32-bit x86 only.
2005-09-27  Uros Bizjak  <uros@kss-loka.si>

	* gcc.target/i386/pr22585.c: Run on 32-bit x86 only.
	* gcc.target/i386/builtin-apply-mmx.c: Run on 32-bit x86 only.

From-SVN: r104708
2005-09-27 21:04:42 +00:00
Tom Tromey
b9e6a2e5de re PR libgcj/23367 (_Jv_FindMethodInCache is not thread-safe)
PR libgcj/23367:
	* include/jvm.h (_Jv_FreeMethodCache): Declare.
	* java/lang/natClass.cc (MCACHE_SIZE): Conditional on HAVE_TLS.
	(struct _Jv_mcache): Likewise.
	(method_cache): Likewise.
	(_Jv_FindMethodInCache): Do nothing unless TLS is available.
	(_Jv_AddMethodToCache): Likewise.
	(_Jv_FreeMethodCache): New function.
	* java/lang/natThread.cc (finish_): Call _Jv_FreeMethodCache.
	* aclocal.m4, configure, include/config.h.in: Rebuilt.
	* configure.ac: Invoke GCC_CHECK_TLS.

From-SVN: r104707
2005-09-27 20:03:09 +00:00
Tom Tromey
ab3fa9d344 configure, [...]: Rebuilt.
* configure, Makefile.in: Rebuilt.
	* sources.am: Rebuilt.
	* scripts/makemake.tcl (emit_bc_rule): Special-case qt.
	* configure.ac (TOOLKIT): Handle Qt peers properly.

From-SVN: r104706
2005-09-27 18:51:40 +00:00
Jeff Law
f20731b7ca passes.c (init_optimization_passes): Replace copy propagation passes immediately after DOM with phi-only copy...
* passes.c (init_optimization_passes): Replace copy propagation
        passes immediately after DOM with phi-only copy propagation
        pases.  Add phi-only copy propagation pass after first DOM pass.
        * tree-pass.h (pass_phi_only_copy_prop): Declare.
        * tree-ssa-copy.c (init_copy_prop): Accept new PHI_ONLY argument.
        If true, then mark all non-control statements with DONT_SIMULATE_AGAIN.
        (execute_copy_prop): Accept new PHI_ONLY argument.  Pass it along
        to init_copy_prop.  Callers updated.
        (do_phi_only_copy_prop): New function.
        (pass_phi_only_copy_prop): New pass descriptor.

From-SVN: r104705
2005-09-27 12:47:27 -06:00
Nick Clifton
3542b7ccd2 * libgcc2.c (__popcount_tab): Remove redundant prototype.
From-SVN: r104702
2005-09-27 17:11:39 +00:00
Jason Merrill
86ad3aa989 re PR c++/13764 (c++ front-end creates extra blocks)
PR c++/13764
        * c-common.c (finish_fname_decls): Use append_to_statement_list_force.
        * cp/cp-tree.h (FUNCTION_NEEDS_BODY_BLOCK): New macro.
        * cp/name-lookup.c (pushdecl_maybe_friend): Check it.
        * cp/decl.c (begin_function_body): Do nothing if it's false.
        (finish_function_body): Ditto.
        (outer_curly_brace_block): New fn.
        (finish_function): Use it.

From-SVN: r104698
2005-09-27 12:04:25 -04:00
Daniel Berlin
8ec88e19de Add missing part of committed patch from 21st
From-SVN: r104696
2005-09-27 15:33:51 +00:00
Mark Mitchell
affbb54ac4 * argv.c (expandargv): Do not use xmalloc_failed.
From-SVN: r104695
2005-09-27 15:21:41 +00:00
David Edelsohn
f660281695 Correct ChangeLog formatting.
From-SVN: r104683
2005-09-27 00:04:30 -04:00
David Edelsohn
63d261c617 Correct ChangeLog formatting and email address.
From-SVN: r104682
2005-09-27 00:02:35 -04:00
Jason Merrill
4381020e03 * doc/invoke.texi: Clarify documentation of -fno-enforce-eh-specs.
From-SVN: r104681
2005-09-26 23:11:28 -04:00
Benjamin Kosnik
4bd2f9d6a1 2005-09-25 Benjamin Kosnik <bkoz@redhat.com>
Eric Botcazou  <ebotcazou@libertysurf.fr>

	* include/ext/mt_allocator.h
	(__per_type_pool<...true>::_S_initialize_once): Always call
	_M_initialize_once.
	(__common_pool<...true>::_S_initialize_once): Same.

Co-Authored-By: Eric Botcazou <ebotcazou@libertysurf.fr>

From-SVN: r104678
2005-09-27 01:40:46 +00:00
James E Wilson
92b4f0af9d Fix problems with copyrights for files that end up in libgcc.a.
* config/ia64/crtbegin.asm, config/ia64/crtend.asm: Remove glibc
copyright.  Add gcc copyright plus libgcc exception.
* config/ia64/crtfastmath.asm: Remove glibc copyright.  Add gcc
copyright.
* config/ia64/lib1funcs.asm: Add gcc copyright plus libgcc exception.

From-SVN: r104675
2005-09-26 17:52:24 -07:00
GCC Administrator
d5a0cd8d15 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r104671.2
2005-09-27 00:16:45 +00:00
Mark Mitchell
240921b985 * Makefile.in: Regenerated.
From-SVN: r104666
2005-09-26 20:57:42 +00:00
Mark Mitchell
97393d0a03 libiberty.h (expandargv): New function.
* libiberty.h (expandargv): New function.

	* argv.c (safe-ctype.h): Include it.
	(ISBLANK): Remove.
	(stdio.h): Include.
	(buildargv): Use ISSPACE instead of ISBLANK.
	(expandargv): New function.

From-SVN: r104664
2005-09-26 20:55:10 +00:00
Janne Blomqvist
18623faed1 [multiple changes]
2005-09-24  Janne Blomqvist  <jblomqvi@cc.hut.fi>

	* trans-io.c (gfc_build_io_library_fndecls): Add entry
	iocall_x_array for transfer_array. (transfer_array_desc): New
	function. (gfc_trans_transfer): Add code to call
	transfer_array_desc.

2005-09-24  Janne Blomqvist <jblomqvi@cc.hut.fi>

	* io.h: Changed prototypes of list_formatted_{read|write}.
	* list_read.c (list_formatted_read): Renamed to
	list_formatted_read_scalar and made static. (list_formatted_read):
	New function.
	* transfer.c: Prototype for transfer_array. Changed transfer
	function pointer. (unformatted_read): Add nelems argument, use
	it. (unformatted_write): Likewise. (formatted_transfer): Changed
	name to formatted_transfer_scalar. (formatted_transfer): New
	function. (transfer_integer): Add nelems argument to transfer
	call, move updating item count to transfer
	functions. (transfer_real): Likewise. (transfer_logical):
	Likewise. (transfer_character): Likewise. (transfer_complex):
	Likewise. (transfer_array): New function. (data_transfer_init):
	Call formatted_transfer with new argument. (iolength_transfer):
	New argument, use it.
	* write.c (list_formatted_write): Renamed to
	list_formatted_write_scalar, made static. (list_formatted_write):
	New function.

From-SVN: r104662
2005-09-26 20:24:45 +00:00
Jakub Jelinek
d05d9ac771 re PR fortran/23677 (-fno-automatic does not accept legal save statements)
PR fortran/23677
	* symbol.c (gfc_is_var_automatic): Return true if character length
	is non-constant rather than constant.
	* resolve.c (gfc_resolve): Don't handle !gfc_option.flag_automatic
	here.
	* options.c (gfc_post_options): Set gfc_option.flag_max_stack_var_size
	to 0 for -fno-automatic.

	* gfortran.fortran-torture/execute/save_1.f90: New test.
	* gfortran.dg/save_1.f90: New test.

From-SVN: r104661
2005-09-26 22:06:37 +02:00
Tom Tromey
d674eb2f5c float1.c (value_type): New typedef.
* testsuite/libffi.call/float1.c (value_type): New typedef.
	(CANARY): New define.
	(main): Check for result buffer overflow.
	* src/powerpc/linux64.S: Handle linux64 long double returns.
	* src/powerpc/ffi.c (FLAG_RETURNS_128BITS): New constant.
	(ffi_prep_cif_machdep): Handle linux64 long double returns.

From-SVN: r104660
2005-09-26 19:56:22 +00:00
Jeff Law
608af77dc1 tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective about when to iterate.
* tree-ssa-dom.c (tree_ssa_dominator_optimize): Be more selective
        about when to iterate.

From-SVN: r104658
2005-09-26 13:40:20 -06:00
Uros Bizjak
a35074775f re PR target/22576 (ICE with simple factorial program compiled with -ffast-math on gcc 4.0.2)
2005-08-26  Uros Bizjak  <uros@kss-loka.si>

	* gcc.target/i386/builtin-apply-mmx.c: New test.

	PR target/22576
	* gcc.target/i386/pr22576.c: New test.

	PR target/22585
	* gcc.target/i386/pr22585.c: New test.

	PR target/23268
	* gcc.target/i386/pr23268.c: New test.

From-SVN: r104656
2005-09-26 19:19:43 +00:00
Fariborz Jahanian
0f086e42e3 re PR target/23847 (Darwin -mpowerpc64 complex ABI breakage)
PR target/23847.
Oked by David Edelsohn.

From-SVN: r104655
2005-09-26 19:12:30 +00:00
David Edelsohn
e097b4f158 configure.ac: Add check for __clog.
* configure.ac: Add check for __clog.
	* configure: Regenerate.

From-SVN: r104654
2005-09-26 19:08:27 +00:00
Sebastian Pop
c59dabbe46 re PR tree-optimization/23942 (loop problem / testcase takes very long time to compile)
PR tree-optimization/23942
	* Makefile.in (SCEV_H): Depends on PARAMS_H.
	* tree-scalar-evolution.c: Include params.h.
	(t_bool): New enum.
	(follow_ssa_edge, follow_ssa_edge_in_rhs,
	follow_ssa_edge_in_condition_phi_branch,
	follow_ssa_edge_in_condition_phi, follow_ssa_edge_inner_loop_phi):
	Change return type to t_bool.  Use a parameter to limit the size of
	trees that are walked before stopping
	(analyze_evolution_in_loop): Initialize the limit to 0.
	(follow_ssa_edge): Give up by returning t_dont_know if the limit
	exceeds PARAM_SCEV_MAX_EXPR_SIZE.

From-SVN: r104653
2005-09-26 18:44:16 +00:00
Uros Bizjak
0f9284bf83 re PR middle-end/23831 (ICE in immed_double_const with vectorized multipication)
PR middle-end/23831
	* gcc.dg/vect/pr23831.c: New test.

From-SVN: r104651
2005-09-26 18:17:53 +00:00
Uros Bizjak
3242fbd83f re PR middle-end/23831 (ICE in immed_double_const with vectorized multipication)
PR middle-end/23831
	* simplify-rtx.c (simplify_immed_subreg) [MODE_INT]: Skip
	simplification if elem_bitsize > 2 * HOST_BITS_PER_WIDE_INT.

From-SVN: r104650
2005-09-26 18:16:07 +00:00
Fariborz Jahanian
b166bfd224 Check for valid use of subreg.
Oked by Richard Henderson.

From-SVN: r104649
2005-09-26 17:42:16 +00:00
Uros Bizjak
bd0ffa878a re PR target/24055 ("could not split insn" with -O1 -ffast-math)
PR target/24055
	* gcc.target/i386/pr24055.c: New test.

From-SVN: r104648
2005-09-26 17:25:48 +00:00
Uros Bizjak
4d06b0a2fe re PR target/24055 ("could not split insn" with -O1 -ffast-math)
PR target/24055
	* config/i386/i386.md ("*fistdi2_1"): New pattern.
	("*fist<mode>2_1"): Use only HImode and SImode register operands.
	("fist<mode>2_with_temp"): Use only register operands.

From-SVN: r104647
2005-09-26 17:21:00 +00:00
J"orn Rennecke
76dd592360 rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in CALL_INSN_FUNCTION_USAGE.
* rtlanal.c (reg_used_between_p): Don't check for CLOBBERs in
	CALL_INSN_FUNCTION_USAGE.

From-SVN: r104643
2005-09-26 13:12:35 +01:00
Richard Guenther
6cec5cb56a re PR middle-end/15855 (g++ crash with -O2 and -O3 on input file)
2005-09-26  Richard Guenther  <rguenther@suse.de>

	PR middle-end/15855
	* decl2.c (do_static_destruction): Remove.
	(finish_static_initialization_or_destruction): Likewise.
	(DECL_EFFECTIVE_INIT_PRIORITY): New macro.
	(NEEDS_GUARD_P): Likewise.
	(do_static_initialization): Rename to
	do_static_initialization_or_destruction.  Process all
	initializers/destructors and handle common conditionalizing.
	(start_static_initialization_or_destruction): Rename to
	one_static_initialization_or_destruction.  Handle only
	decl-specific conditionalizing.
	(cp_finish_file): Call do_static_initialization_or_destruction.

From-SVN: r104642
2005-09-26 08:42:57 +00:00
Richard Guenther
9727e468b1 re PR middle-end/15855 (g++ crash with -O2 and -O3 on input file)
2005-09-26  Richard Guenther  <rguenther@suse.de>

	PR middle-end/15855
	* gcse.c: Include hashtab.h, define ldst entry hashtable.
	(pre_ldst_expr_hash, pre_ldst_expr_eq): New functions.
	(ldst_entry): Use the hashtable instead of list-walking.
	(find_rtx_in_ldst): Likewise.
	(free_ldst_entry): Free the hashtable.
	(compute_ld_motion_mems): Create the hashtable.
	(trim_ld_motion_mems): Remove entry from hashtable if
	removing it from list.
	(compute_store_table): Likewise^2.
	(store_motion): Free hashtable in case we did not see
	any stores.

From-SVN: r104641
2005-09-26 08:38:29 +00:00
Kazu Hirata
3f1dfb4145 re PR middle-end/23960 (ICE in compare_values in VRP)
gcc/
	PR tree-optimization/23960
	* fold-const.c (fold_binary): Use op0 and op1 instead of arg0
	and arg1 if we are passing them to fold_build2.

gcc/testsuite/
	PR tree-optimization/23960
	* gcc.c-torture/compile/pr23960.c: New.

From-SVN: r104634
2005-09-26 01:28:50 +00:00
GCC Administrator
89251091ec Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r104631.2
2005-09-26 00:16:15 +00:00
Francois-Xavier Coudert
1409cd0b8e c99_protos.h: Add prototypes for C99 complex functions.
* c99_protos.h: Add prototypes for C99 complex functions.
	* libgfortran.h: Include complex.h before c99_protos.h.
	* intrinsics/c99_functions.c: Define HAVE_ macros for the
	fallback functions we provide.
	(cabsf, cabs, cabsl, cargf, carg, cargl, cexpf, cexp, cexpl,
	clogf, clog, clogl, clog10f, clog10, clog10l, cpowf, cpow, cpowl,
	cqsrtf, csqrt, csqrtl, csinhf, csinh, csinhl, ccoshf, ccosh,
	ccoshl, ctanhf, ctanh, ctanhl, csinf, csin, csinl, ccosf, ccos,
	ccosl, ctanf, ctan, ctanl): New fallback functions.
	* Makefile.am (gfor_math_trig_c, gfor_math_trig_obj,
	gfor_specific_c, gfor_cmath_src, gfor_cmath_obj): Remove.
	* Makefile.in: Regenerate.
	* configure.ac: Remove checks for csin. Add checks for all C99
	complex functions.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

From-SVN: r104626
2005-09-25 21:39:58 +00:00
Francois-Xavier Coudert
86ab632081 re PR libfortran/23803 ([mingw32] getlog malfunction)
PR libfortran/23803
	* intrinsics/getXid.c: Add getpid wrapper for MinGW.
	* intrinsics/getlog.c: Add getlogin wrapper for MinGW.
	* intrinsics/hostnm.c: Add gethostname wrapper for MinGW.

Co-Authored-By: Danny Smith <dannysmith@users.sourceforge.net>

From-SVN: r104624
2005-09-25 21:02:17 +00:00
Dan Nicolaescu
ad90e28f8f re PR target/23828 (local calling convention not used when using --combine)
PR 23828
* config/i386/i386.c (ix86_function_regparm): Fix the test for
a nested function.

From-SVN: r104623
2005-09-25 20:01:07 +00:00
Richard Henderson
f6326c19c7 alpha.c (tls_symbolic_operand_1): Trust SYMBOL_REF_TLS_MODEL to be correct.
* config/alpha/alpha.c (tls_symbolic_operand_1): Trust
        SYMBOL_REF_TLS_MODEL to be correct.

From-SVN: r104622
2005-09-25 11:34:45 -07:00
Richard Henderson
2eca7d1572 ipa-type-escape.c (discover_unique_type): Remove dead code at end of function.
* ipa-type-escape.c (discover_unique_type): Remove dead code at
        end of function.  Reindent.

From-SVN: r104619
2005-09-24 22:28:01 -07:00