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
Jerry DeLisle [Fri, 28 Mar 2008 22:16:29 +0000 (22:16 +0000)]
re PR fortran/35699 (run-time abort writing zero sized section to direct access file)
2008-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35699
* gfortran.dg/direct_io_10.f: New test.
From-SVN: r133700
Jerry DeLisle [Fri, 28 Mar 2008 22:13:17 +0000 (22:13 +0000)]
re PR fortran/35699 (run-time abort writing zero sized section to direct access file)
2008-03-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/35699
* io/transfer.c (write_buf): Don't pad the record, just return if the
data is NULL. (next_record_w): If there are bytes left in the record
for unformatted direct I/O, pad out the record with zero bytes.
From-SVN: r133699
H.J. Lu [Fri, 28 Mar 2008 18:42:06 +0000 (18:42 +0000)]
sse.md (*and<mode>3): Pass <MODE>mode instead of V4SFmode to ix86_binary_operator_ok.
2008-03-28 H.J. Lu <hongjiu.lu@intel.com>
* config/i386/sse.md (*and<mode>3): Pass <MODE>mode instead
of V4SFmode to ix86_binary_operator_ok.
From-SVN: r133693
Uros Bizjak [Fri, 28 Mar 2008 18:17:00 +0000 (19:17 +0100)]
i386.c (override_options): Initialize ix86_veclib_handler to ix86_veclibabi_svml when -mveclibabi=svml is used.
* config/i386/i386.c (override_options): Initialize
ix86_veclib_handler to ix86_veclibabi_svml when
-mveclibabi=svml is used.
(ix86_veclibabi_svml): New function for SVML ABI style
vectorization support.
* doc/invoke.texi (-mveclibabi) [svml]: Document new target option.
testsuite/ChangeLog:
* gcc.target/i386/vectorize6.c: New test.
From-SVN: r133692
Ian Lance Taylor [Fri, 28 Mar 2008 17:32:05 +0000 (17:32 +0000)]
acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set glibcxx_ld_is_gold.
* acinclude.m4 (GLIBCXX_CHECK_LINKER_FEATURES): Set
glibcxx_ld_is_gold. Check for gold in --gc-sections test.
(GLIBCXX_ENABLE_SYMVERS): Check for gold.
* aclocal.m4, configure: Rebuild.
From-SVN: r133689
Tobias Burnus [Fri, 28 Mar 2008 13:47:06 +0000 (14:47 +0100)]
re PR fortran/35721 (ASSOCIATED returns false when strides confusing)
2008-03-28 Tobias Burnus <burnus@net-b.de>
PR fortran/35721
* intrinsics/associated.c (associated): Ignore different
stride of pointer vs. target if only one element is referred.
2008-03-28 Tobias Burnus <burnus@net-b.de>
PR fortran/35721
* gfortran.dg/associated_target_2.f90: New.
From-SVN: r133684
Richard Guenther [Fri, 28 Mar 2008 13:44:41 +0000 (13:44 +0000)]
re PR rtl-optimization/19580 (missed load/store motion)
2008-03-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/19580
* gcc.dg/tree-ssa/loop-34.c: New testcase.
From-SVN: r133683
Tom Tromey [Fri, 28 Mar 2008 13:32:47 +0000 (13:32 +0000)]
Makefile.in (POSTCOMPILE): New variable.
* Makefile.in (POSTCOMPILE): New variable.
(.c.o): Use it.
From-SVN: r133682
Rafael Avila de Espindola [Fri, 28 Mar 2008 13:15:00 +0000 (13:15 +0000)]
fold-const.c (tree_unary_nonnegative_warnv_p): Make it public.
2008-03-28 Rafael Espindola <espindola@google.com>
* fold-const.c (tree_unary_nonnegative_warnv_p): Make it public.
(tree_binary_nonnegative_warnv_p): Make it public.
(tree_single_nonnegative_warnv_p): Make it public.
(tree_invalid_nonnegative_warnv_p): Make it public.
(tree_unary_nonzero_warnv_p): Make it public.
(tree_binary_nonzero_warnv_p): Make it public
(tree_single_nonzero_warnv_p): Make it public.
* tree-vrp.c (vrp_evaluate_conditional_warnv_with_ops): New function.
(extract_range_from_binary_expr): Split the expr argument.
(extract_range_from_unary_expr): Split the expr argument.
(extract_range_from_comparison): Split the expr argument.
(extract_range_from_expr): Use the new aux functions.
(vrp_evaluate_conditional_warnv): Use
vrp_evaluate_conditional_warnv_with_ops.
* tree.h (tree_unary_nonzero_warnv_p): Declare.
(tree_binary_nonzero_warnv_p): Declare.
(tree_single_nonzero_warnv_p): Declare.
(tree_expr_nonzero_warnv_p): Declare.
(tree_unary_nonnegative_warnv_p): Declare.
(tree_binary_nonnegative_warnv_p): Declare.
(tree_single_nonnegative_warnv_p): Declare.
(tree_invalid_nonnegative_warnv_p): Declare.
From-SVN: r133681
Richard Guenther [Fri, 28 Mar 2008 12:20:09 +0000 (12:20 +0000)]
re PR tree-optimization/30317 (VRP cannot extract a range from (unsigned int) i + 0x0ffffffff > 4)
2008-03-28 Richard Guenther <rguenther@suse.de>
PR tree-optimization/30317
PR tree-optimization/30911
PR tree-optimization/34793
* tree-vrp.c (set_and_canonicalize_value_range): New function.
(struct assert_locus_d): New member EXPR.
(register_new_assert_for): Add EXPR parameter to support
ASSERT_EXPR <name, expr OP limit>.
(register_edge_assert_for_1): Adjust callers.
(find_assert_locations): Likewise.
(process_assert_insertions_for): Build condition from
expression.
(extract_range_from_assert): Handle ASSERT_EXPRs
of the form ASSERT_EXPR <name, expr OP limit>.
(register_edge_assert_for_2): New helper registering
asserts for comparisons. Recognize range tests of the form
(unsigned)i - CST1 OP CST2.
(register_edge_assert_for_1): Use it.
(register_edge_assert_for): Likewise.
* tree.def (ASSERT_EXPR): Document extra allowed conditional
expressions.
(needs_overflow_infinity): Integer sub-types
do not need overflow infinities.
(vrp_val_is_max): The extreme values of integer sub-types
are those of the base type.
(vrp_val_is_min): Likewise.
* gcc.dg/tree-ssa/vrp35.c: New testcase.
* gcc.dg/tree-ssa/vrp36.c: Likewise.
* gcc.dg/tree-ssa/vrp37.c: Likewise.
From-SVN: r133680
Tobias Burnus [Fri, 28 Mar 2008 10:12:05 +0000 (11:12 +0100)]
symbol.c (gfc_get_default_type): Fix error message...
2008-03-28 Tobias Burnus <burnus@net-b.de>
* symbol.c (gfc_get_default_type): Fix error message; option
-fallow_leading_underscore should be -fallow-leading-underscore
From-SVN: r133678
Nick Clifton [Fri, 28 Mar 2008 08:42:36 +0000 (08:42 +0000)]
re PR target/31110 (Problem while compiling gcc for mn10300-elf)
PR target/31110
* config/mn10300/mn10300.c (mn10300_secondary_reload_class):
Return GENERAL_REGS for stack adjustment reloads.
From-SVN: r133675
Andrew Pinski [Fri, 28 Mar 2008 07:27:11 +0000 (07:27 +0000)]
re PR target/31334 (Bad codegen for vector initializer with constants prop'd into a vector initializer)
2008-03-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR target/31334
* config/rs6000/rs6000.c (rs6000_expand_vector_init): Create a
const_vector when all the vectors are constant.
2008-03-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR target/31334
* gcc.target/powerpc/altivec-25.c: Nnew testcase.
From-SVN: r133674
Jerry DeLisle [Fri, 28 Mar 2008 04:55:11 +0000 (04:55 +0000)]
re PR fortran/35724 (Compile time segmentation fault for CSHIFT with negative third arg)
2008-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35724
* gfortran.dg/cshift_shift_real_2.f90: New test.
From-SVN: r133669
Jerry DeLisle [Fri, 28 Mar 2008 04:44:40 +0000 (04:44 +0000)]
re PR fortran/35724 (Compile time segmentation fault for CSHIFT with negative third arg)
2008-03-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/35724
* iresolve.c (gfc_resolve_cshift): Check for NULL symtree in test for
optional argument attribute.
From-SVN: r133668
Joseph Myers [Fri, 28 Mar 2008 02:07:37 +0000 (02:07 +0000)]
* fr.po: Update.
From-SVN: r133665
GCC Administrator [Fri, 28 Mar 2008 00:17:26 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r133663
Bob Wilson [Thu, 27 Mar 2008 22:44:47 +0000 (22:44 +0000)]
xtensa.c (gen_float_relational): Handle unordered comparisons.
* config/xtensa/xtensa.c (gen_float_relational): Handle unordered
comparisons.
* config/xtensa/xtensa.md (any_cond): Add unordered comparisons.
(any_scc_sf): Add uneq, unlt, unle and unordered operators.
(scc_sf): New.
(s<code>_sf): Use new scc_sf attribute for opcode names.
From-SVN: r133659
Joseph Myers [Thu, 27 Mar 2008 21:21:53 +0000 (21:21 +0000)]
* zh_CN.po: Update.
From-SVN: r133656
Tom Tromey [Thu, 27 Mar 2008 19:20:18 +0000 (19:20 +0000)]
sourcebuild.texi, [...]: Revert automatic dependency patch.
gcc/
* doc/sourcebuild.texi, doc/install.texi, configure, aclocal.m4,
configure.ac, Makefile.in, config/t-darwin, config/m32c/t-m32c,
config/spu/t-spu-elf, config/i386/t-interix,
config/i386/t-cygming, config/i386/x-i386, config/i386/t-cygwin,
config/i386/x-darwin, config/i386/x-mingw32,
config/i386/t-netware, config/i386/x-cygwin, config/i386/t-nwld,
config/sh/t-sh, config/sh/t-symbian, config/x-linux,
config/t-sol2, config/x-hpux, config/x-darwin, config/ia64/t-ia64,
config/x-solaris, config/t-vxworks, config/m68k/t-uclinux,
config/rs6000/x-rs6000, config/rs6000/x-darwin64,
config/rs6000/x-darwin, config/rs6000/t-rs6000,
config/score/t-score-elf, config/arm/t-strongarm-pe,
config/arm/t-pe, config/arm/t-arm, config/arm/t-wince-pe,
config/v850/t-v850, config/v850/t-v850e, config/bfin/t-bfin-linux:
Revert automatic dependency patch.
gcc/java/
* Make-lang.in: Revert automatic dependency patch.
gcc/objc/
* Make-lang.in: Revert automatic dependency patch.
gcc/objcp/
* Make-lang.in: Revert automatic dependency patch.
gcc/cp/
* Make-lang.in: Revert automatic dependency patch.
gcc/fortran/
* Make-lang.in: Revert automatic dependency patch.
From-SVN: r133652
Eric Botcazou [Thu, 27 Mar 2008 18:53:02 +0000 (18:53 +0000)]
decl.c (gnat_to_gnu_entity): Also set the public flag if the procedure is imported.
* decl.c (gnat_to_gnu_entity) <E_Procedure>: Also set the public flag
if the procedure is imported.
From-SVN: r133650
H.J. Lu [Thu, 27 Mar 2008 18:52:18 +0000 (18:52 +0000)]
re PR target/35657 (Alignments of DFP types aren't consistent)
2008-03-27 H.J. Lu <hongjiu.lu@intel.com>
PR target/35657
* config/i386/i386.c (ix86_function_arg_boundary): Align
decimal floating point to its natural boundary.
From-SVN: r133649
Uros Bizjak [Thu, 27 Mar 2008 17:49:43 +0000 (18:49 +0100)]
multi-ix.c: Limit CHUNK size between 1 and 500.
* gcc.c-torture/execute/multi-ix.c: Limit CHUNK size between 1 and 500.
(main): Exit early for CHUNK less than 40 to avoid stack corruption.
From-SVN: r133648
Richard Guenther [Thu, 27 Mar 2008 17:09:54 +0000 (17:09 +0000)]
re PR tree-optimization/35716 (gfortran.dg/assign_6.f and gfortran.dg/g77/dnrm2.f)
2008-03-27 Richard Guenther <rguenther@suse.de>
PR middle-end/35716
* fold-const.c (fold_comparison): Restrict distinct decl
comparison folding to VAR_DECLs and PARM_DECLs. Do not
solely rely on operand_equal_p.
From-SVN: r133647
Richard Guenther [Thu, 27 Mar 2008 16:34:55 +0000 (16:34 +0000)]
re PR c/32511 (GCC rejects inline+weak function)
2008-03-27 Richard Guenther <rguenther@suse.de>
PR c/32511
* c-common.c (handle_weak_attribute): Reject combination of
weak and inline.
* gcc.dg/attr-weak-1.c: New testcase.
From-SVN: r133646
Richard Guenther [Thu, 27 Mar 2008 16:32:28 +0000 (16:32 +0000)]
re PR tree-optimization/32810 (Not folding of const element for goto)
2008-03-27 Richard Guenther <rguenther@suse.de>
PR tree-optimization/32810
* tree-ssa-ccp.c (get_symbol_constant_value): Strip useless
conversions from DECL_INITIAL.
(fold_const_aggregate_ref): Likewise from constructor elements.
* gcc.dg/tree-ssa/ssa-ccp-18.c: New testcase.
From-SVN: r133645
Douglas Gregor [Thu, 27 Mar 2008 14:53:57 +0000 (14:53 +0000)]
re PR bootstrap/35704 (Bootstrap failure on i686-apple-darwin9 at revision 133519 (take 2).)
2008-03-27 Douglas Gregor <doug.gregor@gmail.com>
PR obj-c++/35704
* typeck.c (build_x_compound_expr): Use cp_build_compound_expr.
(build_compound_expr): New, for compatibility with C
build_compound_expr.
(cp_build_compound_expr): Renamed from build_compound_expr.
(build_c_cast): New, for compatibility with C build_c_cast.
(cp_build_c_cast): Renamed from build_c_cast.
* init.c (build_vec_delete_1): Fix calls to build_compound_expr.
* decl.c (cxx_maybe_build_cleanup): Ditto.
* cp-tree.h (build_compound_expr): Add C-compatibile prototype.
(cp_build_compound_expr): Renamed from build_compound_expr.
(build_c_cast): Add C-compatible prototype.
(cp_build_c_cast): Renamed from build_c_cast.
* typeck2.c (build_functional_cast): Use cp_build_c_cast.
* parser.c (cp_parser_cast_expression): Fix call to build_c_cast.
2008-03-27 Douglas Gregor <doug.gregor@gmail.com>
PR obj-c++/35704
* objc-act.c (objc_build_component_ref): Fix call to
finish_class_member_access_expr.
(objc_generate_cxx_ctor_or_dtor): Fix call to
build_special_member_call.
From-SVN: r133643
Douglas Gregor [Thu, 27 Mar 2008 14:31:47 +0000 (14:31 +0000)]
pt.c (tsubst_copy): Cope with tsubst_pack_expansion returning a pack expansion...
2008-03-27 Douglas Gregor <doug.gregor@gmail.com>
* pt.c (tsubst_copy) <case SIZEOF_EXPR>: Cope with
tsubst_pack_expansion returning a pack expansion, or a TREE_VEC
ending in a pack expansion, both of which can occur when
substituting into a nested template.
(tsubst_copy_and_build) <case SIZEOF_EXPR>: When we're
instantiating the sizeof...(X) form, make tsubst_copy do the work.
* parser.c (cp_parser_template_parameter): Deal with unnamed
non-type template parameter packs identified by pack expansions in
the parameter type.
2008-03-27 Douglas Gregor <doug.gregor@gmail.com>
* g++.dg/cpp0x/variadic91.C: New.
From-SVN: r133642
Paolo Bonzini [Thu, 27 Mar 2008 13:40:08 +0000 (13:40 +0000)]
configure.ac (frags): Don't set, use frag instead.
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* configure.ac (frags): Don't set, use frag instead.
(PICFLAG): Set here and substitute.
* Makefile.in (PICFLAG): Substitute from autoconf.
* configure: Regenerate.
From-SVN: r133639
Zdenek Dvorak [Thu, 27 Mar 2008 10:25:36 +0000 (11:25 +0100)]
tree-affine.h (aff_combination_expand): Declare.
2008-03-27 Zdenek Dvorak <ook@ucw.cz>
* tree-affine.h (aff_combination_expand): Declare.
(get_inner_reference_aff): Likewise.
* tree-affine.c (aff_combination_expand): Split out from
tree_to_aff_combination_expand.
(get_inner_reference_aff): New function.
* tree-parloops.c (loop_parallel_p): Free vectorizer info.
* tree-ssa-loop-im.c: Include tree-affine.h and pointer-set.h.
(struct lim_aux_data): sm_done field removed.
(mem_ref_loc_p, mem_ref_locs_p): New types.
(struct mem_ref): Added id, stored, accesses_in_loop,
indep_loop, dep_loop, indep_ref, dep_ref fields.
Removed is_stored, locs and next fields.
(memory_accesses): New variable.
(movement_possibility): Do not allow moving statements
that store to memory.
(outermost_indep_loop, simple_mem_ref_in_stmt, mem_ref_in_stmt):
New functions.
(determine_max_movement): For statements with memory references,
find the outermost loop in that the reference is independent.
(move_computations_stmt): Mark the virtual operands for
renaming.
(memref_free, mem_ref_alloc, mem_ref_locs_alloc, mark_ref_stored,
gather_mem_refs_stmt, gather_mem_refs_in_loops, vtoe_hash, vtoe_eq,
vtoe_free, record_vop_access, get_vop_accesses, get_vop_stores,
add_vop_ref_mapping, create_vop_ref_mapping_loop,
create_vop_ref_mapping, analyze_memory_references,
cannot_overlap_p, mem_refs_may_alias_p, rewrite_mem_ref_loc,
get_all_locs_in_loop, ref_always_accessed_p,
refs_independent_p, record_indep_loop, ref_indep_loop_p_1,
ref_indep_loop_p, can_sm_ref_p, find_refs_for_sm,
store_motion_loop, store_motion): New functions.
(struct vop_to_refs_elt): New type.
(record_mem_ref_loc, free_mem_ref_locs, rewrite_mem_refs,
memref_hash, memref_eq, hoist_memory_references): Rewritten.
(schedule_sm): Replaced by...
(execute_sm): ... this.
(determine_lsm_ref, hoist_memory_references,
loop_suitable_for_sm, gather_mem_refs_stmt, gather_mem_refs,
find_more_ref_vops, free_mem_ref, free_mem_refs,
determine_lsm_loop, determine_lsm): Removed.
(tree_ssa_lim_finalize): Free data structures used by store
motion.
(tree_ssa_lim): Call analyze_memory_references. Use
store_motion instead of determine_lsm.
* gcc.dg/tree-ssa/loop-32.c: New testcase.
* gcc.dg/tree-ssa/loop-33.c: Likewise.
From-SVN: r133637
Paolo Bonzini [Thu, 27 Mar 2008 10:04:08 +0000 (10:04 +0000)]
config.cc (m68hc11, [...]): Add usegas.h, rename tmake_file to m68hc11/t-m68hc11.
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* config.cc (m68hc11, m6811, m68hc12, m6812): Add usegas.h,
rename tmake_file to m68hc11/t-m68hc11.
(mcore): Set inhibit_libc to true.
* config.host (alpha*-dec-*vms*): Set extra_programs.
(interix3*): Don't use host_xmake_file.
* configure.ac: Let config.gcc override inhibit_libc.
* configure: Regenerate.
* config/alpha/x-vms (EXTRA_PROGRAMS): Remove.
* config/x-interix: Remove.
* config/t-openbsd-thread: Remove commented out lines.
* config/m68hc11/t-m68hc11-gas: Rename to...
* config/m68hc11/t-m68hc11: ... this. Remove T_CPPFLAGS.
* config/mcore/t-mcore: Remove T_CFLAGS.
* config/mcore/t-mcore-pe: Likewise.
From-SVN: r133636
Paolo Bonzini [Thu, 27 Mar 2008 09:46:19 +0000 (09:46 +0000)]
extensions.m4: New.
config:
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* extensions.m4: New.
gcc:
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* configure.ac: Replace custom __GNU_SOURCE test with
AC_USE_SYSTEM_EXTENSIONS. Move it earlier.
* aclocal.m4: Regenerate.
* configure: Regenerate.
* config.in: Regenerate.
From-SVN: r133635
Paolo Bonzini [Thu, 27 Mar 2008 09:35:02 +0000 (09:35 +0000)]
Makefile.tpl (PICFLAG, [...]): Remove.
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (PICFLAG, PICFLAG_FOR_TARGET): Remove.
* Makefile.in: Regenerate.
config:
2008-03-27 Paolo Bonzini <bonzini@gnu.org>
* mh-armpic: Remove.
* mh-i370pic: Remove.
* mh-m68kpic: Remove.
* mh-ppcpic: Remove.
* mh-sparcpic: Remove.
* mh-ia64pic: Remove.
* mh-papic: Remove.
* mh-s390pic: Remove.
* mh-x86pic: Remove.
From-SVN: r133634
Richard Guenther [Thu, 27 Mar 2008 09:17:43 +0000 (09:17 +0000)]
fold-const.c (target.h): Include.
2008-03-27 Richard Guenther <rguenther@suse.de>
* fold-const.c (target.h): Include.
(fold_comparison): Fold comparison of addresses of decls
that bind locally or of constants. Consolidate address folding code.
* tree-vrp.c (operand_less_p): Deal with non-INTEGER_CST
results from fold_binary_to_constant.
(compare_values_warnv): Likewise.
* gcc.dg/fold-addr-1.c: New testcase.
From-SVN: r133632