gcc.git
17 years agoprj-env.ads, [...] (Create_Mapping_File (Language)): Remove parameter Runtime_Project.
Vincent Celier [Mon, 10 Sep 2007 12:48:44 +0000 (14:48 +0200)]
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

17 years agoexp_ch3.adb (Predef_Spec_Or_Body): When the type is abstract, only create an abstract...
Gary Dismukes [Mon, 10 Sep 2007 12:48:35 +0000 (14:48 +0200)]
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

17 years agoadaint.c (__gnat_translate_vms): new function.
Vasiliy Fofanov [Mon, 10 Sep 2007 12:48:24 +0000 (14:48 +0200)]
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

17 years agos-regpat.adb (Parse_Character_Class): Fix handling of empty character classes ("...
Emmanuel Briot [Mon, 10 Sep 2007 12:47:36 +0000 (14:47 +0200)]
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

17 years agoexp_atag.ads, [...]: Replace headers with GPL v3 headers.
Robert Dewar [Mon, 10 Sep 2007 12:47:10 +0000 (14:47 +0200)]
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

17 years agore PR fortran/31547 (Document when CPP is called and document the f95-cpp-input option)
Tobias Burnus [Mon, 10 Sep 2007 12:09:17 +0000 (14:09 +0200)]
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

17 years agoUpdate copyright notice.
Arnaud Charlet [Mon, 10 Sep 2007 10:14:16 +0000 (12:14 +0200)]
Update copyright notice.

From-SVN: r128330

17 years agoa-numaux-x86.adb (Logarithmic_Pow): Do not silently clobber x87 registers.
Eric Botcazou [Mon, 10 Sep 2007 10:10:58 +0000 (10:10 +0000)]
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

17 years agore PR target/33369 (suffix or operands invalid for `pslld')
Uros Bizjak [Mon, 10 Sep 2007 09:10:00 +0000 (11:10 +0200)]
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

17 years agodecl.c (gnat_to_gnu_entity): Deal with variable built for a debug renaming declaratio...
Eric Botcazou [Mon, 10 Sep 2007 08:52:53 +0000 (08:52 +0000)]
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

17 years agos390.md ("fixuns_trunc<BFP:mode><GPR:mode>2"): Change mode macro in the last real_2ex...
Andreas Krebbel [Mon, 10 Sep 2007 08:40:04 +0000 (08:40 +0000)]
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

17 years agore PR fortran/33370 (Structure component arrays)
Paul Thomas [Mon, 10 Sep 2007 07:54:17 +0000 (07:54 +0000)]
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

17 years agotree-pass.h (pass_cselim): Declare new pass.
Michael Matz [Mon, 10 Sep 2007 07:40:30 +0000 (07:40 +0000)]
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

17 years agosimplify-rtx.c (simplify_relational_operation_1): For recent canonicalization, don...
Hans-Peter Nilsson [Mon, 10 Sep 2007 07:30:16 +0000 (07:30 +0000)]
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

17 years agooptabs.c (expand_sync_operation): Use plus insn if minus CONST_INT_P(val).
David Daney [Mon, 10 Sep 2007 03:18:30 +0000 (03:18 +0000)]
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

17 years ago* config/mingw32/proc.c: New file.
Danny Smith [Mon, 10 Sep 2007 02:27:29 +0000 (02:27 +0000)]
* config/mingw32/proc.c: New file.

From-SVN: r128321

17 years agoi386.md (*floatsisf2_mixed_vector): Use cvtdq2ps instead of cvtpq2ps.
H.J. Lu [Mon, 10 Sep 2007 00:49:11 +0000 (00:49 +0000)]
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

17 years ago* config/netbsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1.
Krister Walfridsson [Mon, 10 Sep 2007 00:22:54 +0000 (02:22 +0200)]
* config/netbsd.h (HANDLE_PRAGMA_PACK_PUSH_POP): Define to 1.

From-SVN: r128319

17 years agoDaily bump.
GCC Administrator [Mon, 10 Sep 2007 00:17:03 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r128317

17 years ago* gcc.dg/tree-ssa/ssa-fre-4.c: Skip for cris-*-* and mmix-*-*.
Hans-Peter Nilsson [Sun, 9 Sep 2007 23:41:50 +0000 (23:41 +0000)]
* gcc.dg/tree-ssa/ssa-fre-4.c: Skip for cris-*-* and mmix-*-*.

From-SVN: r128314

17 years agoi386.h (ix86_tune_indices): Rename X86_USE_VECTOR_CONVERTS to X86_TUNE_USE_VECTOR_CON...
H.J. Lu [Sun, 9 Sep 2007 23:37:42 +0000 (16:37 -0700)]
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

17 years agore PR c++/33324 (ICE on new array of objects with virtual destructors.)
David Daney [Sun, 9 Sep 2007 23:31:35 +0000 (23:31 +0000)]
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

17 years agoput entry for last commit in correct ChangeLog
Sandra Loosemore [Sun, 9 Sep 2007 22:31:02 +0000 (18:31 -0400)]
put entry for last commit in correct ChangeLog

From-SVN: r128309

17 years agoinvoke.texi (Overall Options): Add .sx file extension as a synonym for .S.
Sandra Loosemore [Sun, 9 Sep 2007 22:29:24 +0000 (18:29 -0400)]
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

17 years agoacinclude.m4 (GLIBCXX_CHECK_SYSTEM_ERROR): Add ECANCELED for cygwin.
Roger Sayle [Sun, 9 Sep 2007 21:47:04 +0000 (21:47 +0000)]
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

17 years agore PR target/30315 (optimize unsigned-add overflow test on x86 to use cpu flags from...
Rask Ingemann Lambertsen [Sun, 9 Sep 2007 19:21:59 +0000 (21:21 +0200)]
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

17 years agobinary_search.cc: Move...
Benjamin Kosnik [Sun, 9 Sep 2007 18:56:00 +0000 (18:56 +0000)]
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

17 years agore PR libgcj/33326 (libjava - testsuite fails on intel Macintosh)
Andreas Tobler [Sun, 9 Sep 2007 18:40:36 +0000 (18:40 +0000)]
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

17 years agoi386.h (ix86_tune_indices): Add X86_USE_VECTOR_CONVERTS.
Jan Hubicka [Sun, 9 Sep 2007 17:39:28 +0000 (19:39 +0200)]
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

17 years agotree-ssa-operands.c (add_virtual_operand): Only mark stores as has_volatile_ops if...
Richard Guenther [Sun, 9 Sep 2007 16:23:26 +0000 (16:23 +0000)]
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

17 years agoAdd myself to doc/contrib.texi
Revital Eres [Sun, 9 Sep 2007 15:12:51 +0000 (15:12 +0000)]
Add myself to doc/contrib.texi

From-SVN: r128299

17 years agointerpret-run.cc (invokevirtual_resolved): Nullcheck object on TOS.
Andrew Haley [Sun, 9 Sep 2007 14:55:45 +0000 (14:55 +0000)]
interpret-run.cc (invokevirtual_resolved): Nullcheck object on TOS.

        * interpret-run.cc (invokevirtual_resolved): Nullcheck object on
        TOS.

From-SVN: r128298

17 years agocostmodel-vect-outer-fir.c: Add noinline attribute.
Ira Rosen [Sun, 9 Sep 2007 12:32:18 +0000 (12:32 +0000)]
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

17 years agouc1.ads: Compile with -gnatws.
Eric Botcazou [Sun, 9 Sep 2007 11:31:42 +0000 (11:31 +0000)]
uc1.ads: Compile with -gnatws.

* gnat.dg/specs/uc1.ads: Compile with -gnatws.

From-SVN: r128296

17 years agoaddr2_p.ads: Bump size of array to 9.
Eric Botcazou [Sun, 9 Sep 2007 11:22:30 +0000 (11:22 +0000)]
addr2_p.ads: Bump size of array to 9.

        * gnat.dg/addr2_p.ads: Bump size of array to 9.

From-SVN: r128295

17 years agotree-vectorizer.h (stmt_vinfo_set_inside_of_loop_cost, [...]): New functions.
Ira Rosen [Sun, 9 Sep 2007 11:22:24 +0000 (11:22 +0000)]
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

17 years agoFix two warnings in rs6000.c cause by bdesc_paired_preds
Revital Eres [Sun, 9 Sep 2007 09:29:30 +0000 (09:29 +0000)]
Fix two warnings in rs6000.c cause by bdesc_paired_preds

From-SVN: r128293

17 years agoUse new debug counter
Revital Eres [Sun, 9 Sep 2007 09:25:32 +0000 (09:25 +0000)]
Use new debug counter

From-SVN: r128292

17 years ago* ChangeLog: Fix cut'n'pasto.
Uros Bizjak [Sun, 9 Sep 2007 09:19:19 +0000 (11:19 +0200)]
* ChangeLog: Fix cut'n'pasto.

From-SVN: r128291

17 years agoi386.md (X87MODEF12, SSEMODEF): Remove mode iterators.
Uros Bizjak [Sun, 9 Sep 2007 09:04:59 +0000 (11:04 +0200)]
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

17 years agotree-vectorizer.h (enum vect_def_type): Start enumeration from 1.
Ira Rosen [Sun, 9 Sep 2007 08:46:12 +0000 (08:46 +0000)]
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

17 years agooptabs.c (sign_expand_binop): Set libcall_gen = NULL in the fake signed optab.
Andrew Haley [Sun, 9 Sep 2007 08:10:24 +0000 (08:10 +0000)]
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

17 years agoDivide REG_LABEL notes into REG_LABEL_OPERAND and REG_LABEL_TARGET.
Hans-Peter Nilsson [Sun, 9 Sep 2007 04:41:58 +0000 (04:41 +0000)]
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

17 years agore PR c++/33342 (ICE in dependent_type_p, at cp/pt.c:15081)
Jason Merrill [Sun, 9 Sep 2007 04:30:44 +0000 (00:30 -0400)]
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

17 years agore PR c++/33342 (ICE in dependent_type_p, at cp/pt.c:15081)
Jason Merrill [Sun, 9 Sep 2007 03:28:08 +0000 (23:28 -0400)]
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

17 years agorevert: regrename.c (copyprop_hardreg_forward_1): New variable next.
Laurynas Biveinis [Sun, 9 Sep 2007 02:23:47 +0000 (02:23 +0000)]
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

17 years agofile-format.exp (gcc_target_object_format): Use remote_exec to call objdump.
Joseph Myers [Sun, 9 Sep 2007 01:10:17 +0000 (02:10 +0100)]
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

17 years agoDaily bump.
GCC Administrator [Sun, 9 Sep 2007 00:17:08 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r128281

17 years agofunctional_hash.h: Add ext/numeric_traits.h.
Benjamin Kosnik [Sun, 9 Sep 2007 00:05:13 +0000 (00:05 +0000)]
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

17 years agoconstraints.md: Remove 'X' from unused letters comment.
John David Anglin [Sat, 8 Sep 2007 16:21:50 +0000 (16:21 +0000)]
constraints.md: Remove 'X' from unused letters comment.

* pa/constraints.md: Remove 'X' from unused letters comment.

From-SVN: r128277

17 years agotree-tailcall.c (find_tail_calls): If we don't have aliases computed check stmt_ann...
Richard Biener [Sat, 8 Sep 2007 15:09:25 +0000 (15:09 +0000)]
tree-tailcall.c (find_tail_calls): If we don't have aliases computed check stmt_ann->references_memory instead of...

2007-09-08  Richard Guenther  <rguenther@suse.de>

* tree-tailcall.c (find_tail_calls): If we don't have aliases
computed check stmt_ann->references_memory instead of counting
virtual operands.

From-SVN: r128276

17 years agocse.c (fold_rtx): Use validate_unshare_change() instead of validate_change() in one...
Segher Boessenkool [Sat, 8 Sep 2007 15:01:48 +0000 (17:01 +0200)]
cse.c (fold_rtx): Use validate_unshare_change() instead of validate_change() in one more case.

2007-09-09  Segher Boessenkool  <segher@kernel.crashing.org>

* cse.c (fold_rtx): Use validate_unshare_change() instead of
validate_change() in one more case.

From-SVN: r128275

17 years agore PR rtl-optimization/32283 (Missed induction variable optimization)
Zdenek Dvorak [Sat, 8 Sep 2007 13:18:49 +0000 (15:18 +0200)]
re PR rtl-optimization/32283 (Missed induction variable optimization)

PR tree-optimization/32283
* tree-ssa-loop-ivopts.c (may_eliminate_iv): Use
estimated_loop_iterations.
(determine_use_iv_cost_condition): Decrease cost of expressions
used in iv elimination.

* gcc.dg/tree-ssa/loop-31.c: New test.

From-SVN: r128272

17 years agotree-cfg.c (verify_gimple_expr): Avoid building new pointer types, use TYPE_POINTER_T...
Richard Guenther [Sat, 8 Sep 2007 12:16:58 +0000 (12:16 +0000)]
tree-cfg.c (verify_gimple_expr): Avoid building new pointer types, use TYPE_POINTER_TO if available instead.

2007-09-08  Richard Guenther  <rguenther@suse.de>

* tree-cfg.c (verify_gimple_expr): Avoid building new
pointer types, use TYPE_POINTER_TO if available instead.

From-SVN: r128271

17 years agore PR rtl-optimization/26449 (ICE in loop invariant motion)
Uros Bizjak [Sat, 8 Sep 2007 11:48:17 +0000 (13:48 +0200)]
re PR rtl-optimization/26449 (ICE in loop invariant motion)

        PR rtl-optimization/26449
        * gcc.target/i386/pr26449-1.c: New file.

From-SVN: r128270

17 years agore PR target/33329 (ICE in expand_simple_binop, at optabs.c:1294)
Uros Bizjak [Sat, 8 Sep 2007 11:33:08 +0000 (13:33 +0200)]
re PR target/33329 (ICE in expand_simple_binop, at optabs.c:1294)

        PR target/33329
        PR target/26449
        * config/i386/sse.md (mulv4si3): Do not expand sse2 sequence.
        (*sse2_mulv4si3): New define_insn_and_split pattern. Split insn in
        split1 pass.
        (mulv16qi3): Implement as define_insn_and_split pattern instead of
        define_expand, to split insn in split1 pass.
        (mulv2di3): Ditto.

testsuite/ChangeLog:

        PR target/33329
        PR target/26449
        * gcc.target/i386/pr33329.c: New file.

From-SVN: r128269

17 years agodecl.c (gnat_to_gnu_entity): Simplify the condition under which a constant renaming...
Eric Botcazou [Sat, 8 Sep 2007 10:30:06 +0000 (10:30 +0000)]
decl.c (gnat_to_gnu_entity): Simplify the condition under which a constant renaming is treated as a normal...

* decl.c (gnat_to_gnu_entity) <Object>: Simplify the condition under
which a constant renaming is treated as a normal object declaration.
* trans.c (lvalue_required_p) <N_Slice>: New case, extracted from
the N_Indexed_Component case.
<N_Indexed_Component>: Fall through to above case.
<N_Object_Renaming_Declaration>: Return true for all composite types.

From-SVN: r128268

17 years agoAdd missing dg command.
Eric Botcazou [Sat, 8 Sep 2007 10:19:24 +0000 (10:19 +0000)]
Add missing dg command.

From-SVN: r128267

17 years agodecl.c (make_packable_type): If the new type has been given BLKmode, try again to...
Eric Botcazou [Sat, 8 Sep 2007 10:02:28 +0000 (10:02 +0000)]
decl.c (make_packable_type): If the new type has been given BLKmode, try again to get an integral mode for it.

* decl.c (make_packable_type): If the new type has been given BLKmode,
try again to get an integral mode for it.

From-SVN: r128266

17 years agore PR tree-optimization/33301 (wrong vectorization factor due to an invariant type...
Dorit Nuzman [Sat, 8 Sep 2007 09:19:39 +0000 (09:19 +0000)]
re PR tree-optimization/33301 (wrong vectorization factor due to an invariant type-promotion in the loop)

        PR tree-optimization/33301
        * tree-vect-analyze (analyze_operations): Look at the type of the rhs
        when relevant.

From-SVN: r128265

17 years agoAdd support file for controlled2.adb
Arnaud Charlet [Sat, 8 Sep 2007 08:21:05 +0000 (10:21 +0200)]
Add support file for controlled2.adb

From-SVN: r128264

17 years agoAdd spec for controlled2.adb test
Arnaud Charlet [Sat, 8 Sep 2007 08:02:05 +0000 (10:02 +0200)]
Add spec for controlled2.adb test

From-SVN: r128263

17 years agore PR tree-optimization/32183 (reassoc2 can more extra calculations into a loop)
Zdenek Dvorak [Sat, 8 Sep 2007 06:46:53 +0000 (08:46 +0200)]
re PR tree-optimization/32183 (reassoc2 can more extra calculations into a loop)

2007-09-07  Zdenek Dvorak  <ook@ucw.cz>

PR tree-optimization/32183
* Makefile.in (tree-ssa-reassoc.o): Also depend on $(CFGLOOP_H).

* tree-ssa-reassoc.c: Include cfgloop.h.
(is_reassociable_op): Add a loop argument and return true only
for inside loop.
(linearize_expr): Updated.
(should_break_up_subtract): Likewise.
(linearize_expr_tree): Likewise.
(init_reassoc): Call loop_optimizer_init with
AVOID_CFG_MODIFICATIONS.  Remove calculate_dominance_info call
with CDI_DOMINATORS.
(fini_reassoc): Call loop_optimizer_finalize.

From-SVN: r128262

17 years agoDaily bump.
GCC Administrator [Sat, 8 Sep 2007 00:17:26 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r128260

17 years agolib2funcs.S (__xtensa_sync_caches): Use an ISYNC even if there is no i-cache.
Sterling Augustine [Fri, 7 Sep 2007 23:08:39 +0000 (23:08 +0000)]
lib2funcs.S (__xtensa_sync_caches): Use an ISYNC even if there is no i-cache.

2007-09-07  Sterling Augustine  <sterling@tensilica.com>
* config/xtensa/lib2funcs.S (__xtensa_sync_caches): Use an ISYNC even
if there is no i-cache.

From-SVN: r128256

17 years agocopy_neg.cc: Correct line number.
Benjamin Kosnik [Fri, 7 Sep 2007 21:09:35 +0000 (21:09 +0000)]
copy_neg.cc: Correct line number.

2007-09-07  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/19_diagnostics/error_category/cons/copy_neg.cc:
Correct line number.

From-SVN: r128255

17 years agore PR fortran/33307 (I/O read/positioning problem)
Jerry DeLisle [Fri, 7 Sep 2007 20:23:40 +0000 (20:23 +0000)]
re PR fortran/33307 (I/O read/positioning problem)

2007-09-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/33307
* gfortran.dg/backspace_10.f90: New test.

From-SVN: r128254

17 years agore PR fortran/33307 (I/O read/positioning problem)
Jerry DeLisle [Fri, 7 Sep 2007 20:16:05 +0000 (20:16 +0000)]
re PR fortran/33307 (I/O read/positioning problem)

2007-09-07  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libfortran/33307
* io/filepos.c (st_backspace): Don't truncate when already at the end
of the file.

From-SVN: r128253

17 years agoRe-apply accidentally reverted change:
Eric Botcazou [Fri, 7 Sep 2007 19:57:59 +0000 (19:57 +0000)]
Re-apply accidentally reverted change:

2007-02-07  Andreas Krebbel  <krebbel1@de.ibm.com>

* raise-gcc.c (get_region_description_for, get_call_site_action_for,
get_action_description_for): Replace _Unwind_Word with _uleb128_t
and _Unwind_SWord with _sleb128_t.

From-SVN: r128252

17 years agore PR tree-optimization/32586 (New VN misses FRE opportunities)
Richard Guenther [Fri, 7 Sep 2007 18:55:15 +0000 (18:55 +0000)]
re PR tree-optimization/32586 (New VN misses FRE opportunities)

2007-09-07  Richard Guenther  <rguenther@suse.de>

        PR tree-optimization/32586
        * tree-ssa-sccvn.c (simplify_binary_expression): Avoid
        folding if nothing changed.
        (simplify_unary_expression): New function.  Do tree combining
        on conversion like codes.
        (try_to_simplify): Call it.

        * g++.dg/tree-ssa/pr27090.C: Remove XFAILs.
        * gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
        * gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
        * gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
        * gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for
        now obsolete simplification.

From-SVN: r128251

17 years agoconfigure.ac (noconfigdirs): Remove target-libffi and target-libjava.
Andrew Haley [Fri, 7 Sep 2007 17:14:51 +0000 (17:14 +0000)]
configure.ac (noconfigdirs): Remove target-libffi and target-libjava.

2007-09-07  Andrew Haley  <aph@redhat.com>

        * configure.ac (noconfigdirs): Remove target-libffi and
        target-libjava.
        * configure: Regenerate.

From-SVN: r128250

17 years agore PR target/33286 (All exception related tests fail)
John David Anglin [Fri, 7 Sep 2007 16:54:38 +0000 (16:54 +0000)]
re PR target/33286 (All exception related tests fail)

PR target/33286
* gthr-posix.h (__gthread_active_p): Add implementation for hppa-hpux.
(__gthread_active,__gthread_start, __gthread_active_init): New.
* gthr-posix95.h: Likewise.

From-SVN: r128249

17 years agofunction.h (struct function): Rename calls_unwind_init to saves_all_registers.
Roman Zippel [Fri, 7 Sep 2007 16:46:23 +0000 (16:46 +0000)]
function.h (struct function): Rename calls_unwind_init to saves_all_registers.

* function.h (struct function): Rename calls_unwind_init
to saves_all_registers.
(current_function_saves_all_registers): Renamed from
current_function_calls_unwind_init.
* reload1.c (reload): Set current_function_saves_all_registers.
* except.c (expand_builtin_unwind_init): Likewise.
* config/m68k/m68k.c (m68k_save_reg): Use
current_function_saves_all_registers to save pic register.

From-SVN: r128248

17 years agoReapply reverted change:
Janis Johnson [Fri, 7 Sep 2007 16:42:48 +0000 (16:42 +0000)]
Reapply reverted change:

gcc/ada/
Reapply reverted change:

        2007-09-06  Eric Botcazou  <ebotcazou@adacore.com>

        * trans.c (convert_with_check): Update call to real_2expN.

gcc/
config/m68k/m68k.c (floating_exact_log2): Update call to real_2expN.
config/s390/s390.md (fixuns_trunc<BFP:mode><GPR:mode>2): Ditto.

Reapply reverted changes:

  2007-09-06  Jan Hubicka  <jh@suse.cz>

* config/i386.c (ix86_expand_lround, ix86_expand_round): Update call of
real_2expN.

2007-09-06  Richard Sandiford  <richard@codesourcery.com>

* config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
(fixuns_truncsfsi2, fixuns_truncsfdi2): Update calls to real_2expN.

2007-09-05  Janis Johnson  <janis187@us.ibm.com>

* optabs.c (expand_float): Convert unsigned integer as signed only
if it provides sufficient accuracy; add mode argument to real_2expN.
(expand_fix): Fix comment typos; extend binary float into mode
wider than destination for converion to unsigned integer; add mode
argument to real_2expN.
* real.c (real_2expN): Add mode argument to special-case decimal
float values.
* real.h (real_2expN): Ditto.
* fixed-value.c (check_real_for_fixed_mode): Add mode argument to
real_2expN.
(fixed_from_string): Ditto.
(fixed_to_decimal): Ditto.
(fixed_convert_from_real): Ditto.
(real_convert_from_fixed): Ditto.
* config/rs6000/rs6000.md (FP): Include DD and TD modes.
* config/rs6000/dfp.md (extendddtd2, adddd3, addtd3, subdd3, subtd3,
muldd3, multd3, divdd3, divtd3, cmpdd_internal1, cmptd_internal1,
floatditd2, ftruncdd2, fixdddi2, ftrunctd2, fixddi2): New.

From-SVN: r128247

17 years agotree-flow.h (const_block_stmt_iterator): Remove.
Diego Novillo [Fri, 7 Sep 2007 16:38:46 +0000 (12:38 -0400)]
tree-flow.h (const_block_stmt_iterator): Remove.

* tree-flow.h (const_block_stmt_iterator): Remove.
Update all users to use block_stmt_iterator.
* tree-iterator.h (const_tree_stmt_iterator): Remove.
Update all users to use tree_stmt_iterator.

From-SVN: r128246

17 years agomips.c (mips_set_current_function): Temporarily make this a no-op to fix bootstrap...
Sandra Loosemore [Fri, 7 Sep 2007 15:59:44 +0000 (11:59 -0400)]
mips.c (mips_set_current_function): Temporarily make this a no-op to fix bootstrap errors, pending rewrite.

2007-09-07  Sandra Loosemore  <sandra@codesourcery.com>

gcc/
* config/mips/mips.c (mips_set_current_function): Temporarily
make this a no-op to fix bootstrap errors, pending rewrite.

From-SVN: r128245

17 years agoreorg.c (dbr_schedule): Move code removing placeholder USEs later in the pass.
Jan Hubicka [Fri, 7 Sep 2007 15:42:17 +0000 (17:42 +0200)]
reorg.c (dbr_schedule): Move code removing placeholder USEs later in the pass.

* reorg.c (dbr_schedule): Move code removing placeholder USEs later
in the pass.

From-SVN: r128243

17 years agore PR tree-optimization/33299 (miscompilation with gfortran -O2 -ffast-math -ftree...
Dorit Nuzman [Fri, 7 Sep 2007 15:00:11 +0000 (15:00 +0000)]
re PR tree-optimization/33299 (miscompilation with gfortran -O2 -ffast-math -ftree-vectorize)

        PR tree-optimization/33299
        * tree-vect-transform.c (vect_create_epilog_for_reduction): Update uses
        for all relevant loop-exit phis, not just the first.

From-SVN: r128242

17 years agore PR middle-end/33330 (Wrong alias for accessing scalar through array)
Richard Guenther [Fri, 7 Sep 2007 11:57:57 +0000 (11:57 +0000)]
re PR middle-end/33330 (Wrong alias for accessing scalar through array)

2007-09-07  Richard Guenther  <rguenther@suse.de>

PR middle-end/33330
* tree-ssa-operands.c (access_can_touch_variable): An access
of the form (*p)[0] can touch a variable of same size.

From-SVN: r128240

17 years agopasses.c (init_optimization_passes): Add simple dce and addressable passes.
Jan Hubicka [Fri, 7 Sep 2007 11:28:35 +0000 (13:28 +0200)]
passes.c (init_optimization_passes): Add simple dce and addressable passes.

* passes.c (init_optimization_passes): Add simple dce and addressable
passes.
* tree-ssa.c (execute_update_addresses_taken): New function.
(pass_update_address_taken): New.
* tree-ssa-dse.c (execute_simple_dse): New function.
(pass_simple_dse): New.
* tree-pass.h (pass_simple_dse, pass_update_address_taken): Declare.

From-SVN: r128239

17 years agore PR middle-end/33321 (gcc manpage contains "@option<-Wstrict-overflow=1>")
Tobias Burnus [Fri, 7 Sep 2007 10:46:49 +0000 (12:46 +0200)]
re PR middle-end/33321 (gcc manpage contains "@option<-Wstrict-overflow=1>")

2007-09-07  Tobias Burnus  <burnus@net-b.de>

PR middle-end/33321
* doc/invoke.texi: Fix -Wstrict-overflow= table.

From-SVN: r128238

17 years agorevert: re PR tree-optimization/32586 (New VN misses FRE opportunities)
Richard Guenther [Fri, 7 Sep 2007 10:31:09 +0000 (10:31 +0000)]
revert: re PR tree-optimization/32586 (New VN misses FRE opportunities)

2007-09-07  Richard Guenther  <rguenther@suse.de>

        Revert
        2007-09-06  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/32586
* tree-ssa-sccvn.c (simplify_binary_expression): Avoid
folding if nothing changed.
(simplify_unary_expression): New function.  Do tree combining
on conversion like codes.
(try_to_simplify): Call it.

* g++.dg/tree-ssa/pr27090.C: Remove XFAILs.
* gcc.dg/tree-ssa/ssa-fre-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-fre-4.c: Likewise, remove scan for
now obsolete simplification.

From-SVN: r128236

17 years agore PR tree-optimization/32821 (tree-if-conv:combine_blocks with -ftree-dump-tree...
Uros Bizjak [Fri, 7 Sep 2007 10:17:46 +0000 (12:17 +0200)]
re PR tree-optimization/32821 (tree-if-conv:combine_blocks with -ftree-dump-tree-all-details fails on ICE in compilation: segfault)

PR tree-optimization/32821
* tree_if_conv.c (combine_blocks): Use alloc_stmt_list instead of
NULL in the call to set_bb_stmt_list.

testsuite/ChangeLog:

PR tree-optimization/32821
* gcc.dg/tree-ssa/pr32821.c: New file.

From-SVN: r128235

17 years agofpu-387.h: Include cpuid.h.
Uros Bizjak [Fri, 7 Sep 2007 09:34:36 +0000 (11:34 +0200)]
fpu-387.h: Include cpuid.h.

* config/fpu-387.h: Include cpuid.h.
(set_fpu): Use __get_cpuid to check for SSE.

From-SVN: r128234

17 years agomips.c (build_mips16_call_stub): Emit all direct float calls here, rather than leavin...
Richard Sandiford [Fri, 7 Sep 2007 08:38:42 +0000 (08:38 +0000)]
mips.c (build_mips16_call_stub): Emit all direct float calls here, rather than leaving some to the caller.

gcc/
* config/mips/mips.c (build_mips16_call_stub): Emit all direct
float calls here, rather than leaving some to the caller.
Use call_internal_direct and call_value_internal_direct.
* config/mips/mips.md (call_internal_direct): New pattern.
(call_value_internal_direct): Likewise.

From-SVN: r128233

17 years agomips.c (mips_base_move_loop_invariants): New variable.
Richard Sandiford [Fri, 7 Sep 2007 08:14:10 +0000 (08:14 +0000)]
mips.c (mips_base_move_loop_invariants): New variable.

gcc/
* config/mips/mips.c (mips_base_move_loop_invariants): New variable.
(mips_set_mips16_mode): Restore flag_move_loop_invariants, then set
to 0 for MIPS16.
(override_options): Set mips_base_move_loop_invariants.

From-SVN: r128232

17 years agomips.opt (mcode-readable=): Move to keep list alphabetical.
Richard Sandiford [Fri, 7 Sep 2007 07:48:04 +0000 (07:48 +0000)]
mips.opt (mcode-readable=): Move to keep list alphabetical.

gcc/
* config/mips/mips.opt (mcode-readable=): Move to keep list
alphabetical.

From-SVN: r128231

17 years agomt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.
Richard Sandiford [Fri, 7 Sep 2007 07:37:38 +0000 (07:37 +0000)]
mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.

config/
* mt-sde (CFLAGS_FOR_TARGET): Add -mno-gpopt.
(CXXFLAGS_FOR_TARGET): Likewise.

gcc/
* doc/invoke.texi: Document the MIPS -mlocal-sdata, -mextern-sdata
and -mgpopt options.  Adjust the -G documentation to match.
* config/mips/mips.opt (mextern-data, mgpopt, mlocal-data): New.
* config/mips/mips.c (mips_rtx_constant_in_small_data_p): New
function, split out from mips_classify_symbol.  Return false for
!TARGET_LOCAL_SDATA.
(mips_classify_symbol): Call mips_rtx_constant_in_small_data_p.
Only use GP-relative accesses for non-pool symbols if TARGET_GPOPT.
(override_options): Check whether the -mgpopt setting is consistent
with the other flags.
(symbolic_expression_p): Delete.
(mips_select_rtx_section): Use mips_rtx_constant_in_small_data_p
and default_elf_select_rtx_section.
(mips_in_small_data_p): Honor section attributes for MIPS16 too.
Return false for local data unless TARGET_LOCAL_SDATA.  Likewise
external data and TARGET_EXTERN_SDATA.

gcc/testsuite/
* gcc.dg/attr-alias-3.c: Use real asm for MIPS.
* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_forced_gp
and mips_forced_no_er.
(dg-mips-options): Add -mno-abicalls when a small-data option is
specified.  Skip tests with small-data options if mips_forced_gp.
Skip tests with -mexplicit-relocs if mips_forced_no_er.
* gcc.target/mips/sdata-1.c: New test.
* gcc.target/mips/sdata-2.c: Likewise.
* gcc.target/mips/sdata-3.c: Likewise.
* gcc.target/mips/sdata-4.c: Likewise.

From-SVN: r128230

17 years agore PR fortran/33303 (Document __GFORTRAN__)
Tobias Burnus [Fri, 7 Sep 2007 07:33:26 +0000 (09:33 +0200)]
re PR fortran/33303 (Document __GFORTRAN__)

2007-09-07  Tobias Burnus  <burnus@net-b.de>

PR fortran/33303
* doc/cpp.texi (Common Predefined Macros): Add __GFORTRAN__.

From-SVN: r128229

17 years agore PR libstdc++/33203 (libstdc++-v3 build broken on i386-pc-mingw32)
Danny Smith [Fri, 7 Sep 2007 04:18:40 +0000 (04:18 +0000)]
re PR libstdc++/33203 (libstdc++-v3 build broken on i386-pc-mingw32)

PR libstdc++/33203
* configure.host (error_constants_dir):  New variable,
defaulting to os/generic.
( mingw32*): Overide default.
* configure.ac (ERROR_CONSTANTS_SRCDIR): New.
* configure: Regenerate.
* include/Makefile.am (host_headers): Add
$(ERROR_CONSTANTS_SRCDIR)/error_constants.h .
* include/Makefile.in: Regenerate.
* include/std/system_error (enum posix_errno): Remove.
Include <bits/error_constants.h> instead.
* config/os/mingw32/error_constants.h: New.
* config/os/generic/error_constants.h: New.

From-SVN: r128228

17 years ago* decl2.c (get_guard): Copy visibility from the guarded variable.
Jason Merrill [Fri, 7 Sep 2007 03:56:41 +0000 (23:56 -0400)]
* decl2.c (get_guard): Copy visibility from the guarded variable.

From-SVN: r128226

17 years agolibstdc++.exp: Check CXXFLAGS.
Benjamin Kosnik [Fri, 7 Sep 2007 03:01:53 +0000 (03:01 +0000)]
libstdc++.exp: Check CXXFLAGS.

2007-09-06  Benjamin Kosnik  <bkoz@redhat.com>

* testsuite/lib/libstdc++.exp: Check CXXFLAGS.
* scripts/testsuite_flags.in: CXXFLAGS_default, matching dejagnu.

* include/std/ostream: Spacing tweak.
* include/ext/hashtable.h: Use <algorithm>.
* include/ext/slist: Same.
* include/ext/rope: Same.
* include/bits/stl_function.h: Format.
* include/tr1_impl/array: Remove section number in doxygen markup.
* src/list.cc: Comment tweak.

* docs/doxygen/user.cfg.in: Update for include/tr1_impl.

* testsuite/25_algorithms/search_n/iterator.cc: Add using declaration.
* testsuite/25_algorithms/nth_element/1.cc:  Same.
* testsuite/21_strings/char_traits/requirements/short/1.cc: Use
char_type typedef to the underlying character type.
* testsuite/21_strings/char_traits/requirements/wchar_t/typedefs.cc:
Remove -ansi -pedantic-errors.
* testsuite/21_strings/char_traits/requirements/char/typedefs.cc: Same.
* testsuite/tr1/6_containers/headers/functional/synopsis.cc:
Remove specializations.

From-SVN: r128225

17 years agoregrename.c (copyprop_hardreg_forward_1): New variable next.
Laurynas Biveinis [Fri, 7 Sep 2007 02:58:06 +0000 (02:58 +0000)]
regrename.c (copyprop_hardreg_forward_1): New variable next.

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: r128224

17 years agocgraphbuild.c (rebuild_cgraph_edges): Export.
Zdenek Dvorak [Fri, 7 Sep 2007 02:40:14 +0000 (04:40 +0200)]
cgraphbuild.c (rebuild_cgraph_edges): Export.

* cgraphbuild.c (rebuild_cgraph_edges): Export.
* cgraph.h (rebuild_cgraph_edges): Declare.
* tree-pass.h (pass_expand_omp_ssa): New.
* omp-low.c (find_omp_clause): Export.
(copy_var_decl): Split from omp_copy_decl_2.
(build_omp_barrier): Return the call to emit instead of emitting
it directly.
(lower_rec_input_clauses, expand_omp_single): Gimplify the result of
build_omp_barrier.
(extract_omp_for_data, expand_parallel_call, expand_omp_parallel,
expand_omp_for_generic, expand_omp_for_static_nochunk,
expand_omp_for_static_chunk, expand_omp_for, expand_omp_sections):
Adapted to work on SSA form.
(execute_expand_omp): Do not invalidate dominance information.
(gate_expand_omp): Do not run with -fopenmp-ssa flag.
(gate_expand_omp_ssa, pass_expand_omp_ssa): New.
* gimplify.c (gimplify_omp_for): Ensure that the control variable is
a gimple_reg.
(force_gimple_operand): Allow gimplifying code expressions without
value.
* tree-predcom.c (mark_virtual_ops_for_renaming): Handle phi nodes.
* common.opt (fopenmp-ssa): New.
* tree-flow.h (find_omp_clause, copy_var_decl): Declare.
* Makefile.in (tree-cfg.o): Add TREE_INLINE_H dependency.
* tree-cfg.c: Include tree-inline.h.
(struct move_stmt_d): Replace vars_to_remove by vars_map field.
(replace_by_duplicate_decl, replace_ssa_name,
mark_virtual_ops_in_region): New functions.
(move_stmt_r, move_block_to_fn, move_sese_region_to_fn): Adapted
to work on SSA form.
* passes.c (init_optimization_passes): Add pass_expand_omp_ssa pass.
* tree-ssa-operands.c (get_expr_operands): Handle operands of OMP
constructs.

From-SVN: r128223

17 years agore PR libstdc++/29367 (pb_ds hash containers vs. _GLIBCXX_DEBUG)
Benjamin Kosnik [Fri, 7 Sep 2007 02:25:45 +0000 (02:25 +0000)]
re PR libstdc++/29367 (pb_ds hash containers vs. _GLIBCXX_DEBUG)

2007-09-06  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/29367
* include/ext/pb_ds/detail/map_debug_base.hpp: From this..
* include/ext/pb_ds/detail/debug_map_base.hpp: ...to this.
Rename map_debug_base to debug_map_base, add std::pair output
extractors, change duplicate map_debug_base typedef in containers
to debug_base. Use m_store_extra_indicator for m_store_hash_indicator.
* include/ext/pb_ds/*: Likewise.
* include/Makefile.am: Same.
* include/Makefile.in: Regenerate.

From-SVN: r128222

17 years agore PR libstdc++/29367 (pb_ds hash containers vs. _GLIBCXX_DEBUG)
Benjamin Kosnik [Fri, 7 Sep 2007 02:20:58 +0000 (02:20 +0000)]
re PR libstdc++/29367 (pb_ds hash containers vs. _GLIBCXX_DEBUG)

2007-09-06  Benjamin Kosnik  <bkoz@redhat.com>

PR libstdc++/29367
* include/ext/pb_ds/detail/map_debug_base.hpp: From this..
* include/ext/pb_ds/detail/debug_map_base.hpp: ...to this.
Rename map_debug_base to debug_map_base, add std::pair output
extractors, change duplicate map_debug_base typedef in containers
to debug_base. Use m_store_extra_indicator for m_store_hash_indicator.
* include/ext/pb_ds/*: Likewise.
* include/Makefile.am: Same.
* include/Makefile.in: Regenerate.

From-SVN: r128221

17 years agostl_vector.h (_Vector_base<>::_M_allocate): Do not call _M_impl.allocate when __n...
Paolo Carlini [Fri, 7 Sep 2007 01:37:31 +0000 (01:37 +0000)]
stl_vector.h (_Vector_base<>::_M_allocate): Do not call _M_impl.allocate when __n == 0.

2007-09-06  Paolo Carlini  <pcarlini@suse.de>

* include/bits/stl_vector.h (_Vector_base<>::_M_allocate):
Do not call _M_impl.allocate when __n == 0.
* testsuite/23_containers/vector/zero_sized_allocations.cc: New.

From-SVN: r128220

17 years agotree-loop-linear.c: Include obstack.h.
Laurynas Biveinis [Fri, 7 Sep 2007 01:33:41 +0000 (01:33 +0000)]
tree-loop-linear.c: Include obstack.h.

2007-09-06  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

* tree-loop-linear.c: Include obstack.h.
(linear_transform_loops): New obstack lambda_obstack.
Initialize it, pass it to gcc_loopnest_to_lambda_loopnest,
lambda_loopnest_transform, lambda_loopnest_to_gcc_loopnest calls
and free afterwards.
* lambda.h (struct obstack): New forward declaration.
(lambda_linear_expression_new): New parameter of type struct
obstack *.
(lambda_loopnest_new): Likewise.
(lambda_loopnest_transform): Likewise.
(lambda_body_vector_new): Likewise.
(lambda_body_vector_compute_new): Likewise.
(gcc_loopnest_to_lambda_loopnest): Likewise.
(lambda_loopnest_to_gcc_loopnest): Likewise.
* lambda-code.c: Include obstack.h.
(lambda_lattice_new): New parameter lambda_obstack.  Use it for
allocation of ret.
(lambda_body_vector_new): Likewise.
(lambda_linear_expression_new): Likewise.
(lambda_lattice_new): Likewise.
(lambda_loopnest_new): Likewise.  Additionally use obstack to
allocate LN_LOOPS(ret).
(lambda_lattice_compute_base): New parameter lambda_obstack.  Pass
it to lambda_lattice_new.
(lambda_body_vector_compute_new): New parameter lambda_obstack.
Pass it to lambda_body_vector_new.
(lambda_lattice_compute_base): New paramater lambda_obstack.  Pass
it to lambda_lattice_new.
(compute_nest_using_fourier_motzkin): New parameter lambda_obstack.
Pass it to lambda_loopnest_new, lambda_linear_expression_new.
(lambda_compute_target_space): Likewise.
(lambda_compute_auxillary_space): New parameter lambda_obstack.
Pass it to lambda_lattice_compute_base and
compute_nest_using_fourieer_motzkin.
(lambda_loopnest_transform): New parameter lambda_obstack.  Pass
it to lambda_lattice_compute_base, lambda_lattice_auxillary_space
and lambda_lattice_compute_target_space.
(gcc_tree_to_linear_expression): Nex parameter lambda_obstack.
Pass it to lambda_linear_expression_new.
(gcc_loop_to_lambda_loop): New parameter lambda_obstack.  Pass it
to gcc_tree_to_linear_expression.
(gcc_loopnest_to_lambda_loopnest): New parameter lambda_obstack.
Pass it to gcc_loop_to_lambda_loop and lambda_loopnest_new.
(lambda_loopnest_to_gcc_loopnest): New parameter lambda_obstack.
Pass it to lambda_body_vector_new and
lambda_body_vector_compute_new.
* Makefile.in (tree-loop-linear.o): Add $(OBSTACK_H) dependency.
(lambda-code.o): Likewise.

From-SVN: r128219

17 years agostdfix.h: New file.
Chao-ying Fu [Fri, 7 Sep 2007 01:24:09 +0000 (01:24 +0000)]
stdfix.h: New file.

* ginclude/stdfix.h: New file.
* Makefile.in (USER_H): Add $(srcdir)/ginclude/stdfix.h.
(convert.o): Add dependence on fixed-value.h.
* c-convert.c (convert): Support FIXED_POINT_TYPE.
* c-cppbuiltin.c (builtin_define_fixed_point_constants): New function
to define fixed-point constants.
(c_cpp_builtins): Define fixed-point constants.
* convert.c (fixed-value.h): New include.
(convert_to_real): Update comment to include fixed-point.
Support FIXED_POINT_TYPE.
(convert_to_integer): Update comment to include fixed-point.
Support FIXED_POINT_TYPE.
(convert_to_complex): Support FIXED_POINT_TYPE.
(convert_to_fixed): New function.
* convert.h (convert_to_fixed): Declare.
* genopinit.c: Add comment about $Q for only fixed-point modes.
(optabs): Add fract_optab, fractuns_optab, satfract_optab,
satfractuns_optab, add_optab, ssadd_optab, usadd_optab, sub_optab,
sssub_optab, ussub_optab, smul_optab, ssmul_optab, usmul_optab,
ssmadd_widen_optab, usmadd_widen_optab, ssdiv_optab, udiv_optab,
usdiv_optab, ssashl_optab, usashl_optab, neg_optab, ssneg_optab,
usneg_optab for fixed-point modes.
(gen_insn): Add force_fixed to track the $Q format for all fixed-point
modes.
* optabs.c (optab_for_tree_code): For *DIV_EXPR, LSHIFT_EXPR,
PLUS_EXPR, MINUS_EXPR, MULT_EXPR, NEGATE_EXPR, return signed or
unsigned saturation optabs, when type is saturating.
(shift_optab_p): Return true for SS_ASHIFT or US_ASHIFT.
(expand_fixed_convert): New function.
(gen_fixed_libfunc, gen_signed_fixed_libfunc,
gen_unsigned_fixed_libfunc, gen_int_fp_fixed_libfunc,
gen_int_fp_signed_fixed_libfunc, gen_int_fixed_libfunc,
gen_int_signed_fixed_libfunc, gen_int_unsigned_fixed_libfunc,
gen_fract_conv_libfunc, gen_fractuns_conv_libfunc,
gen_satfract_conv_libfunc, gen_satfractuns_conv_libfunc): New
functions.
(init_optabs): Initialize ssadd_optab, usadd_optab, sssub_optab,
ussub_optab, ssmul_optab, usmul_optab, ssmadd_widen_optab,
usmadd_widen_optab, ssmsub_widen_optab, usmsub_widen_optab,
ssdiv_optab, usdiv_optab, ssashl_optab, usashl_optab, ssneg_optab,
usneg_optab, fract_optab, fractuns_optab, satfract_optab,
satfractuns_optab.
Initialize fixed-point libraries, including add, ssadd, usadd, sub,
sssub, ussub, mul, ssmul, usmul, div, ssdiv, udiv, usdiv, ashl,
ssashl, usashl, ashr, lshr, neg, ssneg, usneg, cmp, fract, satfract,
fractuns, satfractuns.
* optabs.h (enum optab_index): Add OTI_ssadd, OTI_usadd, OTI_sssub,
OTI_ussub, OTI_ssmul, OTI_usmul, OTI_ssdiv, OTI_usdiv, OTI_ssneg,
OTI_usneg, OTI_ssashl, OTI_usashl, OTI_ssmadd_widen, OTI_usmadd_widen,
OTI_ssmsub_widen,  OTI_usmsub_widen.
(ssadd_optab, usadd_optab, sssub_optab, ussub_optab, ssmul_optab,
usmul_optab, ssdiv_optab, usdiv_optab, ssneg_optab, usneg_optab,
ssashl_optab, usashl_optab, ssmadd_widen_optab, usmadd_widen_optab,
umsub_widen_optab, usmsub_widen_optab): Define.
(enum convert_optab_index): Add COI_fract, COI_fractuns, COI_satfract,
COI_satfractuns.
(fract_optab, fractuns_optab, satfract_optab, satfractuns_optab):
Define.
(expand_fixed_convert): Declare.
* expr.c (convert_move): Support the move of fixed-point modes.
(emit_move_insn_1): Handle fixed-point mode to move via integer.
(categorize_ctor_elements_1): Handle FIXED_CST.
(count_type_elements): Handle FIXED_POINT_TYPE.
(expand_expr_real_1): For VECTOR_CST, check MODE_VECTOR_FRACT,
MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
Support FIXED_CST.
For PLUS_EXPR and MINUS_EXPR, support saturating and non-saturating
multiply and add/subtract for fixed-point types.
For MULT_EXPR, *DIV_EXPR, *SHIFT_EXPR, if the mode if a fixed-point
mode, we jump to binop directly.
Support FIXED_CONVERT_EXPR.
(do_store_flag): Check FIXED_CST to put a constant second.
(vector_mode_valid_p): Handle MODE_VECTOR_FRACT,
MODE_VECTOR_UFRACT, MODE_VECTOR_ACCUM, MODE_VECTOR_UACCUM.
(const_vector_from_tree): Support FIXED_CST.
* doc/extend.texi (Fixed-Point): New node.
* doc/md.texi (ssadd, usadd, sssub, ussub, ssmul, usmul, ssdiv, usdiv,
ssmadd, usmadd, ssmsub, usmsub, ssashl, usashl, ssneg, usneg, fract,
satfract, fractuns, satfractuns): Document them.

From-SVN: r128218

17 years agoDaily bump.
GCC Administrator [Fri, 7 Sep 2007 00:17:03 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r128215