Commit Graph

74682 Commits

Author SHA1 Message Date
Roger Sayle
6cc1d69426 expr.c (expand_assignment): Optimize away no-op moves where the source and destination are equal and have...
* expr.c (expand_assignment): Optimize away no-op moves where the
	source and destination are equal and have no side-effects.

From-SVN: r113009
2006-04-17 16:49:54 +00:00
Volker Reichelt
7304fcb4a7 * init.c (build_offset_ref): Remove superfluous temporary.
From-SVN: r113008
2006-04-17 16:32:03 +00:00
Richard Guenther
71a9b19ae8 re PR target/26826 (ICE in reg_or_subregno, at jump.c:2011)
2006-04-17  Richard Guenther  <rguenther@suse.de>

	PR target/26826
	* reload.c (push_reload): Guard calls to get_secondary_mem
	for memory subregs.

From-SVN: r113007
2006-04-17 13:53:19 +00:00
Kazu Hirata
b2c0ad4071 cgraph.h (cgraph_edge_p): New.
* cgraph.h (cgraph_edge_p): New.
	Update the prototype of cgraph_function_versioning.
	* cgraphunit.c (cgraph_copy_node_for_versioning,
	cgraph_function_versioning): Use VEC instead of VARRAY.
	* ipa-cp.c (ipcp_insert_stage): Likewise.

From-SVN: r113006
2006-04-17 12:45:25 +00:00
Kazu Hirata
1a5640b4e1 alias.c (alias_sets): Change the type to VEC(alias_set_entry,gc) *.
* alias.c (alias_sets): Change the type to
	VEC(alias_set_entry,gc) *.
	(get_alias_set_entry, new_alias_set, record_alias_subset): Use
	VEC instead of VARRAY.
	(last_alias_set): Remove.

From-SVN: r113005
2006-04-17 12:42:37 +00:00
Kazu Hirata
08c796829c alias.c (reg_base_value, [...]): Change the type to VEC(rtx,gc) *.
* alias.c (reg_base_value, old_reg_base_value): Change the
	type to VEC(rtx,gc) *.
	(REG_BASE_VALUE, find_base_value, record_set,
	init_alias_analysis): Use VEC instead of VARRAY.

From-SVN: r113004
2006-04-17 12:40:57 +00:00
Roger Sayle
726ac11ebd re PR target/26961 (ICE simplify_subreg:3813)
PR target/26961
	* fold-const.c (fold_ternary): When converting "A ? B : C" into either
	"A op B" or "A op C", we may need to convert A to the type of B and C.

	* gcc.dg/fold-cond-1.c: New test case.
	* gcc.dg/pr26961-1.c: Likewise.

From-SVN: r113001
2006-04-17 02:38:50 +00:00
Jerry DeLisle
27b9964175 re PR fortran/27138 (gfortran: read(*,*) myInt advances only one character on error)
2006-04-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/27138
	* gfortran.dg/read_bad_advance.f90: New test.

From-SVN: r113000
2006-04-17 02:37:15 +00:00
Jerry DeLisle
9855448d22 re PR fortran/27138 (gfortran: read(*,*) myInt advances only one character on error)
2006-04-14  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/27138
	* io/list_read.c (eat_line): New function.
	(parse_repeat): Use new function and free_saved.
	(read_logical): Same.
	(read_integer): Use new function.
	(parse_real): Use nml_bad_return and new function.
	(read_complex): Use new function and free_saved.
	(read_real): Same.

From-SVN: r112999
2006-04-17 02:33:51 +00:00
Adam Nemet
b12cbf2cc5 target.h (struct gcc_target): Add mode_rep_extended.
* target.h (struct gcc_target): Add mode_rep_extended.
	* rtlanal.c (num_sign_bit_copies_in_rep): New global.
	(init_num_sign_bit_copies_in_rep): Initialize it using
	mode_rep_extended.
	(truncate_to_mode): Use it.
	(init_rtlanal): Call init_num_sign_bit_copies_in_rep.
	* targhooks.h (default_mode_rep_extended): Declare it.
	* targhooks.c (default_mode_rep_extended): Define it.
	* target-def.h (TARGET_MODE_REP_EXTENDED): New macro.  Default to
	default_mode_rep_extended.
	(TARGET_INITIALIZER): Include it.
	* doc/tm.texi (Misc): Document it.
	* config/mips/mips.c (TARGET_TRUNCATED_TO_MODE): Override it.
	(mips_truncated_to_mode): New function.

