Commit Graph

83237 Commits

Author SHA1 Message Date
Ed Schonberg
157a9bf572 sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is given a box association...
2007-09-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Build_Record_Aggr_Code): If an aggregate component is
	given a box association, the type of the component is discriminated,
	and the value of the discriminant is the discriminant of the enclosing
	type, retrieve its value from the aggregate itself, where it must have
	been supplied.

	* sem_ch4.adb (Analyze_One_Call): Further refinement to previous fix,
	to remove other spurious ambiguities on arithmetic operations involving
	literals and addresses, on systems where Address is a visible integer
	type, when the operator is called in functional notation.
	(Try_Primitive_Operation): Within an instance, a call in prefixed form
	is legal when the types match, even if the operation is currently
	hidden.

From-SVN: r128337
2007-09-10 14:48:54 +02:00
Vincent Celier
1058369480 prj-env.ads, [...] (Create_Mapping_File (Language)): Remove parameter Runtime_Project.
2007-09-10  Vincent Celier  <celier@adacore.com>

	* prj-env.ads, prj-env.adb (Create_Mapping_File (Language)): Remove
	parameter Runtime_Project.

From-SVN: r128336
2007-09-10 14:48:44 +02:00
Gary Dismukes
93188a0b59 exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only create an abstract subprogram in the case of 'Input.
2007-09-10  Gary Dismukes  <dismukes@adacore.com>
	    Thomas Quinot  <quinot@adacore.com>

	* exp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only
	create an abstract subprogram in the case of 'Input. For 'Output we now
	create a real spec/body when the type is abstract, since it can
	potentially be called.
	(Predefined_Primitive_Bodies): Now allow the creation of a predefined
	body for 'Output when the type is abstract (only the creation of the
	body for 'Input is excluded when the type is abstract).
	(Stream_Operation_OK): Add an additional condition in the return
	statement, so that False will be returned for TTS_Stream_Input if the
	associated tagged type is an abstract extension. Add comments for
	return statement.
	(Expand_N_Object_Declaration): For the case of a shared passive
	variable, insert init proc call only after the shared variable
	procedures have been processed, because the IP call needs to undergo
	shared passive variable reference expansion, which requires these
	procedures to be available (and elaborated).

From-SVN: r128335
2007-09-10 14:48:35 +02:00
Vasiliy Fofanov
094f054407 adaint.c (__gnat_translate_vms): new function.
2007-09-10  Vasiliy Fofanov  <fofanov@adacore.com>

	* adaint.c (__gnat_translate_vms): new function.

From-SVN: r128334
2007-09-10 14:48:24 +02:00
Emmanuel Briot
36df551d43 s-regpat.adb (Parse_Character_Class): Fix handling of empty character classes ("[]").
2007-09-10  Emmanuel Briot  <briot@adacore.com>

	* s-regpat.adb (Parse_Character_Class): Fix handling of empty character
	classes ("[]").

From-SVN: r128333
2007-09-10 14:47:36 +02:00
Robert Dewar
b5c84c3ccf exp_atag.ads, [...]: Replace headers with GPL v3 headers.
2007-09-10  Robert Dewar  <dewar@adacore.com>

	* exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb,
	mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb,
	mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb,
	mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads,
	ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads,
	bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads,
	bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb,
	butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb,
	comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads,
	elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads,
	err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb,
	exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads,
	exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb,
	exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb,
	exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads,
	exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb,
	exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads,
	exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads,
	exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb,
	exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb,
	exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads,
	exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb,
	fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads,
	get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb,
	gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb,
	gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads,
	gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads,
	gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads,
	gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb,
	gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads,
	inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads,
	lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb,
	lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads,
	make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads,
	mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb,
	mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads,
	mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb,
	mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt,
	osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb,
	osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads,
	par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb,
	par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
	par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb,
	par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb,
	par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads,
	prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads,
	prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb,
	prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads,
	prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads,
	prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads,
	prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads,
	prj-util.adb, prj-util.ads, restrict.adb, restrict.ads,
	rtsfind.adb, rtsfind.ads, scn.adb, scn.ads,
	scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb,
	sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb,
	sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb,
	sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads,
	sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads,
	sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb,
	sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads,
	sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb,
	sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads,
	sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb,
	sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads,
	sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb,
	sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb,
	sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads,
	sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads,
	stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb,
	styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads,
	switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb,
	switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb,
	tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads,
	treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads,
	types.h, uintp.h, urealp.h, usage.adb, usage.ads,
	validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb,
	xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb,
	xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb,
	gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb,
	mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb,
	symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb,
	mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb,
	mlib-tgt-vms.ads: Replace headers with GPL v3 headers.

