gcc.git
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

17 years agobfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc addresses into I registers.
Bernd Schmidt [Thu, 6 Sep 2007 23:24:19 +0000 (23:24 +0000)]
bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc addresses into I registers.

* config/bfin/bfin.h (PREFERRED_RELOAD_CLASS): Don't reload autoinc
addresses into I registers.

From-SVN: r128212

17 years ago* jcf-parse.c (parse_class_file): Re-enter the current file.
Tom Tromey [Thu, 6 Sep 2007 23:10:19 +0000 (23:10 +0000)]
* jcf-parse.c (parse_class_file): Re-enter the current file.

From-SVN: r128211

17 years ago* semantics.c (expand_body): Do not mark arguments of clones used.
Jan Hubicka [Thu, 6 Sep 2007 23:04:18 +0000 (01:04 +0200)]
* semantics.c (expand_body): Do not mark arguments of clones used.

From-SVN: r128209

17 years agoboehm.c (mark_reference_fields): Move misaligned pointer check
Roman Zippel [Thu, 6 Sep 2007 23:00:01 +0000 (23:00 +0000)]
boehm.c (mark_reference_fields): Move misaligned pointer check
after JREFERENCE_TYPE_P test

From-SVN: r128208

17 years agodarwin.c (machopic_indirect_data_reference): Avoid invalid sharing.
Jan Hubicka [Thu, 6 Sep 2007 19:41:33 +0000 (21:41 +0200)]
darwin.c (machopic_indirect_data_reference): Avoid invalid sharing.

2007-09-06  Jan Hubicka  <jh@suse.cz>
    Andreas Tobler  <a.tobler@schweiz.org>

* config/darwin.c (machopic_indirect_data_reference): Avoid invalid
sharing.
(machopic_legitimize_pic_address): Likewise.

Co-Authored-By: Andreas Tobler <a.tobler@schweiz.org>
From-SVN: r128207

17 years agore PR libfortran/33298 (Wrong code for SPREAD on zero-sized arrays)
Thomas Koenig [Thu, 6 Sep 2007 19:25:30 +0000 (19:25 +0000)]
re PR libfortran/33298 (Wrong code for SPREAD on zero-sized arrays)

2007-09-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/33298
* intrinsics/spread_generic.c(spread_internal): Enable
bounds checking by comparing extents if the bounds_check
option has been set.  If any extent is <=0, return early.

2007-09-06  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/33298
* spread_zerosize_1.f90:  New test case.
* spread_bounds_1.f90:  New test case.

From-SVN: r128206

17 years agocstdlib: Remove empty directory.
Matthias Klose [Thu, 6 Sep 2007 19:17:30 +0000 (19:17 +0000)]
cstdlib: Remove empty directory.

2007-09-06  Matthias Klose  <doko@debian.org>

        * testsuite/27_io/headers/cstdlib: Remove empty directory.

From-SVN: r128204