Commit Graph

72238 Commits

Author SHA1 Message Date
Jason Merrill 5b009a9670 re PR c++/21123 (ICE in cp_expr_size, at cp/cp-objcp-common.c:101)
PR c++/21123
        * cp-gimplify.c (cp_genericize_r): Don't dereference invisible reference
        parms in a thunk.

From-SVN: r107738
2005-11-30 15:58:27 -05:00
Richard Guenther d090221b94 re PR tree-optimization/22501 ([meta-bug] tramp3d-v4 missed optimizations)
2005-11-30  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/22501
	* tree-ssa-forwprop.c (forward_propagate_addr_expr_1): New
	function split out from ...
	(forward_propagate_addr_expr): ... here.  Use it to propagate
	ADDR_EXPRs to all uses.

From-SVN: r107737
2005-11-30 20:55:41 +00:00
Volker Reichelt ea6a662747 tree.h (CASE_FLT_FN, [...]): New macros.
* tree.h (CASE_FLT_FN, CASE_INT_FN): New macros.
	* builtins.c (expand_builtin_mathfn): Use them.
	(expand_builtin_mathfn_2): Likewise.
	(expand_builtin_mathfn_3): Likewise.
	(expand_builtin_int_roundingfn): Likewise.
	(expand_builtin): Likewise.
	(integer_valued_real_p): Likewise.
	(fold_builtin_int_roundingfn): Likewise.
	(fold_builtin_bitop): Likewise.
	(fold_builtin_logarithm): Likewise.
	(fold_builtin_1): Likewise.
	* convert.c (convert_to_integer): Likewise.
	* fold-const.c (negate_mathfn_p): Likewise.
	(tree_expr_nonnegative_p): Likewise.

From-SVN: r107733
2005-11-30 19:59:50 +00:00
Dale Johannesen f6173932d3 combine.c (find_split_point): Sign extend bitmask when changing bitfield assignment to IOR of AND.
2005-11-30  Dale Johannesen  <dalej@apple.com>
            Andrew Pinski  <pinskia@physics.uc.edu>

	* combine.c (find_split_point):  Sign extend bitmask
	when changing bitfield assignment to IOR of AND.

2005-11-30  Dale Johannesen  <dalej@apple.com>

	* gcc.c-torture/compile/pr24930.c:  New.


Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>

From-SVN: r107731
2005-11-30 18:19:16 +00:00
Paul Thomas 99c7ab426c [multiple changes]
2005-11-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/15809
	* trans-decl.c (gfc_get_symbol_decl):  In the case of automatic
	character length, dummy pointer arrays, build an expression for
	unit size of the array elements, to be picked up and used in the
	descriptor dtype.
	* trans-io.c (gfc_trans_transfer):  Modify the detection of
	components of derived type arrays to use the gfc_expr references
	instead of the array descriptor dtype.  This allows the latter
	to contain expressions.

2005-11-30  Erik Edelmann  <erik.edelmann@iki.fi>

	PR fortran/15809
	* trans-array.c (gfc_trans_deferred_array):  Allow PARM_DECLs past
	in addition to VAR_DECLs.

2005-11-30  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/15809
	*  gfortran.dg/auto_char_dummy_array.f90: New test.

From-SVN: r107727
2005-11-30 17:26:40 +00:00
Nathan Sidwell e541c31f4c ms1.md (decrement_and_branch_until_zero): Add early clobber to scratch reg.
* config/ms1/ms1.md (decrement_and_branch_until_zero): Add early
	clobber to scratch reg.
	(*decrement_and_branch_until_zero_no_clobber): Remove.
	(decrement_and_branch peephole): Add dummy scratch reg to pattern.
	(mulhish3): Use TARGET_MS1_16_003, TARGET_MS2.
	* config/ms1/ms1.opt (mmul): Remove.
	* config/ms1/ms1.h (ASM_SPEC): Cope with uppercase arch names.
	(LINK_SPEC, STARTFILE_SPEC, ENDFILE_SPEC): Default to 16-002.