From-SVN: r128332
2007-09-10 14:47:10 +02:00
Tobias Burnus
2b44ab8ba0 re PR fortran/31547 (Document when CPP is called and document the f95-cpp-input option)
2007-09-10  Tobias Burnus  <burnus@net-b.de>

	PR fortran/31547
	* gfortran.texi: Document when CPP is called.

	* intrinsic.texi (IOR): Fix typos.

From-SVN: r128331
2007-09-10 14:09:17 +02:00
Arnaud Charlet
4326371014 Update copyright notice.
From-SVN: r128330
2007-09-10 12:14:16 +02:00
Eric Botcazou
a56955b1d7 a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber x87 registers.
* a-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber
	x87 registers.

From-SVN: r128329
2007-09-10 10:10:58 +00:00
Uros Bizjak
f8568ac02a re PR target/33369 (suffix or operands invalid for `pslld')
PR target/33369
	* gcc/config/i386/sse.md (ashr<mode>3): Change op2 mode to SImode.
	Use 'N' operand constraint for op2.
	(lshr<mode>3): Ditto.
	(ashl<mode>3): Ditto.
	(vec_shl_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.
	(vec_shr_<mode>): Use const_0_to_255_mul_8_operand predicate for op2.

	* gcc/config/i386/i386.c (ix86_expand_builtin) [IX86_BUILTIN_PSLL?128,
	IX86_BUILTIN_PSRA*?128, IX86_BUILTIN_PSRL?128]: Convert op1 to SImode.

testsuite/ChangeLog:
	
	PR target/33369
	* gcc.dg/vect/pr33369.c: New test.

From-SVN: r128328
2007-09-10 11:10:00 +02:00
Eric Botcazou
c03550f61c decl.c (gnat_to_gnu_entity): Deal with variable built for a debug renaming declaration specially.
* decl.c (gnat_to_gnu_entity) <object>: Deal with variable built for
	a debug renaming declaration specially.

From-SVN: r128327
2007-09-10 08:52:53 +00:00
Andreas Krebbel
9e8c06778a s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"): Change mode macro in the last real_2expN parameter to uppercase.
2007-09-10  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390/s390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"):
	Change mode macro in the last real_2expN parameter to uppercase.

From-SVN: r128326
2007-09-10 08:40:04 +00:00
Paul Thomas
18eaa2c0cd re PR fortran/33370 (Structure component arrays)
2007-09-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33370
	* trans-expr.c (copyable_array_p):  Add tests that expression
	is a variable, that it has no subreferences and that it is a
	full array.
	(gfc_trans_assignment): Change conditions to suit modifications
	to copyable_array_p.

2007-09-10  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/33370
	* gfortran.dg/array_memcpy_5.f90:  New test.

From-SVN: r128325
2007-09-10 07:54:17 +00:00
Michael Matz
a5828d1e53 tree-pass.h (pass_cselim): Declare new pass.
* tree-pass.h (pass_cselim): Declare new pass.
        * passes.c (init_optimization_passes): Link in pass_cselim.
        * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Renamed from
        tree_ssa_phiopt; add do_store_elim parameter, handle it by calling
        cond_store_replacement.
        (condstoretemp): New static variable.
        (cond_store_replacement): New function.
        (tree_ssa_phiopt, tree_ssa_cs_elim): New wrappers around
        tree_ssa_phiopt_worker.
        (struct name_to_bb): New.
        (get_non_trapping, name_to_bb_hash, name_to_bb_eq, add_or_mark_expr,
        nt_init_block, nt_fini_block): New static functions.
        (seen_ssa_names, nontrap_set): New static variables.
        (gate_cselim, pass_cselim): Define new pass.
        * common.opt (ftree-cselim): New flag.
        * toplev.c (process_options): Set flag_tree_cselim if required.

From-SVN: r128324
2007-09-10 07:40:30 +00:00
Hans-Peter Nilsson
cf369845fd simplify-rtx.c (simplify_relational_operation_1): For recent canonicalization, don't recurse if op1 equals both PLUS arguments.
* simplify-rtx.c (simplify_relational_operation_1): For recent
	canonicalization, don't recurse if op1 equals both PLUS arguments.

From-SVN: r128323
2007-09-10 07:30:16 +00:00
David Daney
3b010fe32e optabs.c (expand_sync_operation): Use plus insn if minus CONST_INT_P(val).
* optabs.c (expand_sync_operation):  Use plus insn if minus
	CONST_INT_P(val).
	(expand_sync_fetch_operation):  Ditto.

From-SVN: r128322
2007-09-10 03:18:30 +00:00
Danny Smith
1d0bd356ad * config/mingw32/proc.c: New file.
From-SVN: r128321
2007-09-10 02:27:29 +00:00
H.J. Lu
f901f85af3 i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead of cvtpq2ps.
2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>

	* i386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead
	of cvtpq2ps.
	(*floatsisf2_sse_vector): Likewise.

From-SVN: r128320
2007-09-09 17:49:11 -07:00
Krister Walfridsson
ac54f11d99 * config/netbsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1.
From-SVN: r128319
2007-09-10 00:22:54 +00:00
GCC Administrator
fe7b3cca9a Daily bump.
From-SVN: r128317
2007-09-10 00:17:03 +00:00
Hans-Peter Nilsson
63db9a5efc * gcc.dg/tree-ssa/ssa-fre-4.c: Skip for cris-*-* and mmix-*-*.
From-SVN: r128314
2007-09-09 23:41:50 +00:00
H.J. Lu
4e9d897d96 i386.h (ix86_tune_indices): Rename X86_USE_VECTOR_CONVERTS to X86_TUNE_USE_VECTOR_CONVERTS.
2007-09-09  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.h (ix86_tune_indices): Rename
	X86_USE_VECTOR_CONVERTS to X86_TUNE_USE_VECTOR_CONVERTS.
	(TARGET_USE_VECTOR_CONVERTS): Updated.
	* config/i386/i386.c: Likewise.

From-SVN: r128313
2007-09-09 16:37:42 -07:00
David Daney
b2ec1738df re PR c++/33324 (ICE on new array of objects with virtual destructors.)
PR c++/33324
	* init.c (build_new_1):  Use POINTER_PLUS_EXPR instead of MINUS_EXPR
	to calculate cookie_ptr.

From-SVN: r128312
2007-09-09 23:31:35 +00:00
Sandra Loosemore
dd735081f0 put entry for last commit in correct ChangeLog
From-SVN: r128309
2007-09-09 18:31:02 -04:00
Sandra Loosemore
55b8093e20 invoke.texi (Overall Options): Add .sx file extension as a synonym for .S.
2007-09-09  Sandra Loosemore  <sandra@codesourcery.com>
            Nigel Stephens <nigel@mips.com>

	gcc/
	* doc/invoke.texi (Overall Options):  Add .sx file extension
	as a synonym for .S.
	* cppspec.c (known_suffixes): Likewise.
	* gcc.c (default_compilers): Likewise.

Co-Authored-By: Nigel Stephens <nigel@mips.com>

From-SVN: r128308
2007-09-09 18:29:24 -04:00
Roger Sayle
3110357b8f acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ECANCELED for cygwin.
* acinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ECANCELED for cygwin.
	* configure: Regenerate.
	* config/os/generic/error_constants.h: Guard.
	* testsuite/19_diagnostics/headers/system_error/
	types_std_c++0x.cc: Same.

From-SVN: r128307
2007-09-09 21:47:04 +00:00
Rask Ingemann Lambertsen
921c44189a re PR target/30315 (optimize unsigned-add overflow test on x86 to use cpu flags from addl)
PR target/30315
	* config/i386/i386.h (CANONICALIZE_COMPARISON): Delete.
	* simplify-rtx.c (simplify_relational_operation_1): Add the
	canonicalization from i386.h.
	* doc/md.texi (Canonicalization of Instructions): Document it.

From-SVN: r128305
2007-09-09 19:21:59 +00:00
Benjamin Kosnik
0098d80686 binary_search.cc: Move...
2007-09-09  Benjamin Kosnik  <bkoz@redhat.com>
	
	* testsuite/25_algorithms/binary_search.cc: Move...
	* testsuite/25_algorithms/binary_search/2.cc: ...here.

	* testsuite/25_algorithms/sort.cc: Move...	
	* testsuite/25_algorithms/sort/1.cc: ...here.
	* testsuite/25_algorithms/partial_sort_copy/2.cc: ...here.
	* testsuite/25_algorithms/nth_element/3.cc: ...here.
	* testsuite/25_algorithms/partial_sort/2.cc: ...here.
	* testsuite/25_algorithms/stable_sort/2.cc: ...here.

	* testsuite/25_algorithms/min_max.cc: Move...
	* testsuite/25_algorithms/min/1.cc: ...here.
	* testsuite/25_algorithms/min/2.cc: ...here.
	* testsuite/25_algorithms/max/1.cc: ...here.
	* testsuite/25_algorithms/max/2.cc: ...here.

From-SVN: r128303
2007-09-09 18:56:00 +00:00
Andreas Tobler
278b0f63a1 re PR libgcj/33326 (libjava - testsuite fails on intel Macintosh)
2007-09-09  Andreas Tobler  <a.tobler@schweiz.org>

	PR libgcj/33326
	* testsuite/lib/libjava.exp (libjava_arguments): Append the test spec
	only for linux targets.

From-SVN: r128302
2007-09-09 20:40:36 +02:00
Jan Hubicka
4845dbb50e i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.
* i386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.
	(TARGET_USE_VECTOR_CONVERTS): New.
	* i386.md: New post-reload splitters for converting SF to DF and DF to
	SF.
	(floatsi* expander): Special case vector conversions.
	(floatsisf2_mixed_vector, floatsisf2_sse_vector_nointernunit,
	floatsisf2_sse_vector_internunit, floatsisf2_sse_vector,
	floatsidf2_mixed_vector, floatsidf2_sse_vector): New.
	(floatsisf2_mixed, floatsisf2_sse, floatsidf2_mixed, floatsidf2_sse):
	Disable when doing vector converts.
	(floatsi<mode>2_i387): Disable when
	* sse.md (vec_dupv2df): Export.
	* i386.c (ix86_tune_features): Enable SSE conversions.

Co-Authored-By: Dwarakanath Rajagopal <dwarak.rajagopal@amd.com>

From-SVN: r128301
2007-09-09 17:39:28 +00:00
Richard Guenther
e9f91f6220 tree-ssa-operands.c (add_virtual_operand): Only mark stores as has_volatile_ops if alias information is not available.
2007-09-09  Richard Guenther  <rguenther@suse.de>

	* tree-ssa-operands.c (add_virtual_operand): Only mark
	stores as has_volatile_ops if alias information is not available.

	* gcc.c-torture/compile/20070906-1.c: New testcase.

From-SVN: r128300
2007-09-09 16:23:26 +00:00
Revital Eres
20dc9cf4eb Add myself to doc/contrib.texi
From-SVN: r128299
2007-09-09 15:12:51 +00:00
Andrew Haley
f144591b54 interpret-run.cc (invokevirtual_resolved): Nullcheck object on TOS.
* interpret-run.cc (invokevirtual_resolved): Nullcheck object on
        TOS.

From-SVN: r128298
2007-09-09 14:55:45 +00:00
Ira Rosen
61ce048a27 costmodel-vect-outer-fir.c: Add noinline attribute.
* gcc.dg/vect/costmodel/ppc/costmodel-vect-outer-fir.c: Add
	noinline attribute.
	* gcc.dg/vect/costmodel/ppc/costmodel-fast-math-vect-pr29925.c,
	gcc.dg/vect/costmodel/spu/costmodel-fast-math-vect-pr29925.c,
	gcc.dg/vect/costmodel/x86_64/costmodel-fast-math-vect-pr29925.c:
	Likewise.

From-SVN: r128297
2007-09-09 12:32:18 +00:00
Eric Botcazou
8caa243664 uc1.ads: Compile with -gnatws.
* gnat.dg/specs/uc1.ads: Compile with -gnatws.

From-SVN: r128296
2007-09-09 11:31:42 +00:00
Eric Botcazou
7a8faae861 addr2_p.ads: Bump size of array to 9.
* gnat.dg/addr2_p.ads: Bump size of array to 9.

From-SVN: r128295
2007-09-09 11:22:30 +00:00
Ira Rosen
89675e7349 tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost, [...]): New functions.
* tree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost,
	stmt_vinfo_set_outside_of_loop_cost): New functions.
	* tree-vect-transform.c (vect_get_cost_fields): Remove.
	(vect_model_simple_cost): Call
	stmt_vinfo_set_inside/outside_of_loop_cost to set the relevant cost
	field instead of calling vect_get_cost_fields.
	(vect_model_store_cost, vect_model_load_cost): Likewise.

From-SVN: r128294
2007-09-09 11:22:24 +00:00
Revital Eres
23a651fcb5 Fix two warnings in rs6000.c cause by bdesc_paired_preds
From-SVN: r128293
2007-09-09 09:29:30 +00:00
Revital Eres
97511ad77a Use new debug counter
From-SVN: r128292
2007-09-09 09:25:32 +00:00
Uros Bizjak
3968877d4a * ChangeLog: Fix cut'n'pasto.
From-SVN: r128291
2007-09-09 11:19:19 +02:00
Uros Bizjak
00188daa1f i386.md (X87MODEF12, SSEMODEF): Remove mode iterators.
2007-09-09  Uros Bizjak  <ubizjak@gmail.com>

        * config/i386/i386.md (X87MODEF12, SSEMODEF): Remove mode iterators.
        Substitute all uses with ...
        (MODEF): New mode iterator.

        (*cmpfp_<mode>_cc): Remove operand constraints from pre-regalloc
        define_insn_and_split splitter pattern.
        (fix_trunc<mode>_fisttp_i387_1): Ditto.
        (*fix_trunc<mode>_i387_1): Ditto.
        (*fistdi2_1): Ditto.
        (*fist<mode>2_1): Ditto.
        (frndintxf2_floor): Ditto.
        (*fist<mode>2_floor_1): Ditto.
        (frndintxf2_ceil): Ditto.
        (*fist<mode>2_ceil_1): Ditto.
        (frndintxf2_trunc): Ditto.
        (frndintxf2_mask_pm): Ditto.

        (prologue): Use (const_int 0) as never generated filler insn.
        (epilogue): Ditto.
        (sibcall_epilogue): Ditto.
        (eh_return_si): Ditto.
        (eh_return_di): Ditto.

        (add<mode>3): Rename from adddf3 and addsf3.  Macroize expander
        using MODEF mode iterator.
        (sub<mode>3): Rename from subdf3 and subsf3.  Macroize expander
        using MODEF mode iterator.
        (mul<mode>3): Rename from muldf3 and mulsf3.  Macroize expander
        using MODEF mode iterator.
        (nearbyint<mode>2): Rename from nearbyintdf2 and nearbyintsf2.
        Macroize expander using MODEF mode iterator.

        (zero_extendsidi2): Remove operand constraints from expander.
        (smuldi3_highpart): Ditto.
        (indirect_jump): Ditto.
        (tablejump): Ditto.
        (rsqrtsf2): Ditto.
        * config/i386/sse.md (storentv4sf): Ditto.
        (storentv2df): Ditto.
        (storentv2di): Ditto.
        (storentsi): Ditto.
        (sse2_cvtpd2ps): Ditto.
        (vec_interleave_highv16qi): Ditto.
        (vec_interleave_lowv16qi): Ditto.
        (vec_interleave_highv8hi): Ditto.
        (vec_interleave_lowv8hi): Ditto.
        (vec_interleave_highv4si): Ditto.
        (vec_interleave_lowv4si): Ditto.
        (vec_interleave_highv2di): Ditto.
        (vec_interleave_lowv2di): Ditto.
        (sse2_maskmovdqu): Ditto.
        * config/i386/mmx.md (mmx_maskmovq): Ditto.

From-SVN: r128290
2007-09-09 11:04:59 +02:00
Ira Rosen
805e205939 tree-vectorizer.h (enum vect_def_type): Start enumeration from 1.
* tree-vectorizer.h (enum vect_def_type): Start enumeration from 1.
	(struct _slp_tree, struct _slp_instance): Define new data structures
	along macros for their access.
	(struct _loop_vec_info): Define new fields: strided_stores,
	slp_instances, and slp_unrolling_factor along macros for their access.
	(enum slp_vect_type): New.
	(struct _stmt_vec_info): Define new field, slp_type, and macros for its
	access.
	(STMT_VINFO_STRIDED_ACCESS): New macro.
	(vect_free_slp_tree): Declare.
	(vectorizable_load): Add an argument of type slp_tree.
	(vectorizable_store, vectorizable_operation, vectorizable_conversion,
	vectorizable_assignment): Likewise.
	(vect_model_simple_cost, vect_model_store_cost, vect_model_load_cost):
	Declare (make extern).
	* tree-vectorizer.c (new_stmt_vec_info): Initiliaze the new field.
	(new_loop_vec_info): Likewise.
	(destroy_loop_vec_info): Free memory allocated for SLP structures.
	* tree-vect-analyze.c: Include recog.h.
	(vect_update_slp_costs_according_to_vf): New.
	(vect_analyze_operations): Add argument for calls to vectorizable_ ()
	functions. For not pure SLP stmts with strided access check that the
	group size is power of 2. Update the vectorization factor according to
	SLP. Call vect_update_slp_costs_according_to_vf.
	(vect_analyze_group_access): New.
	(vect_analyze_data_ref_access): Call vect_analyze_group_access.
	(vect_free_slp_tree): New functions.
	(vect_get_and_check_slp_defs, vect_build_slp_tree, vect_print_slp_tree,
	vect_mark_slp_stmts, vect_analyze_slp_instance, vect_analyze_slp,
	vect_make_slp_decision, vect_detect_hybrid_slp_stmts,
	vect_detect_hybrid_slp): Likewise.
	(vect_analyze_loop): Call vect_analyze_slp, vect_make_slp_decision
	and vect_detect_hybrid_slp.
	* tree-vect-transform.c (vect_estimate_min_profitable_iters): Take
	SLP costs into account.
	(vect_get_cost_fields): New function.
	(vect_model_simple_cost): Make extern, add SLP parameter and handle
	SLP.
	(vect_model_store_cost, vect_model_load_cost): Likewise.
	(vect_get_constant_vectors): New function.
	(vect_get_slp_vect_defs, vect_get_slp_defs,
	vect_get_vec_defs_for_stmt_copy, vect_get_vec_defs_for_stmt_copy,
	vect_get_vec_defs): Likewise.
	(vectorizable_reduction): Don't handle SLP for now.
	(vectorizable_call): Don't handle SLP for now. Add argument to
	vect_model_simple_cost.
	(vectorizable_conversion): Handle SLP (call vect_get_vec_defs to
	get SLPed and vectorized defs). Fix indentation and spacing.
	(vectorizable_assignment): Handle SLP.
	(vectorizable_induction): Don't handle SLP for now.
	(vectorizable_operation): Likewise.
	(vectorizable_type_demotion): Add argument to
	vect_model_simple_cost.
	(vectorizable_type_promotion): Likewise.
	(vectorizable_store, vectorizable_load): Handle SLP.
	(vectorizable_condition): Don't handle SLP for now.
	(vect_transform_stmt): Add a new argument for SLP. Check that there is
	no SLP transformation required for unsupported cases. Add SLP
	argument for supported cases.
	(vect_remove_stores): New function.
	(vect_schedule_slp_instance, vect_schedule_slp): Likewise.
	(vect_transform_loop): Schedule SLP instances.
	* Makefile.in: (tree-vect-analyze.o): Depend on recog.h.

From-SVN: r128289
2007-09-09 08:46:12 +00:00
Andrew Haley
ae2bd7d2ed optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake signed optab.
* optabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake
        signed optab.

From-SVN: r128288
2007-09-09 08:10:24 +00:00
Hans-Peter Nilsson
cf7c4aa6af Divide REG_LABEL notes into REG_LABEL_OPERAND and REG_LABEL_TARGET.
* doc/rtl.texi (Insns): Specify when a label_ref makes a jump_insn.
	Similar for what label_refs can go in the JUMP_TARGET field.  Split
	REG_LABEL documentation into REG_LABEL_TARGET and REG_LABEL_OPERAND.
	* reload.c (find_reloads): Generate REG_LABEL_OPERAND, not
	REG_LABEL when replacing an operand with a LABEL_REF for a
	non-jump insn.
	(subst_reloads): When replacing a LABEL_REG with a register,
	instead of generating a REG_LABEL note, assert that there already
	is one or that the label is a known target for the insn.
	* rtlanal.c (computed_jump_p): Instead of looking for a REG_LABEL
	note, check the JUMP_LABEL field.  Remove "else" after return.
	* reorg.c (emit_delay_sequence): Replace case for REG_LABEL with
	cases for REG_LABEL_OPERAND and REG_LABEL_TARGET.
	(fill_slots_from_thread): Handle both REG_LABEL_OPERAND and
	REG_LABEL_TARGET notes, including the JUMP_TARGET field on JUMP_P
	insns.  Iterate over all notes; don't assume there's only one.
	* cse.c (recorded_label_ref): Adjust comment to refer to
	REG_LABEL_OPERAND.
	(cse_extended_basic_block): Do LABEL_REF check for all INSN_P
	insns, not just NONJUMP_INSN_P.
	(check_for_label_ref): For JUMP_P insns, check that the LABEL_REF
	isn't a jump target.
	* jump.c (rebuild_jump_labels): Adjust head comment.
	(init_label_info): Ditto.  Remove REG_LABEL_OPERAND notes only;
	don't reset REG_LABEL_TARGET notes, including the JUMP_LABEL field.
	(mark_all_labels): For JUMP_P insns without a target, check if the
	the target is noted on the previous nonjump insn.
	(mark_jump_label_1): New function, guts from mark_jump_label.
	<case IF_THEN_ELSE>: Handle first operand as a non-target when
	marking jump target labels.
	<case LABEL_REF>: Adjust for whether to generate a
	REG_LABEL_TARGET or a REG_LABEL_OPERAND note.
	For 'E' format rtl, iterate in descending element order.
	(delete_related_insns): Handle both REG_LABEL_TARGET and
	REG_LABEL_OPERAND notes.  For JUMP_P insns with labels with zero
	reference count, delete and fallthrough.  Move finding-next-
	non-deleted insn last in the function.  Look at all INSN_P insns
	for REG_LABEL_OPERAND notes.
	(redirect_jump_2): Assert that OLABEL equals the old JUMP_LABEL of
	JUMP.
	* print-rtl.c (print_rtx): For JUMP_P insns and a non-NULL
	JUMP_LABEL, output the INSN_UID of it.
	* gcse.c: Adjust comments as appropriate to say REG_LABEL_OPERAND
	and/or REG_LABEL_TARGET.
	(add_label_notes): Only add REG_LABEL_OPERAND notes.  Put in line
	with jump.c copy by only adding notes for labels actually
	referenced in the insn.
	* emit-rtl.c (try_split): Don't assume only NONJUMP_INSN_P need
	usage count increment; handle all INSN_P trial insns.
	(emit_copy_of_insn_after): Change to not copy REG_LABEL_OPERAND
	notes.
	* rtl.h (struct rtx_def) <volatil>: Adjust to mention
	REG_LABEL_TARGET and REG_LABEL_OPERAND.
	(LABEL_REF_NONLOCAL_P): Allow REG_LABEL_TARGET and
	REG_LABEL_OPERAND.
	* combine.c (distribute_notes): Adjust for REG_LABEL_TARGET on
	JUMP_P insns and REG_LABEL_OPERAND everywhere.
	* sched-rgn.c (is_cfg_nonregular): Check for REG_LABEL_OPERANDS
	on all INSN_P insns.
	* reg-notes.def (LABEL_TARGET, LABEL_OPERAND): Split from LABEL.
	* cfgrtl.c (delete_insn): Adjust to handle REG_LABEL_TARGET and
	REG_LABEL_OPERAND notes.
	* reload1.c (calculate_needs_all_insns): Adjust comments.
	(set_label_offsets): Adjust to look for REG_LABEL_OPERAND notes.
	* config/alpha/alpha.md (split for load of an address into a
	four-insn sequence on Unicos/Mk): Adjust to use
	REG_LABEL_OPERAND.
	* config/sh/sh.md (sh_reorg, final_prescan_insn): Ditto.

From-SVN: r128287
2007-09-09 04:41:58 +00:00
Jason Merrill
97c954f700 re PR c++/33342 (ICE in dependent_type_p, at cp/pt.c:15081)
PR c++/33342
        * pt.c (most_specialized_class): Set processing_template_decl
        while tsubsting partial spec args.

From-SVN: r128286
2007-09-09 00:30:44 -04:00
Jason Merrill
fd452cefa9 re PR c++/33342 (ICE in dependent_type_p, at cp/pt.c:15081)
PR c++/33342
        * pt.c (most_specialized_class): Set processing_template_decl
        while tsubsting partial spec args.

From-SVN: r128285
2007-09-08 23:28:08 -04:00
Laurynas Biveinis
ba4807a0d3 revert: regrename.c (copyprop_hardreg_forward_1): New variable next.
Revert:
	2007-09-05  Laurynas Biveinis  <laurynas.biveinis@gmail.com>
	* regrename.c (copyprop_hardreg_forward_1): New variable next. Use
	FOR_BB_INSNS_SAFE instead of for loop.
	* cse.c (cse_extended_basic_block): Likewise.
	* postreload.c (reload_cse_regs_1): New variable next. Make sure
	that the for loop does not invoke NEXT_INSN on a deleted insn.
	* function.c (instantiate_virtual_regs): Likewise.
	* lower-subreg.c (remove_retval_note): Likewise.
	(decompose_multiword_subregs): Use FOR_BB_INSNS_SAFE instead of
	FOR_BB_INSNS.
	* emit-rtl.c (remove_insn): Set NEXT_INSN and PREV_INSN to NULL on
	a deleted insn.
	* cfgrtl.c (delete_insn): Set JUMP_LABEL to NULL on a deleted
	insn, if it's a jump.
	(try_redirect_by_replacing_jump): New variable jump_p. Call
	tablejump_p before delete_insn_chain.
	* reload1.c (reload): New variable next. Make sure that the for
	loop does not invoke NEXT_INSN on a deleted insn.
	(fixup_eh_region_note): Make the loop terminate if i becomes NULL.
	(delete_output_reload): New variable prev. Make sure the the for
	loops do not invoke PREV_INSN on a deleted insn.

From-SVN: r128284
2007-09-09 02:23:47 +00:00
Joseph Myers
7cff41e891 file-format.exp (gcc_target_object_format): Use remote_exec to call objdump.
gcc/testsuite:
	* lib/file-format.exp (gcc_target_object_format): Use remote_exec
	to call objdump.
	* lib/scanasm.exp (scan-assembler-dem, scan-assembler-dem-not):
	Use remote_exec to call c++filt.
	* lib/target-supports-dg.exp (dg-require-host-local): New.
	* gcc.misc-tests/options.exp: Allow .exe in command paths.
	* g++.dg/parse/repo1.C: Use dg-require-host-local.
	* g++.dg/rtti/repo1.C: Likewise.
	* g++.dg/template/repo1.C: Likewise.
	* g++.dg/template/repo2.C: Likewise.
	* g++.dg/template/repo3.C: Likewise.
	* g++.dg/template/repo4.C: Likewise.
	* g++.dg/template/repo5.C: Likewise.
	* g++.old-deja/g++.pt/instantiate4.C: Likewise.
	* g++.old-deja/g++.pt/instantiate6.C: Likewise.
	* g++.old-deja/g++.pt/repo1.C: Likewise.
	* g++.old-deja/g++.pt/repo2.C: Likewise.
	* g++.old-deja/g++.pt/repo3.C: Likewise.
	* g++.old-deja/g++.pt/repo4.C: Likewise.
	* gcc.dg/cpp/trad/builtins.c: Likewise.

libstdc++-v3:
	* testsuite/lib/libstdc++.exp (v3-build-support): Specify output
	file for preprocessing.  Use remote_exec to call ar and ranlib.

From-SVN: r128283
2007-09-09 02:10:17 +01:00
GCC Administrator
37da0c95d4 Daily bump.
From-SVN: r128281
2007-09-09 00:17:08 +00:00
Benjamin Kosnik
9adfc73cd3 functional_hash.h: Add ext/numeric_traits.h.
2007-09-08  Benjamin Kosnik  <bkoz@redhat.com>

	* include/bits/functional_hash.h: Add ext/numeric_traits.h.
	* include/tr1/functional_hash.h Same.
	* include/tr1/functional: Remove string, ext/type_traits.h includes.
	* include/tr1_impl/functional_hash.h: Move string, wstring
	definitions for std::<hash>::operator into separate file.
	* include/std/functional
	* src/hash.cc: New, move definitions here.
	* src/hash_c++0x.cc: Same.
	* src/Makefile.am: Add new source files.
	* configure: Regenerate.
	* Makefile.in: Same.
	* src/Makefile.in: Same.
	* po/Makefile.in: Same.
	* libmath/Makefile.in: Same.
	* libsupc++/Makefile.in: Same.
	* testsuite/Makefile.in: Same.
	* config/abi/pre/gnu.ver: Add symbols.
	* config/abi/pre/gnu-versioned-namespace.ver: Same, fix.

From-SVN: r128278
2007-09-09 00:05:13 +00:00