Commit Graph

67326 Commits

Author SHA1 Message Date
Kaveh R. Ghazi
0d667716cb configure.ac (fixincludes_UNLOCKED_FUNCS): New.
fixincludes:
	* configure.ac (fixincludes_UNLOCKED_FUNCS): New.
	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for fixincludes_UNLOCKED_FUNCS.
	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
	_unlocked function.
	(fwrite_unlocked): Fix prototype.

	* configure, config.h.in: Regenerate.

gcc:
	PR/17092
	* configure.ac (gcc_UNLOCKED_FUNCS): New.
	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for gcc_UNLOCKED_FUNCS.
	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
	_unlocked function.
	(fwrite_unlocked): Fix prototype.

	* configure, config.in: Regenerate.

libcpp:
	* configure.ac (libcpp_UNLOCKED_FUNCS): New.
	(AC_CHECK_FUNCS, AC_CHECK_DECLS): Check for libcpp_UNLOCKED_FUNCS.
	* system.h (putchar, getc, getchar, clearerr, feof, fileno,
	fflush, fgetc, fgets, ferror, fread): Redefine to the associated
	_unlocked function.
	(fwrite_unlocked): Fix prototype.

	* configure, config.in: Regenerate.

From-SVN: r97986
2005-04-11 21:46:59 +00:00
David Edelsohn
37cca40554 tree-ssa-loop-im.c: Include real.h.
* tree-ssa-loop-im.c: Include real.h.
        (determine_invariantness_stmt): If real division divisor is
        invariant and flag_unsafe_math_optimizations enabled, generate
        invariant reciprocal for hoisting.
        * Makefile.in (tree-ssa-loop-im.o): Add real.h dependency.

From-SVN: r97983
2005-04-11 16:17:38 -04:00
Daniel Berlin
9458912079 re PR tree-optimization/20926 (ICE: tree check, in recent builds)
2005-04-11  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/20926

	* tree-ssa-alias.c (add_type_alias): Handle subvars.

From-SVN: r97982
2005-04-11 20:15:33 +00:00
Devang Patel
19f1ebc794 rs6000.c (rs6000_emit_vector_select): Fix vector select operand ordering.
* config/rs6000.c (rs6000_emit_vector_select): Fix vector select
       operand ordering.

From-SVN: r97981
2005-04-11 12:47:44 -07:00
Andrew Pinski
6405f32f73 fold-const.c (fold_binary_op_with_conditional_arg): use fold_buildN instead of "fold (buildN" in some non obvious places.
2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>

        * fold-const.c (fold_binary_op_with_conditional_arg):
        use fold_buildN instead of "fold (buildN" in some
        non obvious places.
        (fold_unary): Likewise.
        (fold_binary): Likewise.

From-SVN: r97980
2005-04-11 12:00:46 -07:00
Daniel Berlin
e5e656a499 re PR tree-optimization/20612 (ICE in verify_ssa for -ftree-loop-linear)
2005-04-11  Daniel Berlin  <dberlin@dberlin.org>

	Fix PR tree-optimization/20612
	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Fix increment
	handling
	(perfect_nestify): preheaderbb is *not* part of loop of the
	old destination.

From-SVN: r97979
2005-04-11 18:55:47 +00:00
Andrew Pinski
d3010d7286 alias-1.c: New test.
2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>

        * gcc.dg/tree-ssa/alias-1.c: New test.
2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>

        * tree-ssa-alias.c (may_alias_p): If the variable
        is a global variable and the pointer is parameter
        and -fargument-noalias-global is used, then
        the pointer cannot alias the variable.

From-SVN: r97978
2005-04-11 11:25:08 -07:00
Kaveh R. Ghazi
78a7dc9032 libiberty.h (fopen_unlocked, [...]): Provide prototypes for new functions.
include:
	* libiberty.h (fopen_unlocked, fdopen_unlocked, freopen_unlocked):
	Provide prototypes for new functions.

libiberty:
	* Makefile.in (CFILES): Add fopen_unlocked.c.
	(REQUIRED_OFILES): Add ./fopen_unlocked.o.
	Regenerate dependencies.

	* configure.ac: Check for stdio_ext.h and __fsetlocking.

	* fopen_unlocked.c: New file.

	* functions.texi, configure, config.in: Regenerate.