From-SVN: r107720
2005-11-30 16:29:43 +00:00
John David Anglin ec96361103 predicates.md (symbolic_operand): Add comment.
* pa/predicates.md (symbolic_operand): Add comment.
	* pa/pa.md (reload_insi_r1, reload_indi_r1): New reload expanders.
	* pa/pa-protos.h (pa_secondary_reload_class): Delete.
	* pa/pa.c (TARGET_SECONDARY_RELOAD): Define.
	(pa_secondary_reload_class): Delete.
	(pa_secondary_reload): New function derived from SECONDARY_RELOAD_CLASS
	and pa_secondary_reload_class.  Reorder some checks.  Update inline
	copy of symbolic operand.
	* pa/pa.h (SECONDARY_RELOAD_CLASS): Delete.


Co-Authored-By: Bernd Schmidt <bernd.schmidt@analog.com>

From-SVN: r107719
2005-11-30 13:51:32 +00:00
Andrew Haley b6a8dc3ad6 Makefile.am (resources): Use `cp -p'.
2005-11-30  Andrew Haley  <aph@redhat.com>

	* classpath/lib/Makefile.am (resources): Use `cp -p'.
	Remove `@' from start of line.

From-SVN: r107714
2005-11-30 12:50:52 +00:00
Nathan Sidwell f937df35a4 loop-doloop.c (add_test): Only add jump notes if we did emit a jump.
* loop-doloop.c (add_test): Only add jump notes if we did emit a
	jump.

From-SVN: r107713
2005-11-30 11:12:36 +00:00
Jeff Law 224b4faf20 tree-ssa-uncprop.c (associate_equivalences_with_edges): Properly handle SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
* tree-ssa-uncprop.c (associate_equivalences_with_edges): Properly
        handle SSA_NAME_OCCURS_IN_ABNORMAL_PHI.

        * g++.old-deja/g++.law/pr25000.C: New test.

From-SVN: r107710
2005-11-30 01:53:22 -07:00
Eric Botcazou a488b14d1b libgfortran.h (ILP32 typedefs): Define _UINT8_T, _UINT32_T and _UINT64_T on Solaris.
* libgfortran.h (ILP32 typedefs): Define _UINT8_T, _UINT32_T and
	_UINT64_T on Solaris.

From-SVN: r107708
2005-11-30 08:45:25 +00:00
Jakub Jelinek b15b83fb3b ia64.c (ia64_expand_tls_address): Add ORIG_OP1 argument.
* config/ia64/ia64.c (ia64_expand_tls_address): Add ORIG_OP1 argument.
	Move ADDEND_{HI,LO} computation into TLS_MODEL_INITIAL_EXEC case.
	(ia64_expand_move): Adjust caller.

	* gcc.dg/tls/opt-11.c: New test.

From-SVN: r107704
2005-11-30 09:32:16 +01:00
Jakub Jelinek dca1376799 ia64.c (ia64_expand_atomic_op): Only use fetchadd{4,8}.acq instruction if CODE is PLUS or MINUS...
* config/ia64/ia64.c (ia64_expand_atomic_op): Only use
	fetchadd{4,8}.acq instruction if CODE is PLUS or MINUS, for MINUS
	negate VAL.

From-SVN: r107703
2005-11-30 09:30:48 +01:00
Paolo Bonzini 1941069a58 simplify-rtx.c (simplify_plus_minus): Remove final parameter.
2005-11-30  Paolo Bonzini  <bonzini@gnu.org>

	* simplify-rtx.c (simplify_plus_minus): Remove final parameter.
	Always produce an output if we can remove NEGs or canonicalize
	(minus (minus ...)) expressions.  Provide a fast path for the
	two-operand case.
	(simplify_gen_binary): Do not call simplify_plus_minus.
	(simplify_binary_operation_1): Reassociate at the end of the
	function.

From-SVN: r107702
2005-11-30 08:20:23 +00:00
David S. Miller 77bfa77887 * tree-into-ssa.c (rewrite_into_ssa): Fix comment typo.
From-SVN: r107701
2005-11-29 23:06:54 -08:00
Evan Cheng be7724ed74 xmmintrin.h (_MM_TRANSPOSE4_PS): Rewrite using high/low moves and unpack to speed up.
2005-11-29  Evan Cheng  <evan.cheng@apple.com>

        * config/i386/xmmintrin.h (_MM_TRANSPOSE4_PS): Rewrite using high/low
        moves and unpack to speed up.

From-SVN: r107700
2005-11-30 06:29:07 +00:00
David S. Miller 7e04157d14 sparc.c (gen_compare_reg): Kill 2nd and 3rd argument, they are always sparc_compare_op0 and sparc_compare_op1.
* config/sparc/sparc.c (gen_compare_reg): Kill 2nd and 3rd
	argument, they are always sparc_compare_op0 and sparc_compare_op1.
	(gen_v9_scc): Update callers.
	* config/sparc/sparc.md: Likewise.
	* config/sparc/sparc-protos.h: Update extern declaration.

From-SVN: r107696
2005-11-29 18:03:37 -08:00
Gerald Pfeifer da817a2fea decContext.h: Properly guard inclusion of stdint.h
* decContext.h: Properly guard inclusion of stdint.h
	* decContext.c: Include config.h
	* decLibrary.c: Ditto.
	* decNumber.c: Ditto.
	* decRound.c: Ditto.
	* decUtility.c: Ditto.
	* decimal32.c: Ditto.
	* decimal64.c: Ditto.
	* decimal128.c: Ditto.

From-SVN: r107695
2005-11-30 01:53:08 +00:00
GCC Administrator d2739ff50c Daily bump.
From-SVN: r107691
2005-11-30 00:17:18 +00:00
Andrew Pinski 8bce9e986f fold-const.c (negate_expr): Add break after the if.
2005-11-29  Andrew Pinski  <pinskia@physics.uc.edu>

        * fold-const.c (negate_expr) <case BIT_NOT_EXPR>: Add break after
        the if.

From-SVN: r107682
2005-11-29 14:18:04 -08:00
Tom Tromey 9b4ca617e8 compress.c (write_data): Mark 'ze' as unused.
* compress.c (write_data): Mark 'ze' as unused.
	* jartool.h (__attribute__): New define.
	* shift.c (shift_up): Added cast.
	(shift_down): Likewise.
	* jartool.c (help): Split string constant.

From-SVN: r107681
2005-11-29 21:46:02 +00:00
Tom Tromey 3141ed0fe0 re PR java/18278 (JNI functions cannot return a weak reference)
gcc/java:
	PR java/18278:
	* expr.c (build_jni_stub): Unwrap the return value.
	* java-tree.h (soft_unwrapjni_node): New define.
	(enum java_tree_index): Added JTI_SOFT_UNWRAPJNI_NODE.
	* decl.c (java_init_decl_processing): Initialize
	soft_unwrapjni_node.
libjava:
	PR java/18278:
	* testsuite/libjava.jni/pr18278.out: New file.
	* testsuite/libjava.jni/pr18278.c: New file.
	* testsuite/libjava.jni/pr18278.java: New file.
	* include/jvm.h (_Jv_UnwrapJNIweakReference): Declare.
	* jni.cc (_Jv_UnwrapJNIweakReference): New function.
	(call): Unwrap return value if needed.

From-SVN: r107676
2005-11-29 18:34:58 +00:00
Joseph Myers 4311c8e54c fp-int-convert-timode.c: XFAIL only on lp64 targets.
* gcc.dg/torture/fp-int-convert-timode.c: XFAIL only on lp64
	targets.
	* gcc.dg/torture/fp-int-convert-float128-timode.c: XFAIL also for
	LP64 ia64.

From-SVN: r107674
2005-11-29 17:52:43 +00:00
Andrew Pinski 189d4130c0 fold-const.c (negate_expr_p): Return true for BIT_NOT_EXPR.
2005-11-29  Andrew Pinski  <pinskia@physics.uc.edu>

        * fold-const.c (negate_expr_p): Return true for BIT_NOT_EXPR.
        (fold_unary) <case NEGATE_EXPR>: Move -(~a) transformation to ...
        (negate_expr): Here.

From-SVN: r107671
2005-11-29 07:26:21 -08:00
Ben Elliston 719fbd9932 * typeck.c (build_x_unary_op): Correct spelling in error message.
From-SVN: r107670
2005-11-30 00:10:24 +11:00
Ben Elliston ead903e9ee i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Fix typo in comment.
* config/i386/i386.h (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN):
	Fix typo in comment.

From-SVN: r107669
2005-11-30 00:02:50 +11:00
Ben Elliston 2f3bdde794 Makefile.tpl (clean-target-libgcc): Invoke clean-target-libgcc from the gcc build directory.
* Makefile.tpl (clean-target-libgcc): Invoke clean-target-libgcc
	from the gcc build directory.
	* Makefile.in: Regenerate.
gcc/
	* Makefile.in (clean-target): Depend on clean-target-libgcc.
	(clean-target-libgcc): Import rule from the top-level Makefile.in.

From-SVN: r107668
2005-11-29 23:31:26 +11:00
Jakub Jelinek 1e90e92f6d io.c (gfc_resolve_open): RESOLVE_TAG access field as well.
* io.c (gfc_resolve_open): RESOLVE_TAG access field as well.

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

From-SVN: r107665
2005-11-29 13:00:01 +01:00
Ben Elliston a4b6c45ad3 Start building libdecnumber at the top-level:
* Makefile.def: Add new libdecnumber host_module.  Make all-gcc
	depend on all-libdecnumber.
	* configure.in (host_libs): Include libdecnumber.
	* Makefile.in: Regenerate.
	* configure: Likewise.

From-SVN: r107659
2005-11-29 18:44:59 +11:00
Ben Elliston fbdb1ec65a Some cleanups from dfp-branch:
* decUtility.c: Remove redundant #includes.
	* decUtility.h (__dec_byte_swap): Remove prototype.

From-SVN: r107658
2005-11-29 18:41:30 +11:00
Steven G. Kargl 9852c209be re PR fortran/25149 (Compiler dies on -std=f95)
2005-11-28  Steven G. Kargl  <kargls@comcast.net>

	PR libgfortran/25149
	* intrinsics/abort.c: Add external abort_ to allow linking when 
	invoking -std=f95 in testsuite.

From-SVN: r107655
2005-11-29 05:52:57 +00:00
Kaveh R. Ghazi 000ba23d04 re PR middle-end/20109 (printf optimizations and non-ASCII character sets)
PR middle-end/20109
	PR middle-end/25120
	* builtins.c (init_target_chars): New.
	(expand_builtin_printf, expand_builtin_fprintf,
	expand_builtin_sprintf, fold_builtin_sprintf,
	maybe_emit_sprintf_chk_warning, fold_builtin_sprintf_chk,
	fold_builtin_snprintf_chk, fold_builtin_printf,
	fold_builtin_fprintf): Check for matching format strings using
	the target charset.
	
testsuite:
	* gcc.dg/charset/builtin2.c: New test.

From-SVN: r107652
2005-11-29 05:17:20 +00:00
Ben Elliston 8fdb0857e9 Autoconfiscate this directory:
* configure.ac: New file.
	* aclocal.m4: Likewise.
	* Makefile.in: Likewise.
	* configure: Generate.
	* config.in: Likewise.

From-SVN: r107650
2005-11-29 15:09:41 +11:00
Paul Brook 0cb5c97cbd config.gcc: Do not use fixproto on m68k-elf.
2005-11-29  Paul Brook  <paul@codesourcery.com>

	* config.gcc: Do not use fixproto on m68k-elf.

From-SVN: r107644
2005-11-29 03:20:19 +00:00
Roger Sayle a28b2ac662 expmed.c (div_cost): Replace with...
* expmed.c (div_cost): Replace with...
	(sdiv_cost, udiv_cost): New.
	(init_expmed): Initialize sdiv_cost and udiv_cost, not div_cost.
	Rename the div and mod fields, used to initialize sdiv_pow2_cheap
	and smod_pow2_cheap, to sdiv_32 and smod_32 to avoid confusion.
	(expand_divmod): Replace use of div_cost with either sdiv_cost
	or udiv_cost depending upon the signedness of the operation.

From-SVN: r107641
2005-11-29 03:06:14 +00:00
Alexandre Oliva 0a6a4494e4 re PR libfortran/24991 (gfortran build fails with - error:gthr-default.h: No such file or directory)
PR libfortran/24991
* config/darwin.c (machopic_indirection_name,
machopic_output_indirection): Follow transparent alias chain.

From-SVN: r107639
2005-11-29 00:47:28 +00:00
GCC Administrator 6b12b9b330 Daily bump.
From-SVN: r107636
2005-11-29 00:17:37 +00:00
Ben Elliston 473a74b91e * libdecnumber: Import decNumber sources from the dfp-branch.
From-SVN: r107629
2005-11-29 09:30:30 +11:00
Jakub Jelinek e669bd2b69 acinclude.m4 (LIBGFOR_CHECK_PRAGMA_WEAK): Rename to...
libfortran/24991
	* acinclude.m4 (LIBGFOR_CHECK_PRAGMA_WEAK): Rename to...
	(LIBGFOR_GTHREAD_WEAK): ... this.  Define SUPPORTS_WEAK rather
	than HAVE_PRAGMA_WEAK.  Define GTHREAD_USE_WEAK to 0 on hosts
	that shouldn't use weak in gthr.h.
	* configure.ac: Use LIBGFOR_GTHREAD_WEAK instead of
	LIBGFOR_CHECK_PRAGMA_WEAK.
	* config.h.in: Regenerated.
	* configure: Regenerated.
	* io/io.h (SUPPORTS_WEAK): Don't define here.

From-SVN: r107616
2005-11-28 20:51:02 +01:00
Jakub Jelinek c869fb40ac struct-layout-1_generate.c: Add -w option on mmix-*-* for *_[xy].c.
* gcc.dg/compat/struct-layout-1_generate.c: Add -w option
	on mmix-*-* for *_[xy].c.

From-SVN: r107615
2005-11-28 20:45:46 +01:00
Alexandre Oliva 2979bcca5d * varasm.c (ultimate_transparent_alias_target): Add comment.
From-SVN: r107611
2005-11-28 18:18:54 +00:00
Kean Johnston 1ac221f2df re PR testsuite/19231 (Execute failure in gcc.c-torture/execute/builtins/strlen-3.c with -fpic/-fPIC)
* g++.dg/opt/range-test-1.C: Prevent re-inclusion of system
	headers.
	* g++.old-deja/g++.law/profile1.C: No longer expect fail on OSR5.
	* gcc.c-torture/compile/20000804-1.c: Skip if using -fPIC on X86.
	* gcc.target/i386/asm-3.c: Ditto.
	* gcc.target/i386/clobbers.c: Ditto.
	* gcc.dg/tree-ssa/ssa-dce-2.c: Make t() static and prototype it.
	* gcc.target/i386/cmov1.c: Make magic* static so it matches the
	test regexp.
	* gcc.target/i386/mul.c: Ditto.
	* gcc.target/i386/ssetype-1.c: Ditto.
	* gcc.dg/20040813-1.c: Skip on SVR5 systems.
	* gcc.c-torture/execute/builtins/strlen-3.c: Declare variables as
	static so the test works with -fPIC mode too. Based on comment in
	PR19231 by Pinski.
	* gcc.dg/nest.c: No longer fail on SCO systems as it has -pg again.

From-SVN: r107608
2005-11-28 18:01:50 +00:00
Geoffrey Keating 3327e41f58 GCC Regression Tester.wdgt: Rename to GCC_Regression_Tester.wdgt.
* GCC Regression Tester.wdgt: Rename to GCC_Regression_Tester.wdgt.
	* GCC_Regression_Tester.wdgt/Info.plist
	(CFBundleDisplayName): Update for rename.
	(CFBundleName): Use shorter name.
	(CFBundleVersion): Update to 1.0.1.
	(CFBundleShortVersionString): Update to 1.0.1.
	(LSHasLocalizedDisplayName): New.
	(NSHumanReadableCopyright): New.
	* GCC_Regression_Tester.wdgt/de.lproj/InfoPlist.strings: New.
	* GCC_Regression_Tester.wdgt/en.lproj/InfoPlist.strings: New.
	* GCC_Regression_Tester.wdgt/ja.lproj/InfoPlist.strings: New.

	* GCC_Regression_Tester.wdgt/widget.html: Use max-age=30
	to help out intermediate caches.

From-SVN: r107606
2005-11-28 17:41:07 +00:00
Kazu Hirata e1dff52ac9 m68k.c (notice_update_cc): Use SET_DEST and SET_SRC instead of XEXP where appropriate.
* config/m68k/m68k.c (notice_update_cc): Use SET_DEST and
	SET_SRC instead of XEXP where appropriate.

From-SVN: r107605
2005-11-28 17:01:21 +00:00
Joseph Myers 78815c5590 fp-bit.c (isnan, [...]): Use __builtin_expect.
* config/fp-bit.c (isnan, isinf, pack_d, unpack_d): Use
	__builtin_expect.

From-SVN: r107603
2005-11-28 13:42:32 +00:00
Joseph Myers e13dd54f7a fp-bit.h (LSHIFT): Take shift count parameter.
* config/fp-bit.h (LSHIFT): Take shift count parameter.
	* config/fp-bit.c (_fpadd_parts): Shift in one go instead of one
	bit at a time.

From-SVN: r107602
2005-11-28 13:41:38 +00:00
Bernd Schmidt e97f20583c bfin.c (bfin_secondary_reload): Renamed from secondary_input_reload_class, made static.
* config/bfin/bfin.c (bfin_secondary_reload): Renamed from
	secondary_input_reload_class, made static.  Adapt to new
	infrastructure.
	(secondary_output_reload_class): Delete.
	(TARGET_SECONDARY_RELOAD): New macro.
	* config/bfin/bfin.h (SECONDARY_INPUT_RELOAD_CLASS,
	SECONDARY_OUTPUT_RELOAD_CLASS): Delete.

From-SVN: r107601
2005-11-28 12:59:34 +00:00
Nathan Sidwell 646c083546 re PR c++/21166 (g++ gives error on reference to packed structure elements)
.:	PR c++/21166
	* c-decl.c (finish_struct):  Only set DECL_PACKED on a field
	when its natural alignment is > BITS_PER_UNIT.
	* stor-layout.c (finalize_type_size): Revert my patch of 2005-08-08.
	* c-common.c (handle_packed_attribute): Ignore packing on a field
	whose type is naturally char aligned.
cp:
	PR c++/21166
	* class.c (check_field_decls): Only set DECL_PACKED on a field
	when its natural alignment is > BITS_PER_UNIT.

From-SVN: r107599
2005-11-28 10:34:30 +00:00
Richard Guenther bbee4b6468 c-common.c (strict_aliasing_warning): Handle all component-ref like accesses.
2005-11-28  Richard Guenther  <rguenther@suse.de>

	* c-common.c (strict_aliasing_warning): Handle all
	component-ref like accesses.

	* gcc.dg/alias-9.c: New testcase.
	* g++.dg/warn/Wstrict-aliasing-7.C: Likewise.

From-SVN: r107598
2005-11-28 10:00:55 +00:00
Roger Sayle d531830f5d re PR middle-end/20219 (Missed optimisation sin / tan --> cos)
PR middle-end/20219
	* fold-const.c (fold binary) <RDIV_EXPR>: Optimize 
	sin(x)/tan(x) as cos(x) and tan(x)/sin(x) as 1.0/cos(x)
	when flag_unsafe_math_optimizations is set and
	we don't care about NaNs or Infinities.

	Move x/expN(y) and x/pow(y,z) transformation into common
	flag_unsafe_math_optimizations section.

testsuite/

	* gcc.dg/builtins-20.c: Add checks for sin(x)/tan(x) and
	tan(x)/sin(x) transformations.


Co-Authored-By: Uros Bizjak <uros@kss-loka.si>

From-SVN: r107597
2005-11-28 08:29:43 +01:00