From-SVN: r112998
2006-04-17 01:59:41 +00:00
GCC Administrator
ca8b30c8d1 Daily bump.
From-SVN: r112995
2006-04-17 00:17:12 +00:00
Roger Sayle
d763e13096 re PR middle-end/25474 (Extra load for some FP code)
PR middle-end/25474
	* expr.c (compress_float_constant): Copy the narrow constant into
	a new pseudo before extending it to its final width.

From-SVN: r112991
2006-04-16 23:33:51 +00:00
Roger Sayle
2ff619482d re PR target/24076 ((vector char){x, x, x, x, x, x, x, x, x, x, x, x, x, x, x, x} code gen is not that good)
2006-04-15  Roger Sayle  <roger@eyesopen.com>
	    Andrew Pinski  <pinskia@gcc.gnu.org>
	    Dale Johannesen  <dalej@apple.com>

	PR target/24076
	* config/i386/i386.c (ix86_expand_vector_init_duplicate): Add
	special case code to implement V8HImode and V16QImode with SSE2.

	* gcc.target/i386/vecinit-3.c: New testcase.
	* gcc.target/i386/vecinit-4.c: Likewise.
	* gcc.target/i386/sse-18.c: Likewise.
	* gcc.target/i386/sse-19.c: Likewise.


Co-Authored-By: Andrew Pinski <pinskia@gcc.gnu.org>
Co-Authored-By: Dale Johannesen <dalej@apple.com>

From-SVN: r112990
2006-04-16 21:46:59 +00:00
Thomas Koenig
3c86fb4e17 re PR fortran/26017 (allocate (a(1:-1)) should yield zero-sized array)
2006-04-16  Thomas Koenig  <Thomas.Koenig@online.de>

	PR fortran/26017
	* trans-array.c(gfc_array_init_size):  Introduce or_expr
	which is true if the size along any dimension
	is negative.  Create a temporary variable with base
	name size.  If or_expr is true, set the temporary to 0,
	to the normal size otherwise.

2006-04-16  Thomas Koenig  <Thomas.Koenig@online.de>

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

From-SVN: r112988
2006-04-16 20:29:24 +00:00
Mark Mitchell
e13d2b4e53 re PR c++/26365 (ICE in finish_class_member_access_expr, at cp/typeck.c)
PR c++/26365
	* typeck.c (finish_class_member_access_expr): Robustify
	PR c++/26365
	* g++.dg/template/crash45.C: New test.

From-SVN: r112986
2006-04-16 18:12:41 +00:00
Paolo Carlini
8a9b2875db PR libstdc++/6702 (again)
2006-04-16  Paolo Carlini  <pcarlini@suse.de>

	PR libstdc++/6702 (again)
	* acinclude.m4 (GLIBCXX_ENABLE_C99): Don't check non-C99
	wchar_t functions...
	(GLIBCXX_ENABLE_WCHAR_T): ... do that here.
	* configure.ac: Adjust order of checks.
	* configure: Regenerate.

From-SVN: r112983
2006-04-16 09:06:46 +00:00
Roger Sayle
3db8a11346 i386.c (ix86_va_start): Ensure all integer constant trees are constructed with a suitable tree type.
* config/i386/i386.c (ix86_va_start): Ensure all integer constant
	trees are constructed with a suitable tree type.

