GCC Administrator [Fri, 4 Apr 2008 00:17:42 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r133885
Janis Johnson [Thu, 3 Apr 2008 23:49:35 +0000 (23:49 +0000)]
re PR c/35712 (decimal float literal constant zero loses significant trailing zeroes)
2008-04-03 Janis Johnson <janis187@us.ibm.com>
gcc/
PR c/35712
* dfp.c (decimal_from_decnumber): Retain trailing zeroes for
decimal-float literal constant zero.
testsuite/
PR c/35712
* gcc.dg/dfp/constants-zero.c: New test.
From-SVN: r133881
Jakub Jelinek [Thu, 3 Apr 2008 21:03:54 +0000 (23:03 +0200)]
re PR c/35738 (ICE with #pragma omp atomic and conversion from pointer to int)
PR c/35738
* c-parser.c (c_parser_omp_atomic): Call
default_function_array_conversion on the RHS.
* gcc.dg/gomp/pr35738.c: New test.
From-SVN: r133876
Jakub Jelinek [Thu, 3 Apr 2008 21:02:44 +0000 (23:02 +0200)]
re PR middle-end/35818 (ICE on incomplete array in shared clause)
PR middle-end/35818
* omp-low.c (scan_sharing_clauses) <case OMP_CLAUSE_SHARED>: Don't
call is_variable_sized if decl has incomplete type.
* gcc.dg/gomp/pr35818.c: New test.
From-SVN: r133875
Jakub Jelinek [Thu, 3 Apr 2008 21:01:26 +0000 (23:01 +0200)]
re PR fortran/35786 (OpenMP Fortran PRIVATE on parameter gives error in gfc_finish_var_decl)
PR fortran/35786
* openmp.c (resolve_omp_clauses): Diagnose if a clause symbol
isn't a variable.
* gfortran.dg/gomp/pr35786-1.f90: New test.
* gfortran.dg/gomp/pr35786-2.f90: New test.
From-SVN: r133874
H.J. Lu [Thu, 3 Apr 2008 20:02:54 +0000 (20:02 +0000)]
i386-protos.h (ix86_aligned_p): Removed.
2008-04-03 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386-protos.h (ix86_aligned_p): Removed.
From-SVN: r133873
Adam Nemet [Thu, 3 Apr 2008 19:31:28 +0000 (19:31 +0000)]
mips.md (any_gt, [...]): New code iterators.
* config/mips/mips.md (any_gt, any_ge, any_lt, any_le): New code
iterators.
(u): Add attribute values for gt, gtu, ge, geu, lt, ltu, le and
leu.
(sgt<u>): Merge sgt and sgtu into new expander.
(sgt, sgtu): Remove expanders.
(*sgt<u>_<mode>): Merge *sgt_<mode> and *sgtu_<mode> into new
pattern.
(*sgt_<mode>, *sgtu_<mode>): Remove patterns.
(*sgt<u>_<mode>_mips16): Merge *sgt_<mode>_mips16 and
*sgtu_<mode>_mips16 into new pattern.
(*sgt_<mode>_mips16, *sgtu_<mode>_mips16): Remove patterns.
(sge<u>): Merge sge and sgeu into new expander.
(sge, sgeu): Remove expanders.
(*sge<u>_<mode>): Merge *sge_<mode> and second *sge_<mode> into
new pattern.
(*sge_<mode>, second *sge_<mode>): Remove patterns.
(slt<u>): Merge slt and sltu into new expander.
(slt, sltu): Remove expanders.
(*slt<u>_<mode>): Merge *slt_<mode> and *sltu_<mode> into new
pattern.
(*slt_<mode>, *sltu_<mode>): Remove patterns.
(*slt<u>_<mode>_mips16): Merge *slt_<mode>_mips16 and
*sltu_<mode>_mips16 into new pattern.
(*slt_<mode>_mips16, *sltu_<mode>_mips16): Remove patterns.
(sle<u>): Merge sle and sleu into new expander.
(sle, sleu): Remove expanders.
(*sle<u>_<mode>): Merge *sle_<mode> and *sleu_<mode> into new
pattern.
(*sle_<mode>, *sleu_<mode>): Remove patterns.
(*sle<u>_<mode>_mips16): Merge *sle_<mode>_mips16 and
*sleu_<mode>_mips16 into new pattern.
(*sle_<mode>_mips16, *sleu_<mode>_mips16): Remove patterns.
testsuite/
* gcc.target/mips/scc-1.c: New test.
From-SVN: r133872
Jan Hubicka [Thu, 3 Apr 2008 12:49:27 +0000 (05:49 -0700)]
re PR target/35795 (Revision 133787 breaks ia64)
2008-04-03 Jan Hubicka <jh@suse.cz>
PR tree-optimization/35795
* alpha/alpha.c (alpha_output_mi_thunk_osf): Free after compilation.
* sparc/sparc.c (sparc_output_mi_thunk): Likewise.
* ia64/ia64.c (ia64_output_mi_thunk): Likewise.
* m68k/m68k.c (m68k_output_mi_thunk): Likewise.
* score/score3.c (score3_output_mi_thunk): Likewise.
* score/score7.c (score7_output_mi_thunk): Likewise.
* mips/mips.c (mips_output_mi_thunk): Likewise.
From-SVN: r133868
Richard Guenther [Thu, 3 Apr 2008 09:33:27 +0000 (09:33 +0000)]
tree-vrp.c (extract_range_from_unary_expr): Handle all conversions.
2008-04-03 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (extract_range_from_unary_expr): Handle all
conversions. Simplify code.
* gcc.dg/tree-ssa/vrp43.c: New testcase.
* gcc.dg/tree-ssa/vrp44.c: Likewise.
* gcc.dg/tree-ssa/vrp45.c: Likewise.
From-SVN: r133866
Kaz Kojima [Thu, 3 Apr 2008 09:07:17 +0000 (09:07 +0000)]
* config/sh/sh.c (sh_output_mi_thunk): Free cfun.
From-SVN: r133865
Jakub Jelinek [Thu, 3 Apr 2008 07:43:46 +0000 (09:43 +0200)]
re PR c++/35741 (ICE with offsetof and references)
PR c++/35741
* semantics.c (finish_offsetof): Undo effect of convert_from_reference
before calling fold_offsetof.
* g++.dg/other/offsetof5.C: New test.
From-SVN: r133863
Tom Tromey [Thu, 3 Apr 2008 06:12:27 +0000 (06:12 +0000)]
t-uclinux (generated_files): Add sysroot-suffix.h.
gcc/
2008-04-03 Tom Tromey <tromey@redhat.com>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* config/m68k/t-uclinux (generated_files): Add sysroot-suffix.h.
* config/bfin/t-bfin-linux (generated_files): Add
linux-sysroot-suffix.h.
* doc/install.texi (Prerequisites): Require make 3.80.
* doc/sourcebuild.texi (Front End Directory): Document new
variable.
* Makefile.in (generated_files): New variable.
(ALL_HOST_OBJS): New variable.
($(ALL_HOST_OBJS)): New target.
gcc/java/
2008-04-03 Tom Tromey <tromey@redhat.com>
* Make-lang.in (java_OBJS): New variable.
gcc/objc/
2008-04-03 Tom Tromey <tromey@redhat.com>
* Make-lang.in (objc_OBJS): New variable.
gcc/objcp/
2008-04-03 Tom Tromey <tromey@redhat.com>
* Make-lang.in (obj-c++_OBJS): New variable.
gcc/cp/
2008-04-03 Tom Tromey <tromey@redhat.com>
* Make-lang.in (c++_OBJS): New variable.
gcc/fortran/
2008-04-03 Tom Tromey <tromey@redhat.com>
* Make-lang.in (fortran_OBJS): New variable.
Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
From-SVN: r133862
Paolo Bonzini [Thu, 3 Apr 2008 05:41:57 +0000 (05:41 +0000)]
tree-inline.c (copy_generic_body, [...]): Export.
2007-03-09 Paolo Bonzini <bonzini@gnu.org>
* tree-inline.c (copy_generic_body, copy_decl_no_change): Export.
(remap_block): Call id->transform_lang_insert_block instead
of langhook.
(optimize_inline_calls, unsave_expr_now, tree_function_versioning):
Set id.transform_lang_insert_block to NULL.
(clone_body): Move to cp/optimize.c
* tree-inline.h (struct copy_body_data): Change
transform_lang_insert_block to function pointer.
(copy_generic_body, copy_decl_no_change): Export.
* langhooks.h (struct lang_hooks_for_decls): Kill insert_block.
* langhooks-def.h (LANG_HOOKS_INSERT_BLOCK): Kill.
(LANG_HOOKS_DECLS): Remove LANG_HOOKS_INSERT_BLOCK.
* c-tree.h (insert_block): Kill.
* c-decl.c (insert_block): Kill.
cp:
2007-03-09 Paolo Bonzini <bonzini@gnu.org>
* optimize.c (clone_body): New, from tree-inline.c.
ada:
2007-03-09 Paolo Bonzini <bonzini@gnu.org>
* gigi.h (insert_block): Kill.
* utils.c (insert_block): Kill.
java:
2007-03-09 Paolo Bonzini <bonzini@gnu.org>
* java-tree.h (insert_block): Kill.
* decl.c (insert_block): Kill.
fortran:
2007-03-09 Paolo Bonzini <bonzini@gnu.org>
* f95-lang.c (insert_block): Kill.
From-SVN: r133861
Paolo Bonzini [Thu, 3 Apr 2008 05:38:32 +0000 (05:38 +0000)]
c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED, [...]): Delete.
2008-04-03 Paolo Bonzini <bonzini@gnu.org>
* c-objc-common.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
* c-tree.h (c_push_function_context, c_pop_function_context): Remove
argument.
* c-decl.c (c_push_function_context, c_pop_function_context): Remove
argument, call {push,pop}_function_context from here.
* c-parser.c: Use c_{push,pop}_function_context.
* function.c (push_function_context_to): Move meat ...
(push_function_context): ... here. Simplify.
* function.c (pop_function_context_from): Move meat ...
(pop_function_context): ... here. Simplify.
* langhooks.h (struct lang_hooks_for_functions): Remove enter_nested,
leave_nested).
* langhooks-def.h (LANG_HOOKS_FUNCTION_ENTER_NESTED,
LANG_HOOKS_FUNCTION_LEAVE_NESTED): Delete.
(LANG_HOOKS_FUNCTION_INITIALIZER): Delete them from here.
* tree.h (push_function_context_to, pop_function_context_from): Remove.
cp:
2008-04-03 Paolo Bonzini <bonzini@gnu.org>
* method.c (synthesize_method): Use {push,pop}_function_context.
* name-lookup.c (push_to_top_level): Likewise.
* parser.c (cp_parser_late_parsing_for_member): Likewise.
From-SVN: r133860
Paolo Bonzini [Thu, 3 Apr 2008 05:36:26 +0000 (05:36 +0000)]
re PR rtl-optimization/35281 (multiply with 0 generated for 64*32->64)
2008-04-03 Paolo Bonzini <bonzini@gnu.org>
PR rtl-optimization/35281
* gcc.target/i386/pr35281.c: New test.
From-SVN: r133859
Ben Elliston [Thu, 3 Apr 2008 05:17:11 +0000 (05:17 +0000)]
* expmed.c (extract_force_align_mem_bit_field): Remove.
From-SVN: r133858
Richard Guenther [Thu, 3 Apr 2008 02:09:20 +0000 (02:09 +0000)]
re PR middle-end/35800 (Revision 133835 failed to compile binutils)
PR middle-end/35800
* expr.h (try_casesi): Adjust prototype.
* expr.c (try_casesi): Take fallback label as extra parameter.
Use that for gen_casesi if default_label is NULL.
* stmt.c (expand_case): Pass fallback label to try_casesi,
make sure to fill gaps with a fallback label if default_label
is not present.
From-SVN: r133857
Richard Guenther [Thu, 3 Apr 2008 02:08:13 +0000 (02:08 +0000)]
re PR middle-end/35800 (Revision 133835 failed to compile binutils)
PR middle-end/35800
* gcc.c-torture/execute/pr35800.c: New test.
From-SVN: r133856
Dominique d'Humieres [Thu, 3 Apr 2008 00:33:05 +0000 (02:33 +0200)]
re PR target/35801 (At revision 133817, bootstrap fails at libstdc++-v3/src/strstream.cc on powerpc-apple-darwin9)
2008-04-03 Dominique d'Humieres <dominiq@lps.ens.fr>
PR target/35801
* config/rs6000/rs6000.c (rs6000_output_mi_thunk): Free cfun.
From-SVN: r133855
GCC Administrator [Thu, 3 Apr 2008 00:17:34 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r133853
Ben Elliston [Wed, 2 Apr 2008 19:56:03 +0000 (19:56 +0000)]
expmed.c (extract_split_bit_field): Remove if (0) code.
* expmed.c (extract_split_bit_field): Remove if (0) code.
* tree-ssa-structalias.c (do_sd_constraint): Likewise.
(do_ds_constraint): Likewise.
From-SVN: r133848
Joseph Myers [Wed, 2 Apr 2008 19:42:53 +0000 (20:42 +0100)]
cppopts.texi (-dU): Document.
gcc:
* doc/cppopts.texi (-dU): Document.
* c-common.h (flag_dump_macros): Update comment.
* c-opts.c (handle_OPT_d): Handle -dU.
* c-ppoutput.c (macro_queue, define_queue, undef_queue,
dump_queued_macros, cb_used_define, cb_used_undef): New.
(init_pp_output): Handle -dU.
(cb_line_change): Call dump_queued_macros.
* toplev.c (decode_d_option): Accept -dU as preprocessor option.
gcc/testsuite:
* gcc.dg/cpp/cmdlne-dU-1.c, gcc.dg/cpp/cmdlne-dU-2.c,
gcc.dg/cpp/cmdlne-dU-3.c, gcc.dg/cpp/cmdlne-dU-4.c,
gcc.dg/cpp/cmdlne-dU-5.c, gcc.dg/cpp/cmdlne-dU-6.c,
gcc.dg/cpp/cmdlne-dU-7.c, gcc.dg/cpp/cmdlne-dU-8.c,
gcc.dg/cpp/cmdlne-dU-9.c, gcc.dg/cpp/cmdlne-dU-10.c,
gcc.dg/cpp/cmdlne-dU-11.c, gcc.dg/cpp/cmdlne-dU-12.c,
gcc.dg/cpp/cmdlne-dU-13.c, gcc.dg/cpp/cmdlne-dU-14.c,
gcc.dg/cpp/cmdlne-dU-15.c, gcc.dg/cpp/cmdlne-dU-16.c,
gcc.dg/cpp/cmdlne-dU-17.c, gcc.dg/cpp/cmdlne-dU-18.c,
gcc.dg/cpp/cmdlne-dU-19.c, gcc.dg/cpp/cmdlne-dU-20.c,
gcc.dg/cpp/cmdlne-dU-21.c, gcc.dg/cpp/cmdlne-dU-22.c: New tests.
libcpp:
* include/cpplib.h (struct cpp_callbacks): Add used_define,
used_undef and before_define.
(NODE_USED): Define.
* directives.c (do_define, do_undef, undefine_macros, do_ifdef,
do_ifndef, cpp_pop_definition): Handle new flag and use new
callbacks.
* expr.c (parse_defined): Handle new flag and use new callbacks.
* macro.c (enter_macro_context, _cpp_free_definition): Handle new
flag and use new callbacks.
From-SVN: r133847
Anatoly Sokolov [Wed, 2 Apr 2008 19:21:01 +0000 (23:21 +0400)]
predicates.md (io_address_operand): New predicate.
* config/avr/predicates.md (io_address_operand): New predicate.
* config/avr/avr-protos.h (avr_io_address_p): Remove declaration.
* config/avr/avr.c (avr_io_address_p): Remove function.
(out_movqi_r_mr): Use 'io_address_operand' predicate instead of
'avr_io_address_p' function.
(out_movhi_r_mr): (Ditto.).
(out_movqi_mr_r): (Ditto.).
(out_movhi_mr_r): (Ditto.).
(avr_address_cost): (Ditto.).
From-SVN: r133846
Uros Bizjak [Wed, 2 Apr 2008 19:07:27 +0000 (21:07 +0200)]
i386.md (*float<SSEMODEI24:mode><X87MODEF:mode>2_1): Emit gen_floatdi<X87MODEF:mode>2_i387_with_xmm for DImode values in 32bit mode...
* config/i386/i386.md (*float<SSEMODEI24:mode><X87MODEF:mode>2_1):
Emit gen_floatdi<X87MODEF:mode>2_i387_with_xmm for DImode values
in 32bit mode when XMM registers are available to avoid store
forwarding stalls.
(floatdi<X87MODEF:mode>2_i387_with_xmm): New insn pattern and
corresponding post-reload splitters.
From-SVN: r133845
Peter O'Gorman [Wed, 2 Apr 2008 17:36:41 +0000 (17:36 +0000)]
re PR bootstrap/35216 (Out of memory building java)
PR bootstrap/35216
* scripts/makemake.tcl: Replace org/omg build with build of all its subpackages.
* sources.am: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r133842
H.J. Lu [Wed, 2 Apr 2008 14:32:02 +0000 (14:32 +0000)]
i386.c (bdesc_sse_3arg): Add __builtin_ia32_shufps and __builtin_ia32_shufpd.
2008-04-02 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.c (bdesc_sse_3arg): Add __builtin_ia32_shufps
and __builtin_ia32_shufpd. Provide __builtin_ia32_roundsd and
__builtin_ia32_roundss.
(ix86_init_mmx_sse_builtins): Remove __builtin_ia32_shufps,
__builtin_ia32_shufpd, __builtin_ia32_roundsd and
__builtin_ia32_roundss.
(ix86_expand_builtin): Don't handle IX86_BUILTIN_SHUFPS and
IX86_BUILTIN_SHUFPD here.
From-SVN: r133838
H.J. Lu [Wed, 2 Apr 2008 13:53:38 +0000 (13:53 +0000)]
i386.md (plogic): New.
2008-04-02 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md (plogic): New.
(plogicprefix): Likewise.
* config/i386/mmx.md (mmx_<code><mode>3): New.
(mmx_and<mode>3): Removed.
(mmx_ior<mode>3): Likewise.
(mmx_xor<mode>3): Likewise.
* config/i386/sse.md (<code><mode>3): New.
(*<code><mode>3): Likewise.
(*<code><mode>3): Likewise.
(<code><mode>3): Likewise.
(*sse_<code><mode>3): Likewise.
(*sse2_<code><mode>3): Likewise.
(<code>tf3): Likewise.
(*<code>tf3): Likewise.
(and<mode>3): Likewise.
(*and<mode>3): Likewise.
(ior<mode>3): Removed.
(*ior<mode>3): Likewise.
(xor<mode>3): Likewise.
(*xor<mode>3): Likewise.
(*and<mode>3): Likewise.
(*ior<mode>3): Likewise.
(*xor<mode>3): Likewise.
(and<mode>3): Likewise.
(*sse_and<mode>3): Likewise.
(*sse2_and<mode>3): Likewise.
(andtf3): Likewise.
(*andtf3): Likewise.
(ior<mode>3): Likewise.
(*sse_ior<mode>3): Likewise.
(*sse2_ior<mode>3): Likewise.
(iortf3): Likewise.
(*iortf3): Likewise.
(xor<mode>3): Likewise.
(*sse_xor<mode>3): Likewise.
(*sse2_xor<mode>3): Likewise.
(xortf3): Likewise.
(*xortf3): Likewise.
From-SVN: r133837
Richard Guenther [Wed, 2 Apr 2008 12:54:08 +0000 (12:54 +0000)]
re PR tree-optimization/14495 ([tree-ssa] Propagate range info into a switch statement)
2008-04-02 Richard Guenther <rguenther@suse.de>
PR tree-optimization/14495
PR tree-optimization/34793
* tree-vrp.c (struct switch_update): New structure.
(to_remove_edges, to_update_switch_stmts): New VECs.
(simplify_switch_using_ranges): New function. Remove not taken
case labels and edges.
(simplify_stmt_using_ranges): Call it.
(identify_jump_threads): Mark edges we have queued for removal
so we don't thread them.
(execute_vrp): Remove edges queued for removal, update SWITCH_STMT
case label vector.
* tree-cfg.c (group_case_labels): Deal with missing default label.
(tree_verify_flow_info): Allow missing default label.
* stmt.c (emit_case_bit_tests): Deal with NULL default_label.
(emit_case_nodes): Likewise.
(expand_case): Do not rely on the default label to be present.
* expr.c (try_casesi): Deal with NULL default_label.
(do_tablejump): Likewise.
* gcc.dg/tree-ssa/vrp41.c: New testcase.
* gcc.dg/tree-ssa/vrp42.c: Likewise.
From-SVN: r133835
Richard Guenther [Wed, 2 Apr 2008 12:51:37 +0000 (12:51 +0000)]
re PR tree-optimization/14495 ([tree-ssa] Propagate range info into a switch statement)
2008-04-02 Richard Guenther <rguenther@suse.de>
PR tree-optimization/14495
* tree-vrp.c (vrp_visit_cond_stmt): Do not handle
SWITCH_EXPR here ...
(vrp_visit_switch_stmt): ... but here (new function).
(find_case_label_index): New helper function.
(vrp_visit_stmt): Dispatch to vrp_visit_switch_stmt.
* gcc.dg/tree-ssa/vrp40.c: New testcase.
From-SVN: r133834
Paolo Bonzini [Wed, 2 Apr 2008 12:16:54 +0000 (12:16 +0000)]
fwprop.c: Fix ISO-C99ism.
2008-04-02 Paolo Bonzini <bonzini@gnu.org>
* fwprop.c: Fix ISO-C99ism.
From-SVN: r133833
Paolo Bonzini [Wed, 2 Apr 2008 10:07:58 +0000 (10:07 +0000)]
re PR bootstrap/35752 (Combined gcc + binutils source tree doesn't bootstrap with --enable-shared)
2008-04-02 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/35752
* Makefile.in (objdir): Set it here.
* configure.ac: Not here. Find dynamic linker characteristics.
* exec-tool.in: Use them.
* aclocal.m4: Regenerate.
* configure: Regenerate.
From-SVN: r133832
Eric Botcazou [Wed, 2 Apr 2008 10:06:57 +0000 (10:06 +0000)]
decl.c (gnat_to_gnu_entity): For a constant object whose type has self-referential size...
* decl.c (gnat_to_gnu_entity) <object>: For a constant object whose
type has self-referential size, get the size from the initializing
expression directly if it is also a constant whose nominal type
has self-referential size.
From-SVN: r133831
Paolo Bonzini [Wed, 2 Apr 2008 10:01:43 +0000 (10:01 +0000)]
expr.c (expand_var): Delete it.
2008-04-02 Paolo Bonzini <bonzini@gnu.org>
* expr.c (expand_var): Delete it.
* expr.h (expand_var): Delete prototype.
* function.c (expand_function_start): Use expand_decl instead.
* cfgexpand.c (expand_one_static_var, expand_one_var): Don't call
langhook.
From-SVN: r133830
Andy Hutchinson [Wed, 2 Apr 2008 09:56:17 +0000 (09:56 +0000)]
re PR rtl-optimization/35542 (fwprop only propagates one operand)
2008-04-02 Andy Hutchinson <hutchinsonamdy@aim.com>
PR rtl-optimization/35542
* fwprop.c (forward_propagate_and_simplify): Replace
loc_reg_mentioned_in_p with reg_mentioned_p.
From-SVN: r133829
Paolo Bonzini [Wed, 2 Apr 2008 09:53:34 +0000 (09:53 +0000)]
fwprop.c (PR_CAN_APPEAR, [...]): New.
2008-04-02 Paolo Bonzini <bonzini@gnu.org>
* fwprop.c (PR_CAN_APPEAR, PR_HANDLE_MEM): New.
(propagate_rtx_1): Handle PR_HANDLE_MEM.
(propagate_rtx): Pass PR_HANDLE_MEM if appropriate.
(varying_mem_p): Move above propagate_rtx.
(all_uses_available_at): Do not check MEMs.
From-SVN: r133828
Rafael Avila de Espindola [Wed, 2 Apr 2008 08:44:39 +0000 (08:44 +0000)]
tree-vrp.c (extract_code_and_val_from_cond): Remove.
2008-04-02 Rafael Espindola <espindola@google.com>
* tree-vrp.c (extract_code_and_val_from_cond): Remove.
(register_edge_assert_for_2): Split the cond argument.
(register_edge_assert_for_1): Adjust for the change in
register_edge_assert_for_2.
(register_edge_assert_for): Split the cond argument.
(find_switch_asserts): Adjust for the change in
register_edge_assert_for.
From-SVN: r133827
Kai Tietz [Wed, 2 Apr 2008 08:29:10 +0000 (10:29 +0200)]
MAINTAINERS (Write After Approval): Add myself.
2008-04-02 Kai Tietz <kai.tietz@onvision.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r133826
Kai Tietz [Wed, 2 Apr 2008 07:57:02 +0000 (07:57 +0000)]
cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add 8 byte offsets for 64-bit mingw.
2008-04-02 Kai Tietz <kai.tietz@onevision.com>
* gcc/config/i386/cygming.h (ASM_OUTPUT_DWARF_OFFSET): Add 8 byte
offsets for 64-bit mingw.
* gcc/config/i386/i386.c (ix86_pass_by_reference): Correct calling
abi for x86_64-pc-mingw.
From-SVN: r133825
Kai Tietz [Wed, 2 Apr 2008 07:48:07 +0000 (07:48 +0000)]
config.gcc: Add for x86_64-*-mingw* the t-crtfm to tbuild.
2008-04-02 Kai Tietz <kai.tietz@onevision.com>
* config.gcc: Add for x86_64-*-mingw* the t-crtfm to tbuild.
From-SVN: r133824
Seongbae Park [Wed, 2 Apr 2008 02:29:33 +0000 (02:29 +0000)]
Makefile.tpl (.NOTPARALLEL): Revert previous change.
2008-04-01 Seongbae Park <seongbae.park@gmail.com>
* Makefile.tpl (.NOTPARALLEL): Revert previous change.
* Makefile.in (.NOTPARALLEL): Ditto.
From-SVN: r133815
John David Anglin [Wed, 2 Apr 2008 01:02:58 +0000 (01:02 +0000)]
re PR ada/33688 (Ada package Gnat.Sockets missing constant for IP_PKTINFO (patch))
PR ada/33688
* g-soccon-darwin.ads: Define new constant IP_PKTINFO.
From-SVN: r133814
GCC Administrator [Wed, 2 Apr 2008 00:17:30 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r133812
Richard Guenther [Tue, 1 Apr 2008 22:59:21 +0000 (22:59 +0000)]
re PR tree-optimization/35787 (Revision 133680 breaks 447.dealII)
2008-04-02 Richard Guenther <rguenther@suse.de>
* tree-vrp.c (extract_range_from_assert): Make sure to not
produce range min/max with TREE_OVERFOW set.
If merging a anti-range and a range keep the anti-range if
the range covers all values of the type.
(register_edge_assert_for_2): Only allow sign-changing
conversions in detecting canonical range checks. Also
register an assert for the unsigned name if useful.
PR tree-optimization/35787
* tree-vrp.c (vrp_val_max): New function.
(vrp_val_min): Likewise.
(vrp_val_is_max): Move earlier, use vrp_val_{min,max}.
(vrp_val_is_min): Likewise.
(supports_overflow_infinity): Use vrp_val_{min,max}.
(negative_overflow_infinity): Likewise.
(positive_overflow_infinity): Likewise.
(is_negative_overflow_infinity): Use vrp_val_is_{min,max}.
(is_positive_overflow_infinity): Likewise.
(is_overflow_infinity): Likewise.
(avoid_overflow_infinity): Use vrp_val_{min,max} and
vrp_val_is_{min,max}.
(set_and_canonicalize_value_range): Canonicalize anti-ranges
to ranges if possible. Avoid empty ranges.
* gcc.dg/tree-ssa/vrp38.c: New testcase.
* gcc.dg/tree-ssa/vrp39.c: Likewise.
From-SVN: r133808
John David Anglin [Tue, 1 Apr 2008 22:23:04 +0000 (22:23 +0000)]
re PR ada/33857 (Cannot bootstrap Ada with host gnatmake-4.2)
PR ada/33857
* env.c: Always include crt_externs.h if __APPLE__ is defined.
(__gnat_setenv): Use setenv instead of putenv if __APPLE__ is defined.
From-SVN: r133806
John David Anglin [Tue, 1 Apr 2008 22:14:41 +0000 (22:14 +0000)]
re PR middle-end/35705 (Symbol address check eliminated by C frontend.)
PR middle-end/35705
* fold-const.c (get_pointer_modulus_and_residue): Return modulus 1 if
the expression is a function address.
From-SVN: r133804
George Helffrich [Tue, 1 Apr 2008 21:23:36 +0000 (21:23 +0000)]
trans-common.c (create_common): Add decl to function chain to preserve identifier scope in debug output.
* fortran/trans-common.c (create_common): Add decl to function
chain to preserve identifier scope in debug output.
* dbxout.c: Emit .stabs debug info for Fortran COMMON block
variables as base symbol name + offset using N_BCOMM/N_ECOMM.
(is_fortran, dbxout_common_name, dbxout_common_check): New functions.
(dbxout_symbol_location): Transform N_LCSYM to N_GSYM for storage
in common.
(dbxout_syms): Check for COMMON-based symbol and wrap in
N_BCOMM/N_ECOMM stab bracket, including as many symbols as possible
in bracket for efficiency.
* dwarf2out.c: Emit DWARF debug info for Fortran COMMON block
using DW_TAG_common_block + member offset.
(add_pubname_string): New function.
(dw_expand_expr): New function to find block name and offset for
COMMON var.
(common_check): New function to check whether symbol in Fortran COMMON.
(gen_variable_die): If COMMON, use DW_TAG_common_block.
* testsuite/gcc.dg/debug/pr35154.c: New test to check that non-Fortran
use of common is unchanged.
* testsuite/lib/gfortran-dg.exp: New harness to compile Fortran progs
with all combinations of debug options available on target.
* testsuite/gfortran.dg/debug/debug.exp: Ditto.
* testsuite/gfortran.dg/debug/trivial.f: Ditto.
* testsuite/gfortran.dg/debug/pr35154-stabs.f: New test case for
.stabs functionality.
* testsuite/gfortran.dg/debug/pr35154-dwarf2.f: New test case for
DWARF functionality.
From-SVN: r133801
Volker Reichelt [Tue, 1 Apr 2008 20:33:37 +0000 (20:33 +0000)]
re PR c/35436 (ICE with attribute "format")
PR c/35436
* c-format.c (init_dynamic_gfc_info): Ignore invalid locus type.
* gcc.dg/format/gcc_gfc-2.c: New test.
From-SVN: r133800
Ben Elliston [Tue, 1 Apr 2008 20:25:23 +0000 (20:25 +0000)]
v850.md (casesi): Remove if (0) code.
* config/v850/v850.md (casesi): Remove if (0) code.
* config/i386/uwin.h (ASM_DECLARE_FUNCTION_NAME): Likewise.
* config/alpha/alpha.c (alpha_initialize_trampoline): Likewise.
From-SVN: r133799
Uros Bizjak [Tue, 1 Apr 2008 20:20:09 +0000 (22:20 +0200)]
i386.md (rex64suffix): New mode attribute.
* config/i386/i386.md (rex64suffix): New mode attribute.
(floathi<mode>2): Disable expander for SSE math.
(*floathi<mode>2_1): New insn insn_and_split pattern.
(*floathi<mode>2_i387_with_temp): New macroized instruction pattern and
corresponding post-reload splitters.
(*floathi<mode>2_i387): New macroized insn pattern.
(float<SSEMODEI24:mode><X87MODEF:mode>2): New macroized expander.
(*float<SSEMODEI24:mode><X87MODEF:mode>2_1): New macroized
insn_and_split pattern.
(*floatsi<mode>2_vector_mixed_with_temp, *floatsi<mode>2_vector_mixed):
New macroized instruction patterns and corresponding post-reload
splitters.
(*floatsi<mode>2_mixed_with_temp): New macroized instruction pattern
and corresponding post-reload splitters.
(*floatsi<mode>2_mixed_interunit, *floatsi<mode>2_mixed_nointerunit):
New macroized instruction patterns.
(*floatsi<mode>2_vector_sse_with_temp, *floatsi<mode>2_vector_sse): New
macroized instruction patterns and corresponding post-reload splitters.
(*floatsi<mode>2_sse_with_temp): New macroized instruction pattern and
corresponding post-reload splitters.
(*floatsi<mode>2_sse_interunit, *floatsi<mode>2_mixed_nointerunit):
New macroized instruction patterns.
(*floatsi<mode>2_i387_with_temp): New macroized instruction pattern and
corresponding post-reload splitters.
(*floatsi<mode>2_i387): New macroized instruction patterns.
From-SVN: r133798
H.J. Lu [Tue, 1 Apr 2008 19:12:31 +0000 (12:12 -0700)]
i386.md (smaxmin): New.
2008-04-01 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/i386.md (smaxmin): New.
(umaxmin): Likewise.
(maxminiprefix): Likewise.
(maxminfprefix): Likewise.
(<code><mode>3): Likewise.
(smin<mode>3): Removed.
(smax<mode>3): Likewise.
* config/i386/mmx.md (mmx_<code>v2sf3): New.
(mmx_<code>v4hi3): Likewise.
(mmx_<code>v8qi3): Likewise.
(mmx_smaxv2sf3): Removed.
(mmx_sminv2sf3): Likewise.
(mmx_umaxv8qi3): Likewise.
(mmx_smaxv4hi3): Likewise.
(mmx_uminv8qi3): Likewise.
(mmx_sminv4hi3): Likewise.
* config/i386/sse.md (<addsub><mode>3): New.
(*<addsub><mode>3): Likewise.
(<sse>_vm<addsub><mode>3): Likewise.
(<maxmin><mode>3): Likewise.
(*<maxmin><mode>3_finite): Likewise.
(*<maxmin><mode>3): Likewise.
(<sse>_vm<maxmin><mode>3): Likewise.
(sse3_h<addsub>v4sf3): Likewise.
(sse3_h<addsub>v2df3): Likewise.
(<maxmin>v16qi3): Likewise.
(*<maxmin>v16qi3): Likewise.
(<maxmin>v8hi3): Likewise.
(*<maxmin>v8hi3): Likewise.
(*sse4_1_<maxmin><mode>3): Likewise.
(*sse4_1_<maxmin><mode>3): Likewise.
(add<mode>3): Removed.
(*add<mode>3): Likewise.
(<sse>_vmadd<mode>3): Likewise.
(sub<mode>3): Likewise.
(*sub<mode>3): Likewise.
(<sse>_vmsub<mode>3): Likewise.
(smin<mode>3): Likewise.
(*smin<mode>3_finite): Likewise.
(*smin<mode>3): Likewise.
(<sse>_vmsmin<mode>3): Likewise.
(smax<mode>3): Likewise.
(*smax<mode>3_finite): Likewise.
(*smax<mode>3): Likewise.
(<sse>_vmsmax<mode>3): Likewise.
(sse3_haddv4sf3): Likewise.
(sse3_haddv2df3): Likewise.
(sse3_hsubv4sf3): Likewise.
(sse3_hsubv2df3): Likewise.
(umaxv16qi3): Likewise.
(*umaxv16qi3): Likewise.
(smaxv8hi3): Likewise.
(*smaxv8hi3): Likewise.
(*sse4_1_smax<mode>3): Likewise.
(*sse4_1_umax<mode>3): Likewise.
(uminv16qi3): Likewise.
(*uminv16qi3): Likewise.
(sminv8hi3): Likewise.
(*sminv8hi3): Likewise.
(*sse4_1_smin<mode>3): Likewise.
(*sse4_1_umin<mode>3): Likewise.
From-SVN: r133797
Rafael Avila de Espindola [Tue, 1 Apr 2008 18:40:16 +0000 (18:40 +0000)]
tree-cfg.c (verify_expr): remove in_phi.
2008-04-01 Rafael Espindola <espindola@google.com>
* tree-cfg.c (verify_expr): remove in_phi.
(verify_stmt): Don't call walk_tree with verify_expr. Use
is_gimple_min_invariant instead of is_gimple_val.
From-SVN: r133795
Joseph Myers [Tue, 1 Apr 2008 16:38:56 +0000 (17:38 +0100)]
texi2pod.pl: Handle @samp and @url inside verbatim blocks.
contrib:
* texi2pod.pl: Handle @samp and @url inside verbatim blocks.
Handle @heading. Handle enumerated lists with starting numbers
and extra headings.
gcc:
* doc/include/gpl_v3.texi: Update for manpage generation.
* doc/gcc.texi, doc/gccint.texi: Include gpl_v3.texi instead of
gpl.texi.
* doc/sourcebuild.texi: Document gpl_v3.texi as well as gpl.texi.
* Makefile.in (TEXI_GCC_FILES, TEXI_GCCINT_FILES): Include
gpl_v3.texi instead of gpl.texi.
(gpl.pod): New.
gcc/fortran:
* gfortran.texi: Include gpl_v3.texi instead of gpl.texi
* Make-lang.in (GFORTRAN_TEXI): Include gpl_v3.texi instead of
gpl.texi.
gcc/java:
* gcj.texi: Include gpl_v3.texi instead of gpl.texi
* Make-lang.in (TEXI_JAVA_FILES): Include gpl_v3.texi instead of
gpl.texi.
From-SVN: r133794
Peter O'Gorman [Tue, 1 Apr 2008 15:53:22 +0000 (15:53 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r133793
Andreas Jaeger [Tue, 1 Apr 2008 15:42:11 +0000 (17:42 +0200)]
g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and IP_PKTINFO.
2008-04-01 Andreas Jaeger <aj@suse.de>
* g-soccon-linux-ppc.ads: Add new constants SO_REUSEPORT and
IP_PKTINFO.
From-SVN: r133792
Jakub Jelinek [Tue, 1 Apr 2008 10:58:02 +0000 (12:58 +0200)]
re PR pch/13675 (#including a precompiled header more than once in the same unit fails)
PR pch/13675
* files.c (struct _cpp_file): Remove pch field.
(pch_open_file): Don't set file->pch, just file->pchname.
(should_stack_file): After pfile->cb.read_pch call
free pchname and clear pchname, don't close file->fd.
Test file->pchname instead of file->pch. Don't close fd after cb.
(_cpp_stack_include): Test file->pchname instead of file->pch.
* c-pch.c (c_common_read_pch): On error close (fd) resp. fclose (f).
From-SVN: r133790
Rafael Avila de Espindola [Tue, 1 Apr 2008 09:11:11 +0000 (09:11 +0000)]
tree-vrp.c (extract_code_and_val_from_cond_with_ops): New.
2008-04-01 Rafael Espindola <espindola@google.com>
* tree-vrp.c (extract_code_and_val_from_cond_with_ops): New.
(extract_code_and_val_from_cond): Use
extract_code_and_val_from_cond_with_ops.
From-SVN: r133789
Jan Hubicka [Tue, 1 Apr 2008 08:51:25 +0000 (10:51 +0200)]
function.c (free_after_compilation): Free epilogue_delay_list.
* function.c (free_after_compilation): Free epilogue_delay_list.
(prepare_function_start): Assert that previous compilation was freed.
From-SVN: r133787
Jan Hubicka [Tue, 1 Apr 2008 08:41:14 +0000 (10:41 +0200)]
re PR middle-end/35781 (Revision 133759 breaks ia64)
PR middle-end/35781
* m32c/m32.c (m32c_leaf_function_p, m32c_function_needs_enter): Use
rtl.emit instead cfun->emit.
* sparc/sparc.h (INIT_EXPANDERS): Likewise.
* ia64/ia64.h (INIT_EXPANDERS): Likewise.
Co-Authored-By: Andreas Tobler <andreast@gcc.gnu.org>
Co-Authored-By: James E Wilson <wilson@tuliptree.org>
From-SVN: r133786
Ben Elliston [Tue, 1 Apr 2008 05:32:18 +0000 (05:32 +0000)]
* doc/c-tree.texi (Function Basics): Fix grammatical error.
From-SVN: r133785
James E Wilson [Tue, 1 Apr 2008 03:04:15 +0000 (20:04 -0700)]
Fix IA-64 enable-checking glibc ICE.
* varasm.c (output_constant_pool_1): In LABEL_REF check, use tmp
consistently.
From-SVN: r133783
GCC Administrator [Tue, 1 Apr 2008 00:17:28 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r133779
Seongbae Park [Mon, 31 Mar 2008 21:52:10 +0000 (21:52 +0000)]
common.opt (fprofile-dir=, [...]): New options
gcc/ChangeLog:
2008-03-31 Seongbae Park <seongbae.park@gmail.com>
* common.opt (fprofile-dir=, fprofile-use=, fprofile-generate=):
New options
(fprofile-use): Add var flag_profile_use
* coverage.c (coverage_begin_output): Do not open a gcno file for output
only if -ftest-coverage is set.
Do not add getpwd() to gcda file path.
(build_gcov_info): Check the new flag
flag_profile_datafile_relative_path.
(coverage_init): Use profile_data_prefix.
Read profile counter only if flag_profile_use is set.
* opts.c (common_handle_option): New option fprofile-use=,
fprofile-dir=, fprofile-generate=.
* toplev.c (profile_data_prefix): New variable definition.
* toplev.h (profile_data_prefix): New declaration.
* doc/invoke.tex (Option Summary, Optimization Options):
Add new options.
gcc/testsuite/ChangeLog:
2008-03-31 Seongbae Park <seongbae.park@gmail.com>
* g++.db/bprob/bprob.exp: Do not check gcno files.
Use -fprofile-use for profile use.
* gcc.misc-tests/bprob.exp: Ditto.
* g++.dg/tree-pro/tree-prof.exp: Do not check gcno files.
* gcc.dg/matrix/matrix.exp: Ditto.
* gcc.dg/struct/struct-reorg.exp: Ditto.
* gcc.dg/tree-prof/tree-prof.exp: Ditto.
* gcc.dg/profile-dir-1.c: New test.
* gcc.dg/profile-dir-2.c: New test.
* gcc.dg/profile-dir-3.c: New test.
ChangeLog:
2008-03-31 Seongbae Park <seongbae.park@gmail.com>
* Makefile.tpl (.NOTPARALLEL): Serialize stageprofile libiberty.
* Makefile.in (.NOTPARALLEL): Regenerate.
From-SVN: r133774
James E Wilson [Mon, 31 Mar 2008 19:51:50 +0000 (12:51 -0700)]
re PR target/35695 (-funroll-loops breaks inline float divide)
PR target/35695
* config/ia64/div.md (recip_approx_rf): Use UNSPEC not DIV.
* config/ia64/ia64.c (rtx_needs_barrier): Handle
UNSPEC_FR_RECIP_APPROX_RES.
* config/ia64/ia64.md (UNSPEC_FR_RECIP_APPROX_RES): Define.
From-SVN: r133772
Volker Reichelt [Mon, 31 Mar 2008 19:37:45 +0000 (19:37 +0000)]
re PR c/35750 (ICE with invalid old-style parameter declaration)
PR c/35750
* c-decl.c (store_parm_decls_oldstyle): Skip invalid parameters.
* gcc.dg/old-style-param-1.c: New test.
From-SVN: r133771
Ralf Wildenhues [Mon, 31 Mar 2008 19:28:19 +0000 (19:28 +0000)]
g-table.adb, [...]: Fix comment typos.
gcc/ada/
* g-table.adb, g-tasloc.adb, g-traceb.ads,
g-trasym.adb, g-utf_32.adb, gen-soccon.c, gigi.h, gmem.c,
gnatbind.adb, gnatchop.adb, gnatcmd.adb,
gnatcmd.ads, gnatdll.adb, gnatfind.adb,
gnatlink.adb, gnatmem.adb, gprep.adb,
i-cstrea-vms.adb, i-cstrin.adb, i-pacdec.ads,
i-vxwork.ads, impunit.adb, init.c, initialize.c, inline.adb,
layout.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb,
lib-xref.ads, lib.adb, link.c, live.ads,
make.adb, makegpr.adb, makeutl.adb, math_lib.adb,
mdll-utl.adb, mdll.ads, memroot.adb, memroot.ads,
misc.c, mlib-prj.adb, mlib-tgt-hpux.adb,
mlib-tgt-linux.adb, mlib-tgt-tru64.adb, mlib-tgt.ads,
namet.adb, namet.h, nlists.adb, nlists.ads,
nlists.h, opt.ads, osint-b.ads, osint-c.adb,
osint-c.ads, osint.adb, osint.ads, output.ads,
par-ch10.adb, par-ch12.adb, par-ch2.adb, par-ch3.adb,
par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb,
par-endh.adb, par-labl.adb, par-prag.adb,
par-sync.adb, par-tchk.adb, par-util.adb,
par.adb, prep.adb, prep.ads, prepcomp.adb, prj-attr.ads,
prj-dect.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
prj-nmsc.ads, prj-pp.adb, prj-proc.adb,
prj-strt.ads, prj-tree.ads, prj.adb, prj.ads: Fix comment typos.
From-SVN: r133770
Eric Botcazou [Mon, 31 Mar 2008 19:14:08 +0000 (19:14 +0000)]
decl.c (gnat_to_gnu_entity): Do not force a non-null size if it has overflowed.
* decl.c (gnat_to_gnu_entity) <object>: Do not force a non-null
size if it has overflowed.
From-SVN: r133768
Andrew Pinski [Mon, 31 Mar 2008 18:22:05 +0000 (18:22 +0000)]
re PR tree-optimization/30186 (accessing an element via a "pointer" on a vector does not cause vec_extract to be used (non-zero index))
2008-03-31 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/30186
* fold-const.c (fold_indirect_ref_1): Support accessing non first
element of the vector via a pointer.
2008-03-31 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/30186
* gcc.dg/tree-ssa/vector-1.c: New testcase.
* gcc.c-torture/execute/vector-1.c: New testcase.
* gcc.c-torture/execute/vector-2.c: New testcase.
From-SVN: r133766
Ian Lance Taylor [Mon, 31 Mar 2008 18:01:43 +0000 (18:01 +0000)]
tlink.c (scan_linker_output): Look for symbol name in single quotes.
* tlink.c (scan_linker_output): Look for symbol name in single
quotes.
From-SVN: r133764
Ian Lance Taylor [Mon, 31 Mar 2008 17:44:22 +0000 (17:44 +0000)]
Update copyright date.
From-SVN: r133762
Ian Lance Taylor [Mon, 31 Mar 2008 17:38:38 +0000 (17:38 +0000)]
cp-demangle.c (d_substitution): Correct overflow check to avoid -fstrict-overflow optimizations.
* cp-demangle.c (d_substitution): Correct overflow check to avoid
-fstrict-overflow optimizations.
From-SVN: r133761
Jan Hubicka [Mon, 31 Mar 2008 17:08:31 +0000 (19:08 +0200)]
builtins.c (expand_builtin_setjmp_receiver): Update call of get_arg_pointer_save_area.
* builtins.c (expand_builtin_setjmp_receiver): Update call of
get_arg_pointer_save_area.
* expr.c (init_expr): Just clear out rtl.expr.
* function.c (free_after_compilation): Clear out whole RTL structure.
(get_func_frame_size): Merge into ...
(get_frame_size): ... this one.
(assign_stack_local_1): Merge into ...
(assign_stack_local): ... this one.
(expand_function_end): Update call of get_arg_pointer_save_area.
(get_art_pointer_save_area): Remove cfun argument.
* function.h (emit_status): regno_pointer_align does not need length
attribute. Move x_regno_reg_rtx to ...
(regno_reg_rtx): ... new global array.
(reg_rtx_no, seq_stack, REGNO_POINTER_ALIGN): Update accestors.
(pending_stack_adjust, inhibit_defer_pop, saveregs_value,
apply_args_value, forced_labels, stack_pointer_delta): Update accestors.
(struct varasm_status): Move here from varasm.c
(struct rtl_data): New. Move here some fields from struct function.
(return_label, naked_return_label, stack_slot_list, parm_birth_insn,
frame_offset, stack_check_probe_note, arg_pointer_save_area,
used_temp_slots avail_temp_slots, temp_slot_level,
nonlocal_goto_handler_labels): Update accesstors.
(rtl): New global variable.
(struct function): Move some fileds to rtl_data.
(get_arg_pointer_save_area): Update prototype.
* emit-rtl.c (rtl): Declare.
(regno_reg_rtx): Declare.
(first_insn, last_insn, cur_insn_uid, last_location, first_label_num): Update.
(gen_reg_rtx): Update.
(init_virtual_regs): Do not tate emit_status argument.
(init_emit): Do not allocate emit.
* varasm.c (varasm_statuc): Move to function.h.
(n_deferred_constatns): Update accestor.
(init_varasm_status): Do not allocate varasm_status.
(force_const_mem, get_pool_size, output_constant_pool): Update.
* stmt.c (force_label_rtx): Do not use x_ prefixes.
(expand_nl_goto_receiver): Update get_arg_pointer_save_area.
From-SVN: r133759
Olivier Hainque [Mon, 31 Mar 2008 17:03:09 +0000 (17:03 +0000)]
utils2.c (find_common_type): Document assumption on t1/t2 vs lhs/rhs.
2008-03-31 Olivier Hainque <hainque@adacore.com>
Eric Botcazou <botcazou@adacore.com>
ada/
* utils2.c (find_common_type): Document assumption on t1/t2 vs
lhs/rhs. Force use of lhs type if smaller, whatever the modes.
testsuite/
* gnat.dg/assign_from_packed.adb: New testcase.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
From-SVN: r133757
Zdenek Dvorak [Mon, 31 Mar 2008 14:19:52 +0000 (16:19 +0200)]
re PR rtl-optimization/35729 (const volatile variable access incorrectly hoisted out of loop)
PR rtl-optimization/35729
* loop-invariant.c (check_maybe_invariant): Disallow volatile memory
references.
* gcc.dg/pr35729.c: New test.
From-SVN: r133755
H.J. Lu [Mon, 31 Mar 2008 13:39:41 +0000 (06:39 -0700)]
Add missing ChangeLog entry for revision 133750.
From-SVN: r133754
H.J. Lu [Mon, 31 Mar 2008 13:32:38 +0000 (13:32 +0000)]
re PR target/32000 (x86 backend uses aligned load on unaligned memory)
gcc/
2008-03-31 H.J. Lu <hongjiu.lu@intel.com>
PR target/32000
* config/i386/i386.md (*movti_internal): Emit unaligned SSE
load/store if memory is unaligned.
(*movti_rex64): Likewise.
* config/i386/predicates.md (misaligned_operand): New.
gcc/testsuite/
2008-03-31 H.J. Lu <hongjiu.lu@intel.com>
PR target/32000
* gcc.target/i386/pr32000-1.c: New.
From-SVN: r133753
Arnaud Charlet [Mon, 31 Mar 2008 11:02:18 +0000 (13:02 +0200)]
Removed, causes resource issues on some environments.
From-SVN: r133750
Andrew Pinski [Mon, 31 Mar 2008 09:45:53 +0000 (02:45 -0700)]
re PR tree-optimization/35431 (ICE with complex integer, invalid gimple)
2008-03-31 Andrew Pinski <pinskia@gmail.com>
PR tree-opt/35431
* tree-ssa-phiopt.c (conditional_replacement): Return early for
complex types.
2008-03-31 Andrew Pinski <pinskia@gmail.com>
PR tree-opt/35431
* gcc.c-torture/compile/pr35431.c: New testcase.
From-SVN: r133749
Jan Beulich [Mon, 31 Mar 2008 07:53:48 +0000 (07:53 +0000)]
constraints.md: Add 'j' constraint.
gcc/
2008-03-31 Jan Beulich <jbeulich@novell.com>
* config/ia64/constraints.md: Add 'j' constraint.
* config/ia64/ia64.md (movsi_internal): Add addp4 case.
(movdi_internal): Likewise.
From-SVN: r133748
Kaz Kojima [Mon, 31 Mar 2008 01:17:57 +0000 (01:17 +0000)]
error27.C: Use -fno-finite-math-only on sh* targets.
* g++.dg/other/error27.C: Use -fno-finite-math-only on sh*
targets.
From-SVN: r133746
GCC Administrator [Mon, 31 Mar 2008 00:18:11 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r133744
John David Anglin [Sun, 30 Mar 2008 23:20:57 +0000 (23:20 +0000)]
re PR c++/35245 (FAIL: g++.dg/other/anon5.C)
PR c++/35245
* g++.dg/other/anon5.C: Skip on hppa*-*-hpux*.
From-SVN: r133739
Volker Reichelt [Sun, 30 Mar 2008 22:02:06 +0000 (22:02 +0000)]
re PR c++/35578 (Error about misplaced 'friend' word is issued on a wrong line)
PR c++/35578
* parser.c (cp_parser_decl_specifier_seq): Add location to error
message.
* g++.dg/parse/friend8.C: New test.
From-SVN: r133738
Volker Reichelt [Sun, 30 Mar 2008 21:58:43 +0000 (21:58 +0000)]
re PR c/35748 (ICE with cast to invalid union)
PR c/35748
* c-typeck.c (build_c_cast): Skip invalid fields in unions.
* gcc.dg/union-cast-4.c: New test.
From-SVN: r133737
H.J. Lu [Sun, 30 Mar 2008 21:13:33 +0000 (21:13 +0000)]
re PR target/35757 (Incorrect contraint on sse4_1_blendp<ssemodesuffixf2c>)
gcc/
2008-03-30 H.J. Lu <hongjiu.lu@intel.com>
PR target/35757
* config/i386/i386.c (ix86_expand_sse_4_operands_builtin): Issue
proper error message for the third argument on blendpd and
blendps.
* config/i386/sse.md (blendbits): New.
(sse4_1_blendp<ssemodesuffixf2c>): Use it.
gcc/testsuite/
2008-03-30 H.J. Lu <hongjiu.lu@intel.com>
PR target/35757
* gcc.target/i386/sse4_1-blendps-2.c: New.
* gcc.target/i386/sse4_1-pblendw-2.c: Likewise.
From-SVN: r133736
Ralf Wildenhues [Sun, 30 Mar 2008 19:39:01 +0000 (19:39 +0000)]
a-textio.ads, [...]: Fix comment typos.
gcc/ada/
* a-textio.ads, a-witeio.ads, a-ztexio.ads, ali.ads,
einfo.ads, erroutc.adb, erroutc.ads, exp_attr.adb,
exp_imgv.adb, exp_intr.adb, exp_pakd.adb,
exp_pakd.ads, exp_prag.adb, exp_smem.adb,
exp_tss.ads, exp_util.adb, exp_util.ads,
exp_vfpt.adb, freeze.adb, freeze.ads,
frontend.adb, g-alleve.adb, g-altcon.adb,
g-altive.ads, g-alveop.ads, g-alvevi.ads,
g-arrspl.adb, g-busorg.ads, g-calend.adb,
g-calend.ads, g-casuti.ads, g-cgideb.adb,
g-comlin.adb, g-comlin.ads, g-curexc.ads,
g-debpoo.adb, g-debpoo.ads, g-decstr.adb,
g-dirope.adb, g-dirope.ads, g-dynhta.ads,
g-dyntab.adb, g-encstr.ads, g-excact.ads,
g-except.ads, g-expect.ads, g-heasor.adb,
g-hesora.adb, g-hesorg.adb, g-htable.ads,
g-locfil.ads, g-md5.adb, g-md5.ads,
g-memdum.ads, g-moreex.ads, g-os_lib.adb,
g-pehage.adb, g-pehage.ads, g-regexp.adb,
g-regexp.ads, g-regpat.adb, g-regpat.ads,
g-soccon-aix.ads, g-soccon-darwin.ads,
g-soccon-freebsd.ads, g-soccon-hpux-ia64.ads,
g-soccon-hpux.ads, g-soccon-irix.ads,
g-soccon-linux-64.ads, g-soccon-linux-ppc.ads,
g-soccon-linux-x86.ads, g-soccon-lynxos.ads,
g-soccon-mingw.ads, g-soccon-solaris-64.ads,
g-soccon-solaris.ads, g-soccon-tru64.ads,
g-soccon-vms.ads, g-soccon-vxworks.ads,
g-soccon.ads, g-socket.adb, g-socket.ads,
g-socthi-mingw.adb, g-socthi-vms.adb,
g-socthi-vxworks.adb, g-soliop-mingw.ads,
g-soliop-solaris.ads, g-soliop.ads, g-spipat.adb,
g-spipat.ads, g-string.adb, g-stsifd-sockets.adb: Fix comment
typos.
From-SVN: r133735
Thomas Koenig [Sun, 30 Mar 2008 16:16:24 +0000 (16:16 +0000)]
internal_pack_1.f90: Added complex to test case.
2008-03-30 Thomas Koenig <tkoenig@gcc.gnu.org>
* gfortran.dg/internal_pack_1.f90: Added complex to test case.
* gfortran.dg/internal_pack_2.f90: Likewise.
* gfortran.dg/intrinsic_spread_1.f90: Likewise.
* gfortran.dg/intrinsic_spread_2.f90: Likewise.
* gfortran.dg/intrinsic_pack_1.f90: Likewise.
* gfortran.dg/intrinsic_pack_2.f90: Likewise.
* gfortran.dg/intrinsic_unpack_1.f90: Likewise.
* gfortran.dg/intrinsic_unpack_2.f90: Likewise.
From-SVN: r133733
Eric Botcazou [Sun, 30 Mar 2008 15:54:05 +0000 (15:54 +0000)]
fold-const.c (fold_binary): Add missing conversions.
* fold-const.c (fold_binary) <BIT_IOR_EXPR>: Add missing conversions.
From-SVN: r133732
Richard Guenther [Sun, 30 Mar 2008 14:56:28 +0000 (14:56 +0000)]
re PR middle-end/31023 (Fold is agnostic of integer sub-types)
2008-03-30 Richard Guenther <rguenther@suse.de>
PR middle-end/31023
* fold-const.c (fold_sign_changed_comparison): Do leave
conversions to base-types alone.
From-SVN: r133731
Paul Thomas [Sun, 30 Mar 2008 14:13:21 +0000 (14:13 +0000)]
re PR fortran/35740 (a = conjg(transpose(a)) still gives wrong results, see bug 31994)
2008-03-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/35740
* resolve.c (resolve_function, resolve_call): If the procedure
is elemental do not look for noncopying intrinsics.
2008-03-30 Paul Thomas <pault@gcc.gnu.org>
PR fortran/35740
* gfortran.dg/transpose_conjg_1.f90: New test.
From-SVN: r133729
GCC Administrator [Sun, 30 Mar 2008 00:17:25 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r133726
Paolo Carlini [Sat, 29 Mar 2008 22:38:19 +0000 (22:38 +0000)]
re PR libstdc++/35725 (ambiguous std::fill with character array)
2008-03-29 Paolo Carlini <pcarlini@suse.de>
PR libstdc++/35725
* include/bits/stl_algobase.h (__fill_a(_ForwardIterator,
_ForwardIterator, _Tp), __fill_a(_Tp*, _Tp*, _Tp),
__fill_n_a(_OutputIterator, _Size, _Tp), __fill_n_a(_Tp*, _Size,
_Tp)): Fix signatures.
* testsuite/25_algorithms/fill/35725.cc: New.
* testsuite/25_algorithms/fill_n/35725.cc: Likewise.
From-SVN: r133721
Andrew Pinski [Sat, 29 Mar 2008 21:37:11 +0000 (21:37 +0000)]
rs6000.c (rs6000_stack_info): Don't force saving of the link register if one altivec register is be saved.
2008-03-29 Andrew Pinski <andrew_pinski@playstation.sony.com>
* config/rs6000/rs6000.c (rs6000_stack_info): Don't force saving of
the link register if one altivec register is be saved.
From-SVN: r133720
Ben Elliston [Sat, 29 Mar 2008 21:33:54 +0000 (21:33 +0000)]
* final.c (final_scan_insn): Remove if (0) code.
From-SVN: r133719
Laurent GUERBY [Sat, 29 Mar 2008 15:23:36 +0000 (15:23 +0000)]
socket2.adb: Remove since identical to socket1.adb.
2008-03-29 Laurent GUERBY <laurent@guerby.net>
* gnat.dg/socket2.adb: Remove since identical to socket1.adb.
From-SVN: r133717
Matthias Klose [Sat, 29 Mar 2008 09:23:13 +0000 (09:23 +0000)]
baseline_symbols.txt: Update.
2008-03-29 Matthias Klose <doko@ubuntu.com>
* config/abi/post/s390-linux-gnu/baseline_symbols.txt: Update.
* config/abi/post/ia64-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/mips-linux-gnu/baseline_symbols.txt: Likewise.
* config/abi/post/sparc-linux-gnu/baseline_symbols.txt: Likewise.
From-SVN: r133713
Paul Thomas [Sat, 29 Mar 2008 08:11:02 +0000 (08:11 +0000)]
re PR fortran/35698 (lbound and ubound wrong for allocated run-time zero size array)
2008-03-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/35698
* trans-array.c (gfc_array_init_size): Set 'size' zero if
negative in one dimension.
PR fortran/35702
* trans-expr.c (gfc_trans_string_copy): Only assign a char
directly if the lhs and rhs types are the same.
2008-03-29 Paul Thomas <pault@gcc.gnu.org>
PR fortran/35698
* gfortran.dg/allocate_zerosize_3.f: New test.
PR fortran/35702
* gfortran.dg/character_assign_1.f90: New test.
From-SVN: r133710
Volker Reichelt [Sat, 29 Mar 2008 00:39:48 +0000 (00:39 +0000)]
* c-parser.c (c_parser_next_token_is_keyword): Simplify.
From-SVN: r133709
GCC Administrator [Sat, 29 Mar 2008 00:17:35 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r133707
Thomas Koenig [Fri, 28 Mar 2008 23:22:49 +0000 (23:22 +0000)]
re PR libfortran/32972 (performance of pack/unpack)
2008-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32972
PR libfortran/32512
* Makefile.am: Add new variable, i_spread_c, containing
pack_i1.c, pack_i2.c, pack_i4.c, pack_i8.c, spread_i16.c,
spread_r4.c, spread_r8.c, spread_r10.c, spread_r16.c,
spread_c4.c, spread_c8.c, spread_c10.c, spread_c16.c.
* Makefile.in: Regenerated.
* libgfortran.h: Add prototypes for spread_i1, spread_i2,
spread_i4, spread_i8, spread_i16, spread_r4, spread_r8,
spread_c4, spread_c8, spread_c10, spread_c16,
spread_scalar_i1, spread_scalar_i2, spread_scalar_i4,
spread_scalar_i8, spread_scalar_i16, spread_scalar_r4
spread_scalar_r8, spread_scalar_c4, spread_scalar_c8,
spread_scalar_c10 and spread_scalar_c16.
Add macros to isolate both type and size information
from array descriptors with a single mask operation.
* intrinsics/spread_generic.c: Add calls to specific
spread functions.
* m4/spread.m4: New file.
* generated/spread_i1.c: New file.
* generated/spread_i2.c: New file.
* generated/spread_i4.c: New file.
* generated/spread_i8.c: New file.
* generated/spread_i16.c: New file.
* generated/spread_r4.c: New file.
* generated/spread_r8.c: New file.
* generated/spread_r10.c: New file.
* generated/spread_r16.c: New file.
* generated/spread_c4.c: New file.
* generated/spread_c8.c: New file.
* generated/spread_c10.c: New file.
* generated/spread_c16.c: New file.
2008-03-28 Thomas Koenig <tkoenig@gcc.gnu.org>
PR libfortran/32972
PR libfortran/32512
* intrinsic_spread_1.f90: New file.
* intrinsic_spread_2.f90: New file.
* intrinsic_spread_3.f90: New file.
From-SVN: r133702
Daniel Franke [Fri, 28 Mar 2008 22:57:25 +0000 (18:57 -0400)]
re PR fortran/34714 (ICE-on-invalid in gfc_conv_descriptor_dtype)
gcc/fortran:
2008-03-28 Daniel Franke <franke.daniel@gmail.com>
Paul Richard Thomas <paul.richard.thomas@gmail.com>
PR fortran/34714
* primary.c (match_variable): Improved matching of function
result variables.
* resolve.c (resolve_allocate_deallocate): Removed checks if
the actual argument for STAT is a variable.
gcc/testsuite:
2008-03-28 Daniel Franke <franke.daniel@gmail.com>
PR fortran/34714
* gfortran.dg/alloc_alloc_expr_3.f90: New test.
* gfortran.dg/allocate_stat.f90: Adjusted error-match text.
* gfortran.dg/func_assign.f90: Likewise.
* gfortran.dg/implicit_11.f90: Likewise.
* gfortran.dg/proc_assign_1.f90: Likewise.
* gfortran.dg/proc_assign_2.f90: Likewise.
* gfortran.dg/procedure_lvalue.f90: Likewise.
Co-Authored-By: Paul Richard Thomas <paul.richard.thomas@gmail.com>
From-SVN: r133701