From-SVN: r97977
2005-04-11 17:49:47 +00:00
James A. Morrison
f5f7d171c3 sparc.c: Use gcc_assert and gcc_unreachable.
2005-04-11  James A. Morrison  <phython@gcc.gnu.org>

        * config/sparc/sparc.c: Use gcc_assert and gcc_unreachable.
        * config/sparc/sparc.h: Likewise.
        * config/sparc/sparc.md: Likewise.

From-SVN: r97976
2005-04-11 17:40:55 +00:00
Kazu Hirata
977ec5f82c * tree-vrp.c: Fix a comment typo.
From-SVN: r97974
2005-04-11 16:05:56 +00:00
Kazu Hirata
8e774944a1 * tree-vrp.c (maybe_add_assert_expr): Move a comment.
From-SVN: r97973
2005-04-11 16:01:37 +00:00
Devang Patel
edc2eb9eea Add missing ChangeLog entry.
From-SVN: r97972
2005-04-11 11:34:10 -04:00
Diego Novillo
9fabf0d462 re PR tree-optimization/20920 (ICE with eh and VRP)
PR tree-optimization/20920
	* tree-pretty-print.c (dump_generic_node): Show '(ab)' if an
	SSA_NAME flows through an abnormal edge.
	* tree-vrp.c (infer_value_range): Ignore SSA names that flow
	through abnormal edges.
	(maybe_add_assert_expr): Likewise.

	PR tree-optimization/20920
	* g++.dg/tree-ssa/pr20920.C: New test.

From-SVN: r97971
2005-04-11 11:05:50 -04:00
Richard Sandiford
f5db779b2b * config/s390/s390.h (s390_tune_string, s390_arch_string)
(s390_warn_framesize_string, s390_warn_dynamicstack_string)
	(s390_stack_size_string, s390_stack_guard_string, target_flags)
	(MASK_HARD_FLOAT, MASK_SMALL_EXEC, MASK_DEBUG_ARG, MASK_64BIT)
	(MASK_ZARCH, MASK_MVCLE, MASK_TPF_PROFILING, MASK_NO_FUSED_MADD)
	(MASK_BACKCHAIN, MASK_PACKED_STACK, TARGET_HARD_FLOAT)
	(TARGET_SOFT_FLOAT, TARGET_SMALL_EXEC, TARGET_DEBUG_ARG)
	(TARGET_64BIT, TARGET_ZARCH, TARGET_MVCLE, TARGET_TPF_PROFILING)
	(TARGET_NO_FUSED_MADD, TARGET_FUSED_MADD, TARGET_BACKCHAIN)
	(TARGET_PACKED_STACK, TARGET_SWITCHES, TARGET_OPTIONS): Delete.
	* config/s390/s390.c (TARGET_DEFAULT_TARGET_FLAGS): Override default.
	(TARGET_HANDLE_OPTION): Likewise.
	(s390_tune): Initialize to PROCESSOR_max.
	(s390_arch_string): Make static.
	(s390_tune_string, s390_warn_framesize_string): Delete.
	(s390_warn_dynamicstack_string, s390_stack_size_string): Delete.
	(s390_stack_guard_string, s390_warn_dynamicstack_p): Delete.
	(s390_handle_arch_option, s390_handle_option): New functions.
	(override_options): Remove parsing of option strings.
	* config/s390/s390.opt: New file.

From-SVN: r97968
2005-04-11 14:04:07 +00:00
Paolo Bonzini
84971f0156 tree-complex.c (expand_vector_operations): Call update_stmt_if_modified.
2005-04-11  Paolo Bonzini  <bonzini@gnu.org>

	* tree-complex.c (expand_vector_operations): Call
	update_stmt_if_modified.