From-SVN: r112982
2006-04-16 04:01:25 +00:00
Paul Thomas
f5f701ad00 re PR fortran/26822 (Scalarization of non-elemental intrinsic: __logical_4_l4)
2006-04-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/26822
	* intrinsic.c (add_functions): Mark LOGICAL as elemental.

	PR fortran/26787
	* expr.c (gfc_check_assign): Extend scope of error to include
	assignments to a procedure in the main program or, from a
	module or internal procedure that is not that represented by
	the lhs symbol. Use VARIABLE rather than l-value in message.

	PR fortran/27096
	* trans-array.c (gfc_trans_deferred_array): If the backend_decl
	is not a descriptor, dereference and then test and use the type.

	PR fortran/25597
	* trans-decl.c (gfc_trans_deferred_vars): Check if an array
	result, is also automatic character length.  If so, process
	the character length.

	PR fortran/18803
	PR fortran/25669
	PR fortran/26834
	* trans_intrinsic.c (gfc_walk_intrinsic_bound): Set
	data.info.dimen for bound intrinsics.
	* trans_array.c (gfc_conv_ss_startstride): Pick out LBOUND and
	UBOUND intrinsics and supply their shape information to the ss
	and the loop.

	PR fortran/27124
	* trans_expr.c (gfc_trans_function_call):  Add a new block, post,
	in to which all the argument post blocks are put.  Add this block
	to se->pre after a byref call or to se->post, otherwise.

2006-04-16  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/26787
	* gfortran.dg/proc_assign_1.f90: New test.
	* gfortran.dg/procedure_lvalue.f90: Change message.
	* gfortran.dg/namelist_4.f90: Add new error.

	PR fortran/27096
	* gfortran.dg/auto_pointer_array_result_1.f90

	PR fortran/27089
	* gfortran.dg/specification_type_resolution_1.f90

	PR fortran/18803
	PR fortran/25669
	PR fortran/26834
	* gfortran.dg/bounds_temporaries_1.f90: New test.

	PR fortran/27124
	* gfortran.dg/array_return_value_1.f90: New test.

From-SVN: r112981
2006-04-16 03:45:24 +00:00
Roger Sayle
7fe25d1a55 tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
* tree.c (integer_zerop): Ignore TREE_CONSTANT_OVERFLOW.
	(integer_onep): Likewise.
	(integer_all_onesp): Likewise.
	(integer_pow2p): Likewise.
	(integer_nonzerop): Likewise.
	(real_zerop): Likewise.
	(real_onep): Likewise.
	(real_twop): Likewise.
	(real_minus_onep): Likewise.
	(int_size_in_bytes): Likewise.
	(host_integerp): Likewise.

From-SVN: r112980
2006-04-16 02:38:44 +00:00
Kazu Hirata
aacac31f2c * tree-ssa-structalias.h (alias_info): Remove num_references.
From-SVN: r112979
2006-04-16 00:55:20 +00:00
GCC Administrator
13bf5947fc Daily bump.
From-SVN: r112977
2006-04-16 00:17:06 +00:00
Kazu Hirata
e69460b664 * cp/call.c: Fix comment typos.
From-SVN: r112972
2006-04-15 21:48:54 +00:00
Kazu Hirata
75c40d56f7 cfgcleanup.c, [...]: Fix comment typos.
* cfgcleanup.c, config/dfp-bit.c, expr.c, fold-const.c,
	jump.c, mips-tfile.c, omp-low.c, sched-int.h,
	tree-ssa-loop-prefetch.c, tree-vrp.c: Fix comment typos.

From-SVN: r112971
2006-04-15 21:45:06 +00:00
John David Anglin
8370f6fa3c pa.md (output_bb patterns): Shorten long branch alternatives by 4.
* pa.md (output_bb patterns): Shorten long branch alternatives by 4.
	(output_bvb patterns): Likewise.
	* pa.c (output_bb): Use 'bb' insn for long branch case.
	(output_bvb): Likewise use '{bvb|bb}' for long branch case.
	(output_dbra): Use '{comb|cmpb}' for long branch case for alternative
	1.  Correct length operand for alternatives 1 and 2.
	(output_movb): Use '{comb|cmpb}' for long branch case for alternatives
	1, 2 and 3.  Correct length operand for alternatives 1, 2 and 3.

From-SVN: r112970
2006-04-15 15:53:33 +00:00
Kazu Hirata
5382402614 Make-lang.in (cp/pt.o): Depend on vecprim.h.
* Make-lang.in (cp/pt.o): Depend on vecprim.h.
	* pt.c: Include vecprim.h.
	(inline_parm_levels): Change the type to VEC(int,heap) *.
	(inline_parm_levels_used): Remove.
	(maybe_begin_member_template_processing,
	maybe_end_member_template_processing): Use VEC instead of
	VARRAY.

From-SVN: r112969
2006-04-15 12:40:14 +00:00
Roger Sayle
a01de5ece5 trans-io.c (set_string): Use fold_build2 and build_int_cst instead of build2 and convert to construct "x...
* trans-io.c (set_string): Use fold_build2 and build_int_cst instead
	of build2 and convert to construct "x < 0" rather than "x <= -1".

From-SVN: r112968
2006-04-15 05:50:42 +00:00
Jerry DeLisle
db753da024 re PR testsuite/25336 (Identical tests: gfortran.dg/g77/20030115-1.f gfortran.dg/g77/pr9258.f)
2006-04-15  Jerry DeLisle <jvdelisle@gcc.gnu.org>

	PR fortran/25336
	* gfortran/dg/g77/20030115-1.f: Delete duplicate test.

From-SVN: r112967
2006-04-15 04:51:39 +00:00
Roger Sayle
bed575d525 tree-cfg.c (make_edges, [...]): Reinstate RTH's changes from r112935 that were accidentally reverted by r112959.
* tree-cfg.c (make_edges, make_omp_sections_edges, move_stmt_r,
	is_ctrl_altering_stmt): Reinstate RTH's changes from r112935 that
	were accidentally reverted by r112959.

From-SVN: r112966
2006-04-15 03:24:23 +00:00
GCC Administrator
8ba0097ac4 Daily bump.
From-SVN: r112964
2006-04-15 00:17:11 +00:00
Jakub Jelinek
7e2df4a192 re PR middle-end/26823 (ICE with OpenMP in add_stmt_to_eh_region_fn, at tree-eh.c:100)
PR middle-end/26823
	* except.h (eh_region_outermost): New prototype.
	* except.c (eh_region_outermost): New function.
	* tree-cfg.c (find_outermost_region_in_block): Use it.

	* g++.dg/gomp/pr26823-1.C: New test.
	* g++.dg/gomp/pr26823-2.C: New test.

From-SVN: r112959
2006-04-15 00:24:59 +02:00
Douglas Gregor
008712ae1c re PR libstdc++/27162 (search_n uses == when it should use binary_pred)
2006-04-14  Douglas Gregor  <dgregor@cs.indiana.edu>

	PR libstdc++/27162
	* include/bits/stl_algo.h (__search_n(,,,, _BinaryPredicate,
	std::forward_iterator_tag)): Use __binary_pred, not ==.

From-SVN: r112957
2006-04-14 17:35:06 +00:00
Kazu Hirata
43b373a2a5 local-alloc.c (rest_of_handle_local_alloc): Use VEC instead of VARRAY.
* local-alloc.c (rest_of_handle_local_alloc): Use VEC instead
	of VARRAY.
	* reload1.c (reg_equiv_memory_loc_varray): Rename to
	reg_equiv_memory_loc_vec.  Change the type to VEC(rtx,gc) *.
	(init_reload, reload): Use VEC instead of VARRAY.
	* reload.h: Update the prototype for
	reg_equiv_memory_loc_varray.

From-SVN: r112955
2006-04-14 14:31:32 +00:00
Alexey Starovoytov
68ba34f361 sparc.c (emit_and_preserve): Allocate space for the register save area.
* config/sparc/sparc.c (emit_and_preserve): Allocate space for the
	register save area.


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