From-SVN: r97966
2005-04-11 12:11:46 +00:00
Paolo Bonzini
57d1677d8d tree-vect-analyze (vect_determine_vectorization_factor): Do not use GET_MODE_NUNITS.
2005-04-11  Paolo Bonzini  <bonzini@gnu.org>

	* tree-vect-analyze (vect_determine_vectorization_factor):
	Do not use GET_MODE_NUNITS.
	* tree-vect-transform.c (vect_get_vec_def_for_operand,
	(vectorizable_load, vect_transform_loop): Likewise.

From-SVN: r97965
2005-04-11 07:31:21 +00:00
Uros Bizjak
f94b16611c * builtins.def (BUILT_IN_LCEIL, BUILT_IN_LCEILF, BUILT_IN_LCEILL)
(BUILT_IN_LLCEIL, BUILT_IN_LLCEILF, BUILT_IN_LLCEILL): New.
	* optabs.h (enum optab_index): Add new OTI_lceil.
	(lceil_optab): Define corresponding macro.
	* optabs.c (init_optabs): Initialize lceil_optab.
	* genopinit.c (optabs): Implement lceil_optab using lceilsi2
	and lceildi2 patterns.

	* builtins.c (expand_builtin_int_roundingfn): Handle
	BUILT_IN_LCEIL{,F,L} and BUILT_IN_LLCEIL{,F,L}.
	(fold_builtin_int_roundingfn): Handle BUILT_IN_LCEIL{,F,L} and
	BUILT_IN_LLCEIL{,F,L}.
	(fold_builtin_1): Fold BUILT_IN_LCEIL{,F,L} and
	BUILT_IN_LLCEIL{,F,L} using fold_builtin_int_roundingfn.
	(mathfn_built_in): Handle BUILT_IN LCEIL and BUILT_IN_LLCEIL.
	(expand_builtin): Expand BUILT_IN_LCEIL{,F,L} and
	BUILT_IN_LLCEIL{,F,L} using expand_builtin_int_roundingfn.

	* convert.c (convert_to_integer): Convert (long int)ceil{,f,l},
	into lceil built-in function and (long long int)ceil{,f,l} into
	llceil built-in function.
	* fold-const.c (tree_expr_nonnegative_p): Add BUILT_IN_LCEIL and
	BUILT_IN_LLCEIL.
testsuite:

	* gcc.dg/builtins-53.c: Also check (int)ceil* and
	(long long int)ceil*.

From-SVN: r97964
2005-04-11 08:16:39 +02:00
John David Anglin
0dbca30748 quadlib.c (_U_Qfneg): Toggle sign bit instead of subtracting from zero.
* pa/quadlib.c (_U_Qfneg): Toggle sign bit instead of subtracting from
	zero.

From-SVN: r97961
2005-04-11 03:06:13 +00:00
GCC Administrator
dcec6a4d7a Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r97958.2
2005-04-11 00:16:24 +00:00
Mark Mitchell
9ee12b3b62 Wdtor1.C: Declare template in system header with explicit C++ linkage.
* g++.dg/warn/Wdtor1.C: Declare template in system header with
	explicit C++ linkage.

From-SVN: r97955
2005-04-10 22:39:22 +00:00
Kazu Hirata
6892757cae * interface.c: Fix a comment typo.
From-SVN: r97951
2005-04-10 17:49:46 +00:00
Kazu Hirata
bde8313852 adaint.c, [...]: Fix comment typos.
* adaint.c, init.c, tracebak.c: Fix comment typos.
	* gnat-style.texi, gnat_rm.texi, gnat_ugn.texi: Fix typos.

From-SVN: r97950
2005-04-10 17:38:53 +00:00
Kazu Hirata
c5d34bb2d6 arm.c: Fix a comment typo.
* config/arm/arm.c: Fix a comment typo.
	* doc/tree-ssa.texi: Fix a typo.

From-SVN: r97949
2005-04-10 17:26:03 +00:00
Francois-Xavier Coudert
51c3f0f6d7 match.c (match_arithmetic_if): Arithmetic IF is obsolete in Fortran 95.
* match.c (match_arithmetic_if): Arithmetic IF is obsolete in
	Fortran 95.

	* gfortran.dg/pr17229.f: Take care of the new obsolescence
	warning for arithmetic IF statements.

From-SVN: r97948
2005-04-10 16:01:54 +00:00
François-Xavier Coudert
b45ea4d28c * runtime/environ.c: Correct previous commit for obvious typo.
From-SVN: r97947
2005-04-10 13:08:12 +00:00
Francois-Xavier Coudert
64d5075d0b re PR libfortran/20788 (Loading libgfortran.so clobbers C redirection of stdin/stdout/stderr)
PR libfortran/20788
	* runtime/environ.c (init_unsigned_integer): Function for
	environment variables we want to be positive.
	(init_integer): Function to allow negative environment
	variables (e.g. for GFORTRAN_STDIN_UNIT).

From-SVN: r97946
2005-04-10 10:37:59 +00:00
Steven Bosscher
eb232f4ef1 cselib.c (clear_table): Rename to cselib_clear_table.
* cselib.c (clear_table): Rename to cselib_clear_table.
	* cselib.h (cselib_clear_table): Add prototype.
	* gcse.c (gcse_main): Make 'f' argument unused.
	(alloc_gcse_mem): Do not walk the insn chain, walk the contents
	of each basic block instead.
	(compute_sets, compute_hash_table_work): Likewise.
	(constprop_register): Change int 'alter_jumps' argument to bool.
	(do_local_cprop): Likewise.
	(local_cprop_pass): Likewise.  Also walk basic blocks instead of
	the insn chain.  Explicitly clear the cselib tables after finishing
	one basic block.  Make sure there are no unterminated libcall blocks.
	Update compute_sets call.
	(cprop): Walk basic blocks instead of the insn chain.
	(one_cprop_pass, compute_ld_motion_mems, compute_store_table):
	Likewise.
	(bypass_jumps): Update alloc_gcse_mem, compute_sets, and
	one_cprop_pass calls.

From-SVN: r97945
2005-04-10 08:45:25 +00:00
Thomas Koenig
1d1df67fa9 2005-05-10 Thomas Koenig <Thomas Koenig>
Removed erroneous line from Changelog.

From-SVN: r97944
2005-04-10 08:43:55 +00:00
Thomas Koenig
59afe4b424 [multiple changes]
2005-04-10  Thomas Koenig <Thomas.Koenig@online.de>

        PR libfortran/17992
        PR libfortran/19568
        PR libfortran/19595
        PR libfortran/20005
        PR libfortran/20092
        PR libfortran/20131
        PR libfortran/20138
        PR libfortran/20661
        PR libfortran/20744
        * io/transfer.c (top level): eor_condition: New static variable.
        (read_sf): Remove unnecessary zeroing of buffer (there is enough
        information in its length).
        Return a string of length 0 (to be padded by caller) if EOR was
        seen previously.
        Remove erroneous special casing of EOR for standard input.
        Set eor_condition for non-advancing I/O if an end of line was
        detected.
        Increment ioparm.size if necessary.
        (formatted_transfer):  Skip the function if there is an EOR condition.
        (data_transfer_init):  Initialize eor_condition to zero (false).
        (next_record_r):  Clear sf_seen_eor if a \n has been seen already.
        (finalize_transfer):  If there is an EOR condition, raise the error.

2005-04-10   Thomas Koenig  <Thomas.Koenig@online.de>

        * eor_handling_1.f90: New test case.
        * eor_handling_2.f90: New test case.
        * eor_handling_3.f90: New test case.
        * eor_handling_4.f90: New test case.
        * eor_handling_5.f90: New test case.
        * noadv_size.f90: New test case.
        * pad_no.f90: New test case.

From-SVN: r97943
2005-04-10 08:35:39 +00:00
Richard Sandiford
ecf9c079e2 combine.c (combine_simplify_rtx): Remove a transformation that relies on an invalid assumption about rtl...
* combine.c (combine_simplify_rtx): Remove a transformation that
	relies on an invalid assumption about rtl sign-extension semantics.

From-SVN: r97941
2005-04-10 06:27:12 +00:00
Richard Sandiford
f1ac52cd09 value-prof.c (tree_divmod_fixed_value_transform): Fix arguments to build_int_cst_wide.
* value-prof.c (tree_divmod_fixed_value_transform): Fix arguments
	to build_int_cst_wide.

From-SVN: r97940
2005-04-10 06:23:08 +00:00
Alexandre Oliva
46382283d5 re PR target/20126 (Inlined memcmp makes one argument null on entry)
gcc/ChangeLog:
PR target/20126
* loop.c (loop_givs_rescan): If replacement of DEST_ADDR failed,
set the original address pseudo to the correct value before the
original insn, if possible, and leave the insn alone, otherwise
create a new pseudo, set it and replace it in the insn.
* recog.c (validate_change_maybe_volatile): New.
* recog.h (validate_change_maybe_volatile): Declare.
gcc/testsuite/ChangeLog:
* gcc.dg/pr20126.c: New.

From-SVN: r97939
2005-04-10 04:00:53 +00:00
Steven G. Kargl
f7d7d3b779 * gfortran.dg/PR19872.f: New test.
From-SVN: r97938
2005-04-10 03:46:22 +00:00
Bud Davis
48248fa771 re PR libfortran/19872 ([4.0 only] closed and re-opened file not overwriten)
PR fortran/19872
* io/transfer.c (data_transfer_init): truncate an existing
  file on the first write.

Co-Authored-By: Steven G. Kargl <kargls@comcast.net>

From-SVN: r97937
2005-04-10 03:43:09 +00:00
GCC Administrator
70370fa031 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r97935.2
2005-04-10 00:16:59 +00:00
Steven G. Kargl
2fee86e67f Fix dg-do directive.
From-SVN: r97932
2005-04-09 23:21:12 +00:00
Steven G. Kargl
5f115a4b06 * gfortran.dg/nint_1.f90: New test.
From-SVN: r97931
2005-04-09 22:44:24 +00:00
Steven G. Kargl
8e1fa5d622 simplify.c (gfc_simplify_anint): Use mpfr_round()
* simplify.c (gfc_simplify_anint): Use mpfr_round()
(gfc_simplify_dnint): ditto.
(gfc_simplify_nint): ditto.

From-SVN: r97930
2005-04-09 22:41:35 +00:00
Thomas Koenig
50dd63a962 re PR libfortran/19106 ([4.0 only] segfault in executable for print *,sum(a,dim=2,mask=a>0))
2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/19106
        PR libfortran/19014
        * m4/ifunction.m4 (name`'rtype_qual`_'atype_code): ditto.
        If retarray->data is NULL (i.e. the front end does not
        know the rank and dimenson of the array), fill in its
        properties and allocate memory.
        Change the assertions about rank and dimension of retarray into
        runtime errors and only check them for retarray->data != NULL.
        Do the same for correcting the stride from 0 to 1 in retarray.
        (`m'name`'rtype_qual`_'atype_code): Likewise.
        * m4/iforeach.m4 (name`'rtype_qual`_'atype_code): Likewise.
        Change assertion about rank of array to runtime error.
        (`m'name`'rtype_qual`_'atype_code): Likewise.
        * generated/all_l4.c: Regenerated.
        * generated/all_l8.c: Regenerated.
        * generated/any_l4.c: Regenerated.
        * generated/any_l8.c: Regenerated.
        * generated/count_4_l4.c: Regenerated.
        * generated/count_4_l8.c: Regenerated.
        * generated/count_8_l4.c: Regenerated.
        * generated/count_8_l8.c: Regenerated.
        * generated/maxloc0_4_i4.c: Regenerated.
        * generated/maxloc0_4_i8.c: Regenerated.
        * generated/maxloc0_4_r4.c: Regenerated.
        * generated/maxloc0_4_r8.c: Regenerated.
        * generated/maxloc0_8_i4.c: Regenerated.
        * generated/maxloc0_8_i8.c: Regenerated.
        * generated/maxloc0_8_r4.c: Regenerated.
        * generated/maxloc0_8_r8.c: Regenerated.
        * generated/maxloc1_4_i4.c: Regenerated.
        * generated/maxloc1_4_i8.c: Regenerated.
        * generated/maxloc1_4_r4.c: Regenerated.
        * generated/maxloc1_4_r8.c: Regenerated.
        * generated/maxloc1_8_i4.c: Regenerated.
        * generated/maxloc1_8_i8.c: Regenerated.
        * generated/maxloc1_8_r4.c: Regenerated.
        * generated/maxloc1_8_r8.c: Regenerated.
        * generated/maxval_i4.c: Regenerated.
        * generated/maxval_i8.c: Regenerated.
        * generated/maxval_r4.c: Regenerated.
        * generated/maxval_r8.c: Regenerated.
        * generated/minloc0_4_i4.c: Regenerated.
        * generated/minloc0_4_i8.c: Regenerated.
        * generated/minloc0_4_r4.c: Regenerated.
        * generated/minloc0_4_r8.c: Regenerated.
        * generated/minloc0_8_i4.c: Regenerated.
        * generated/minloc0_8_i8.c: Regenerated.
        * generated/minloc0_8_r4.c: Regenerated.
        * generated/minloc0_8_r8.c: Regenerated.
        * generated/minloc1_4_i4.c: Regenerated.
        * generated/minloc1_4_i8.c: Regenerated.
        * generated/minloc1_4_r4.c: Regenerated.
        * generated/minloc1_4_r8.c: Regenerated.
        * generated/minloc1_8_i4.c: Regenerated.
        * generated/minloc1_8_i8.c: Regenerated.
        * generated/minloc1_8_r4.c: Regenerated.
        * generated/minloc1_8_r8.c: Regenerated.
        * generated/minval_i4.c: Regenerated.
        * generated/minval_i8.c: Regenerated.
        * generated/minval_r4.c: Regenerated.
        * generated/minval_r8.c: Regenerated.
        * generated/product_c4.c: Regenerated.
        * generated/product_c8.c: Regenerated.
        * generated/product_i4.c: Regenerated.
        * generated/product_i8.c: Regenerated.
        * generated/product_r4.c: Regenerated.
        * generated/product_r8.c: Regenerated.
        * generated/sum_c4.c: Regenerated.
        * generated/sum_c8.c: Regenerated.
        * generated/sum_i4.c: Regenerated.
        * generated/sum_i8.c: Regenerated.
        * generated/sum_r4.c: Regenerated.
        * generated/sum_r8.c: Regenerated.

2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>

        * gfortran.fortran-torture/execute/intrinsic_anyall.f90:
        Added test for callee-allocated arrays with write statements.
        * gfortran.fortran-torture/execute/intrinsic_count.f90: Likewise.
        * gfortran.fortran-torture/execute/intrinsic_mmloc.f90: Likewise.
        * gfortran.fortran-torture/execute/intrinsic_mmval.f90: Likewise.
        * gfortran.fortran-torture/execute/intrinsic_product.f90: Likewise.
        * gfortran.fortran-torture/execute/intrinsic_sum.f90: Likewise.

From-SVN: r97929
2005-04-09 21:38:47 +00:00
Caroline Tice
e5e625da47 Fix problems with labels with hot/cold partitioning.
From-SVN: r97928
2005-04-09 13:41:49 -07:00
Thomas Koenig
bd0e28a2ad re PR libfortran/20163 ([4.0 only] gfortran - error opening direct access file)
2005-04-09  Thomas Koenig  <Thomas.Koenig@online.de>

        PR libfortran/20163
        * gfortran.dg/open-options-blanks.f:  New test.

From-SVN: r97924
2005-04-09 19:40:48 +00:00
Thomas Koenig
130bcb37be re PR libfortran/20163 ([4.0 only] gfortran - error opening direct access file)
2005-04-09  Thomas Koenig <Thomas.Koenig@online.de>

        PR libfortran/20163
        * runtime/string.c (compare0): Use fstrlen() to
        strip trailing blanks from option string.

From-SVN: r97923
2005-04-09 19:37:14 +00:00
Kazu Hirata
bbaa6cf677 * cp-tree.h (cp_deprecated): Remove.
From-SVN: r97922
2005-04-09 19:16:29 +00:00
Benjamin Kosnik
394476c9ea Makefile.am: Remove libv3test.a.
2005-04-08  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/Makefile.am: Remove libv3test.a.
	* testsuite/Makefile.in: Regenerate.
	* testsuite/lib/libstdc++.exp (v3_target_compile): Fix comments.

From-SVN: r97921
2005-04-09 18:50:52 +00:00
Andrew Pinski
305ead91ea fix path to the new tests in my last changelog entry.
From-SVN: r97920
2005-04-09 11:45:39 -07:00
Andrew Pinski
53d8a8ac22 re PR fortran/13257 ([4.0 only] Error instead of warning for missing comma in format string)
PR fortran/13257

fortran/ChangeLog:
	* io.c (check_format): Allow an optional comma
	between descriptors.

libgfortran/ChangeLog:
	* format.c (parse_format_list): Allow an optional comma
	between descriptors.

testsuite/ChangeLog:
	* comma_format_extension_[1234].f: New tests.

From-SVN: r97919
2005-04-09 11:44:07 -07:00
Jakub Jelinek
9d30f3c190 tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD and TI_VA_LIST_FPR_COUNTER_FIELD.
* tree.h (enum tree_index): Add TI_VA_LIST_GPR_COUNTER_FIELD
	and TI_VA_LIST_FPR_COUNTER_FIELD.
	(va_list_gpr_counter_field, va_list_fpr_counter_field): Define.
	* tree-pass.h (pass_stdarg): Add.
	* tree-optimize.c (init_tree_optimization_passes): Add pass_stdarg.
	* tree-stdarg.c: New file.
	* tree-stdarg.h: New file.
	* Makefile.in (OBJS-common): Add tree-stdarg.o.
	(tree-stdarg.o): Add dependencies.
	* function.h (struct function): Add va_list_gpr_size and
	va_list_fpr_size fields.
	* function.c (allocate_struct_function): Initialize them.
	* target.h (struct gcc_target): Add stdarg_optimize_hook.
	* target-def.h (TARGET_STDARG_OPTIMIZE_HOOK): Define.
	(TARGET_INITIALIZER): Add it.

	* config/i386/i386.c (ix86_build_builtin_va_list): Initialize
	va_list_{g,f}pr_counter_field.
	(ix86_setup_incoming_varargs): Don't do anything if reg_save
	area will not be used.  Only save registers that tree-stdarg.c
	detected they need saving.
	(ix86_va_start): Don't set up fields that won't be used.

	* config/rs6000/rs6000.c (rs6000_build_builtin_va_list): Initialize
	va_list_{g,f}pr_counter_field.
	(setup_incoming_varargs): Don't do anything if reg_save
	area will not be used.  Only save registers that tree-stdarg.c
	detected they need saving.
	(rs6000_va_start): Don't set up fields that won't be used.

	* config/alpha/alpha.c: Include tree-flow.h and tree-stdarg.h.
	(alpha_build_builtin_va_list): Initialize va_list_gpr_counter_field.
	(va_list_skip_additions, alpha_stdarg_optimize_hook): New functions.
	(TARGET_STDARG_OPTIMIZE_HOOK): Define.

	* gcc.dg/tree-ssa/stdarg-1.c: New test.
	* gcc.dg/tree-ssa/stdarg-2.c: New test.
	* gcc.dg/tree-ssa/stdarg-3.c: New test.
	* gcc.dg/tree-ssa/stdarg-4.c: New test.
	* gcc.dg/tree-ssa/stdarg-5.c: New test.
	* gcc.c-torture/execute/stdarg-4.c: New test.

	* gcc.dg/vmx/varargs-1.c (f1, f2, f3): Add missing va_end.

From-SVN: r97916
2005-04-09 19:19:58 +02:00
Jakub Jelinek
1b80335583 re PR target/20795 (ICE in assign_parms)
PR target/20795
	* config/i386/i386.c (construct_container): Pass empty aligned
	struct, union or class in memory.

	* g++.dg/abi/param2.C: New test.

From-SVN: r97912
2005-04-09 19:09:49 +02:00
Kazu Hirata
b305db716c * cp-tree.h (VF_BINFO_VALUE, VF_BASETYPE_VALUE): Remove.
From-SVN: r97911
2005-04-09 16:58:14 +00:00
Kazu Hirata
ecd9920464 cp-tree.h (EXCEPTION_CLEANUP_NAME, [...]): Remove.
* cp-tree.h (EXCEPTION_CLEANUP_NAME, B_SET, B_CLR, B_TST,
	CONV_STATIC_CAST): Remove.

From-SVN: r97910
2005-04-09 16:57:01 +00:00