From-SVN: r112950
2006-04-14 07:01:38 +00:00
Uros Bizjak
39b1ec97f0 re PR middle-end/27134 (ICE with floor and -ffast-math)
PR middle-end/27134
	* builtins.c (expand_builtin_int_roundingfn): Use expand_normal()
	to expand fallback builtin function call.

testsuite/ChangeLog:

        PR middle-end/27134
        * gcc.dg/pr27314.c: New test.

From-SVN: r112949
2006-04-14 07:01:18 +02:00
Alan Modra
880864cfc6 re PR middle-end/27095 (O2 produces duplicate code)
PR middle-end/27095
	* builtins.c: (expand_builtin_memset): Stabilize args before expansion
	and emit libcall here in case the builtin fails.
	(expand_builtin_strcmp): Always emit the libcall here on failure.

From-SVN: r112948
2006-04-14 12:50:21 +09:30
Kazu Hirata
1935e8a86d basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
* basic-block.h (REG_BASIC_BLOCK): Use VEC instead of VARRAY.
	* flow.c (reg_n_info): Change the type to
	VEC(reg_info_p,heap) *.
	* regclass.c (allocate_reg_info, free_reg_info): Use VEC
	instead of VARRAY.
	* regs.h (reg_info_p): New.
	(REG_N_REFS, REG_FREQ, REG_N_SETS, REG_N_DEATHS,
	REG_N_CALLS_CROSSED, REG_N_THROWING_CALLS_CROSSED,
	REG_LIVE_LENGTH, REGNO_FIRST_UID, REGNO_LAST_UID): Use VEC
	instead of VARRAY.

From-SVN: r112942
2006-04-14 02:28:46 +00:00
GCC Administrator
062e124a4c Daily bump.
From-SVN: r112940
2006-04-14 00:17:20 +00:00
Eric Botcazou
6f8dd94be5 params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter, defaulting to 100.
* params.def (PARAM_MAX_SCHED_READY_INSNS): New parameter,
	defaulting to 100.
	* params.h (MAX_SCHED_READY_INSNS): New macro.
	* haifa-sched.c: (queue_to_ready): Re-queue insns for the next cycle
	past MAX_SCHED_READY_INSNS during the first scheduling pass.
	(schedule_block): Delay insns past MAX_SCHED_READY_INSNS in
	the ready list for 1 cycle during the first scheduling pass.
	* doc/invoke.texi (--param): New parameter max-sched-ready-insns.

From-SVN: r112936
2006-04-14 00:07:48 +00:00
Richard Henderson
777f7f9a72 re PR libgomp/26651 ([gomp] #omp for ordered leaks memory)
PR 26651
	* gimple-low.c (lower_omp_directive): Remove dead code.
	(lower_stmt): Do nothing except for openmp, except for OMP_PARALLEL.
	* gimplify.c (gimplify_expr): Update for OMP_RETURN, OMP_CONTINUE.
	* omp-low.c (struct omp_region): Move to tree-flow.h.
	(root_omp_region): Export.
	(omp_regions, lookup_omp_region): Remove.
	(determine_parallel_type): Update for struct omp_region changes.
	(dump_omp_region): Dump regions with block numbers.
	(new_omp_region): Take type and block instead of stmt; malloc
	instead of ggc.
	(free_omp_region_1, free_omp_regions): New.
	(expand_parallel_call): Take entry_stmt as argument; update for
	changes to omp_region.
	(remove_exit_barrier): Rewrite to update OMP_RETURN_NOWAIT.
	(remove_exit_barriers): New.
	(expand_omp_parallel): Update for struct omp_region changes.
	(expand_omp_synch): Likewise.
	(expand_omp): Likewise.
	(expand_omp_for_static_nochunk): Likewise; update for OMP_CONTINUE.
	(expand_omp_for_static_chunk): Likewise.
	(expand_omp_for): Likewise.
	(expand_omp_for_generic): Likewise; emit the proper GOMP_loop_end call.
	(expand_omp_sections): Similarly, with GOMP_sections_end.
	(expand_omp_single): New.
	(build_omp_regions_1): Update for OMP_CONTINUE.
	(execute_expand_omp): Call remove_exit_barriers, free_omp_regions.
	(lower_omp_sections): Expand with OMP_CONTINUE, do not collect
	OMP_SECTIONS_SECTIONS.
	(lower_omp_single_simple): Don't emit barrier here.
	(lower_omp_single_copy): Likewise.
	(lower_omp_single): Fix bindings, and lower to straightline now.
	(lower_omp_master, lower_omp_ordered): Likewise.
	(lower_omp_critical): Likewise.
	(lower_omp_for): Likewise.  Emit OMP_CONTINUE.
	* tree-cfg.c (make_edges): Collect an omp_region tree, use it for
	omp edges, free it afterward.
	(make_omp_sections_edges): Remove.
	(is_ctrl_altering_stmt): Don't bother checking flag_openmp.
	(move_stmt_r): Handle OMP_CONTINUE.
	* tree-flow.h (struct omp_region): Move from omp-low.c.  Switch 
	statement pointers to basic blocks.  Add type member.
	(root_omp_region, new_omp_region, free_omp_regions): Declare.
	* tree-gimple.c (is_gimple_stmt): Handle OMP_RETURN, OMP_CONTINUE.
	* tree-inline.c (estimate_num_insns_1): Likewise.
	* tree-pretty-print.c (dump_generic_node): Likewise.
	* tree-ssa-operands.c (get_expr_operands): Likewise.
	* tree.def (OMP_SECTIONS): Remove OMP_SECTIONS_SECTIONS operand.
	(OMP_RETURN): Rename from OMP_RETURN_EXPR.
	(OMP_CONTINUE): New.
	* tree.h (OMP_DIRECTIVE_P): Add OMP_CONTINUE.
	(OMP_SECTIONS_SECTIONS): Remove.
	(OMP_SECTION_LAST): New.
	(OMP_RETURN_NOWAIT): New.
fortran/
        * trans-openmp.c (gfc_trans_omp_sections): Adjust for changed
        number of operands to OMP_SECTIONS.
testsuite/
        * g++.dg/gomp/block-0.C: Update expected matches.

From-SVN: r112935
2006-04-13 16:44:25 -07:00
DJ Delorie
a239aa95dc target-supports.exp (check_effective_target_int32plus): New.
* lib/target-supports.exp (check_effective_target_int32plus): New.
(check_effective_target_ptr32plus): New.
(check_effective_target_size32plus): New.
(check_effective_target_int16): New.
(check_profiling_available): Add m32c to the list of unsupported targets.

* gcc.c-torture/compile/20000804-1.c: Skip m32c also.
* gcc.c-torture/compile/20001226-1.c: Skip m32c due to small
memory size.
* gcc.c-torture/compile/20010327-1.c: Skip m32c due to non-SI
pointers.
* gcc.c-torture/compile/20020604-1.c: Skip m32c due to small
size_t.
* gcc.c-torture/compile/20050303-1.c: Require >=32 bit integers
and size_t.
* gcc.c-torture/compile/980506-1.c: Require >=32 bit size_t.
* gcc.c-torture/execute/20020404-1.x: Check for any 16 bit target,
not just xstormy16.  Skip m32c due to weird pointer size.
* gcc.c-torture/execute/20021024-1.x: Check for any 16 bit target,
not just xstormy16.
* gcc.c-torture/execute/shiftdi.x: Check for any 16 bit target,
not just xstormy16.
* gcc.dg/20020312-2.c: Add m32c support.
* gcc.dg/20040622-2.c: Require >=32 bit pointers.
* gcc.dg/20050321-1.c: XFail m32c due to incorrect malloc prototype
in test.
* gcc.dg/20050321-2.c: Require >=32 bit integers.
* gcc.dg/asm-1.c: Skip if int and short are the same size.
* gcc.dg/fold-mod-1.c: Require >=32 bit integers.
* gcc.dg/fold-overflow-1.c: Skip m32c due to small const types in asm.
* gcc.dg/format/bitfld-1.c: Require >=32 bit integers due to printf formats
* gcc.dg/init-string-2.c: Require >=32 bit integers.
* gcc.dg/max-1.c: Skip m32c in r8c or m16c mode due to small pointers.
* gcc.dg/noncompile/920923-1.c: Skip small-int message for int16 hosts.
* gcc.dg/pch/struct-1.c: Require >= 32 bit integers.
* gcc.dg/pr14796-2.c: Require >=32 bit integers.
* gcc.dg/pr17112-1.c: Require >=32 bit integers.
* gcc.dg/pr18241-1.c: XFail m32c due to incorrect memset prototype
in test.
* gcc.dg/pr18241-2.c: XFail m32c due to incorrect memset prototype
in test.
* gcc.dg/pr19340.c: Skip m32c due to lack of scheduling.
* gcc.dg/pr23049.c: Require >=32 bit integers.
* gcc.dg/torture/pr26565.c: Skip m32c as everything is already packed.
* gcc.dg/torture/pr26587.c: Require >=32 bit integers.
* gcc.dg/torture/pr26630.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/loop-10.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/loop-2.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/loop-4.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/ltrans-1.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/ltrans-2.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/ltrans-3.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/ltrans-4.c: Require >=32 bit size_t.
* gcc.dg/tree-ssa/pr14341.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/pr23382.c: XFail m32c due to incorrect malloc
prototype in test.
* gcc.dg/tree-ssa/pr24627.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/pr26180.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/vrp14.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/vrp21.c: Require >=32 bit integers.
* gcc.dg/tree-ssa/vrp22.c: Require >=32 bit integers.

* gcc.c-torture/execute/20040629-1.x: New.  Require >16 bit integers.
* gcc.c-torture/execute/20040703-1.x: Likewise.
* gcc.c-torture/execute/20040705-1.x: Likewise.
* gcc.c-torture/execute/20040705-2.x: Likewise.
* gcc.c-torture/execute/20040709-1.x: Likewise.
* gcc.c-torture/execute/20040709-2.x: Likewise.
* gcc.c-torture/execute/20040811-1.x: Likewise.
* gcc.c-torture/execute/20050316-1.x: Likewise.
* gcc.c-torture/execute/bitfld-4.x: Likewise.
* gcc.c-torture/execute/pr19689.x: Likewise.
* gcc.c-torture/execute/pr7284-1.x: Likewise.
* gcc.c-torture/execute/usmul.x: Likewise.
* gcc.c-torture/execute/vrp-5.x: Likewise.
* gcc.c-torture/execute/vrp-6.x: Likewise.
* gcc.dg/debug/20041023-1.s: Likewise.

From-SVN: r112934
2006-04-13 19:14:25 -04:00
Roger Sayle
15b1c12a01 fold-const.c (native_encode_vector, [...]): Correct obvious mistakes in the previous check-in.
* fold-const.c (native_encode_vector, native_interpret_real):
	Correct obvious mistakes in the previous check-in.

From-SVN: r112930
2006-04-13 21:31:00 +00:00
Roger Sayle
78bf6e2fc4 fold-const.c (native_encode_expr): New function to encode the target representation of an INTEGER_CST...
* fold-const.c (native_encode_expr): New function to encode
	the target representation of an INTEGER_CST, REAL_CST, COMPLEX_CST
	or VECTOR_CST into a specified buffer.
	(native_encode_int): New function.
	(native_encode_real): New function.
	(native_encode_complex): New function.
	(native_encode_vector): New function.
	(native_interpret_expr): Inverse of native_encode_expr to convert
	a target representation into an INTEGER_CST, REAL_CST etc...
	(native_interpret_int): New function.
	(native_interpret_real): New function.
	(native_interpret_complex): New function.
	(native_interpret_vector): New function.
	(fold_view_convert_expr): New function to constant fold/evaluate
	a VIEW_CONVERT_EXPR of a suitable constant expression.
	(fold_unary) <VIEW_CONVERT_EXPR>: Call fold_view_convert_expr.
	Change call of build1 to fold_build1 when constructing a
	VIEW_CONVERT_EXPR.

	* gcc.target/i386/20050113-1.c: Tweak testcase to reflect that casts
	of integers to a vector types are now constant expressions in C.
	* gcc.dg/vect/vect-fold-1.c: New test case.

From-SVN: r112927
2006-04-13 21:10:31 +00:00
Tom Tromey
eec69c4eca re PR libgcj/26522 (gcc-4.1.0-RC{1,2} install headers into a top-level (root) /include)
PR libgcj/26522:
	* Makefile.in: Rebuilt.
	* Makefile.am (libsubdir): New variable.

From-SVN: r112925
2006-04-13 21:04:04 +00:00
Paolo Bonzini
7649275376 re PR target/27006 (Invalid altivec constant loading code)
2006-04-13  Paolo Bonzini  <bonzini@gnu.org>
	    Ulrich Weigand  <uweigand@de.ibm.com>

	PR target/27006
	* config/rs6000/rs6000.h (EASY_VECTOR_15_ADD_SELF): Require n
	to be even.

	PR target/27006
	* gcc.dg/vmx/pr27006.c: New testcase.


Co-Authored-By: Ulrich Weigand <uweigand@de.ibm.com>

From-SVN: r112923
2006-04-13 20:26:59 +00:00
Jerry DeLisle
8a54a1de62 re PR fortran/26766 ([F2003] Recursive I/O still (again) broken)
2006-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/26766
	* gfortran.dg/write_recursive.f90: New test.

From-SVN: r112915
2006-04-13 06:30:04 +00:00
Jerry DeLisle
6f34d6e078 re PR fortran/26766 ([F2003] Recursive I/O still (again) broken)
2006-04-12  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/26766
	* io/io.h: Add bit to identify associated unit as internal.
	* io/unit.c (get_external_unit): Renamed the find_unit_1 function to
	reflect the external unit functionality vs internal unit.
	(get_internal_unit): New function to allocate and initialize an internal
	unit structure.
	(get_unit): Use get_internal_unit and get_external_unit.
	(is_internal_unit): Revised to use new bit added in io.h.
	* io/transfer.c (data_transfer_init): Fix line width.
	(st_read_done): Free memory allocated for internal unit.
	(st_write_done): Add test to only flush and truncate when not an
	internal unit.  Free memory allocated for internal unit.

From-SVN: r112914
2006-04-13 06:24:58 +00:00
Alan Modra
7b5d92b270 re PR target/26459 (gcc fails to build on powerpc e500-double targets)
PR target/26459
	* config/rs6000/rs6000.c (rs6000_legitimize_reload_address): Don't
	optimize to lo_sum for DFmode if !TARGET_FPRS.

From-SVN: r112912
2006-04-13 14:40:00 +09:30
GCC Administrator
17362e6720 Daily bump.
From-SVN: r112909
2006-04-13 00:17:12 +00:00
Andreas Tobler
b721158568 hpux32.S: Correct unwind offset calculation for ffi_closure_pa32.
2006-04-13  Andreas Tobler  <a.tobler@schweiz.ch>

	* src/pa/hpux32.S: Correct unwind offset calculation for
	ffi_closure_pa32.
	* src/pa/linux.S: Likewise.

From-SVN: r112904
2006-04-13 00:56:19 +02:00
Kazu Hirata
d96f49bf64 tree-ssa-alias.c (set_initial_properties, [...]): Use VEC instead of VARRAY.
* tree-ssa-alias.c (set_initial_properties, init_alias_info,
	delete_alias_info, compute_flow_sensitive_aliasing,
	group_aliases): Use VEC instead of VARRAY.
	* tree-ssa-structalias.c (update_alias_info): Likewise.
	* tree-ssa-structalias.h (alias_info): Change the type of
	processed_ptrs to VEC(tree,heap) *.

From-SVN: r112903
2006-04-12 22:55:28 +00:00