Richard Sandiford [Tue, 2 Oct 2007 20:56:47 +0000 (20:56 +0000)]
mips.exp (setup_mips_tests): Set mips_abi to the default ABI.
gcc/testsuite/
* gcc.target/mips/mips.exp (setup_mips_tests): Set mips_abi to the
default ABI. Split mips_forced_abi into mips_forced_abi and
mips_forced_regs.
(is_gp32_flag): Return true for -mabi=32.
(is_gp64_flag): New function. Handle 64-bit -mabi options.
(dg-mips-options): Use is_gp64_flag instead of checking specifically
for -mgp64. Update after the mips_forced_abi split. Handle -mabi=*.
Don't force an ABI for -mgp32 or -mfp32 if the flags contain -mabi=*.
* gcc.target/mips/pr33256.c: Remove -mips3 requirement.
* gcc.target/mips/save-restore-1.c: Use -mabi=32 instead of -mgp32.
* gcc.target/mips/save-restore-2.c: Likewise.
* gcc.target/mips/save-restore-3.c: Likewise.
* gcc.target/mips/save-restore-4.c: Likewise.
From-SVN: r128966
Richard Sandiford [Tue, 2 Oct 2007 20:50:46 +0000 (20:50 +0000)]
re PR middle-end/33617 (ICE for nonconstant callee-copied constructor arguments)
gcc/
PR middle-end/33617
* expr.c (expand_expr_addr_expr_1): Pass CONSTRUCTORs to
expand_expr.
gcc/testsuite/
PR middle-end/33617
* gcc.c-torture/compile/pr33617.c: New test.
From-SVN: r128965
David Daney [Tue, 2 Oct 2007 20:15:34 +0000 (20:15 +0000)]
mips.md (sync_compare_and_swap<mode>): Handle compare against constant zero.
* config/mips/mips.md (sync_compare_and_swap<mode>): Handle compare
against constant zero.
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP): Handle constant zero
operand.
From-SVN: r128963
Andreas Tobler [Tue, 2 Oct 2007 19:56:50 +0000 (19:56 +0000)]
stabs-attrib-vect-darwin.c: Change options to use -gstabs+ for extended options.
2007-10-02 Andreas Tobler <a.tobler@schweiz.org>
* gcc.target/powerpc/stabs-attrib-vect-darwin.c: Change options to use
-gstabs+ for extended options.
From-SVN: r128962
Richard Sandiford [Tue, 2 Oct 2007 17:25:18 +0000 (17:25 +0000)]
no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
config/
* no-executables.m4 (GCC_TRY_COMPILE_OR_LINK): New function.
libstdc++/
* acinclude.m4 (GLIBCXX_ENABLE_C99): Temporarily add
-fno-exceptions to CXXFLAGS. Use GCC_TRY_COMPILE_OR_LINK.
Make the tests assign results to volatile variables.
* configure: Regenerate.
From-SVN: r128959
Benjamin Kosnik [Tue, 2 Oct 2007 16:07:01 +0000 (16:07 +0000)]
2.cc: Split into...
2007-10-02 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/25_algorithms/binary_search/2.cc: Split into...
* testsuite/25_algorithms/upper_bound/2.cc: ... this.
* testsuite/25_algorithms/lower_bound/2.cc: ... this.
* testsuite/25_algorithms/equal_range/2.cc: ... and this.
* testsuite/25_algorithms/sort/vectorbool.cc: Add from
libstdcxx_so_7-branch.
From-SVN: r128958
Kenneth Zadeck [Tue, 2 Oct 2007 13:10:07 +0000 (13:10 +0000)]
ra-conflict.c: New file.
2007-09-02 Kenneth Zadeck <zadeck@naturalbridge.com>
* ra-conflict.c: New file.
* ra.h: New file.
* reload.c (push_reload, find_dummy_reload): Change DF_RA_LIVE
usage to DF_LIVE usage.
* rtlanal.c (subreg_nregs_with_regno): New function.
* df-scan.c (df_def_record_1, df_uses_record): Add code to set
DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, and DF_REF_SUBREG flags.
(df_has_eh_preds): Removed.
(df_bb_refs_collect, df_bb_refs_collect, df_bb_refs_collect,
df_exit_block_uses_collect): Changed call from df_has_eh_preds to
bb_has_eh_pred.
* global.c (allocno, max_allocno, conflicts, allocno_row_words,
reg_allocno, EXECUTE_IF_SET_IN_ALLOCNO_SET): Moved to ra.h
(SET_ALLOCNO_LIVE, CLEAR_ALLOCNO_LIVE): Moved to ra-conflicts.c.
(regs_set, record_one_conflict, record_conflicts, mark_reg_store,
mark_reg_clobber, mark_reg_conflicts, mark_reg_death): Deleted.
(global_alloc): Turn off rescanning insns after call to
global_conflicts and added call to set_preferences.
(global_conflicts): Moved to ra-alloc.c.
(set_preferences_1, set_preferences): New function.
(mirror_conflicts): Changed types for various variables.
(mark_elimination): Change DF_RA_LIVE
usage to DF_LIVE usage.
(build_insn_chain): Rewritten from scratch and made local.
(print_insn_chain, print_insn_chains): New functions.
(dump_conflicts): Do not print conflicts for fixed_regs.
(rest_of_handle_global_alloc): Turn off insn rescanning.
* hard-reg-set.h: Fixed comment.
* local-alloc.c (update_equiv_regs): Change DF_RA_LIVE
usage to DF_LIVE usage and delete refs to TOP sets.
(block_alloc): Mark regs as live if they are in the artificial
defs at top of block.
(find_stack_regs): New function.
(rest_of_handle_local_alloc): Changed urec problem to live
problem and do not turn off df rescanning.
* df.h (DF_UREC, DF_UREC_BB_INFO, DF_LIVE_TOP, DF_RA_LIVE_IN,
DF_RA_LIVE_TOP, DF_RA_LIVE_OUT, df_urec_bb_info, df_urec,
df_urec_add_problem, df_urec_get_bb_info, df_has_eh_preds): Removed.
(DF_CHAIN, DF_NOTE, DF_CHAIN): Renumbered.
(DF_REF_EXTRACT, DF_REF_STRICT_LOWER_PART, DF_REF_SUBREG): New
fields in df_ref_flags. The rest have been renumbered.
* init-regs.c (initialize_uninitialized_regs): Enhanced debugging
at -O1.
* rtl.h (subreg_nregs_with_regno): New function.
* df-problems.c: (df_get_live_out, df_get_live_in,
df_get_live_top): Removed reference to DF_RA_LIVE.
(df_lr_reset, df_lr_transfer_function, df_live_free_bb_info,
df_live_alloc, df_live_reset, df_live_local_finalize,
df_live_free): Make top set only if different from in set.
(df_lr_top_dump, df_live_top_dump): Only print top set if
different from in set.
(df_lr_bb_local_compute): Removed unnecessary check.
(df_urec_problem_data, df_urec_set_bb_info, df_urec_free_bb_info,
df_urec_alloc, df_urec_mark_reg_change, earlyclobber_regclass,
df_urec_check_earlyclobber, df_urec_mark_reg_use_for_earlyclobber,
df_urec_mark_reg_use_for_earlyclobber_1, df_urec_bb_local_compute,
df_urec_local_compute, df_urec_init, df_urec_local_finalize,
df_urec_confluence_n, df_urec_transfer_function, df_urec_free,
df_urec_top_dump, df_urec_bottom_dump, problem_UREC,
df_urec_add_problem): Removed.
(df_simulate_fixup_sets): Changed call from df_has_eh_preds to
bb_has_eh_pred.
* Makefile.in (ra-conflict.o, ra.h): New dependencies.
* basic_block.h (bb_has_abnormal_pred): New function.
* reload1.c (compute_use_by_pseudos): Change DF_RA_LIVE
usage to DF_LIVE usage.
From-SVN: r128957
Revital Eres [Tue, 2 Oct 2007 12:47:13 +0000 (12:47 +0000)]
Fix committed Changelog
From-SVN: r128956
Paul Thomas [Tue, 2 Oct 2007 11:45:11 +0000 (11:45 +0000)]
re PR fortran/33542 (gfortran does not detect ambigious specific names if they are the same as generic names)
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33542
* interface.c (check_interface1): Specific procedures are
always ambiguous if they have the same name.
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33542
* gfortran.dg/ambiguous_specific_1.f90: New test.
From-SVN: r128954
Revital Eres [Tue, 2 Oct 2007 09:22:17 +0000 (09:22 +0000)]
Add vec_init support for 750CL paired vectors and fix movv2sf_paired
From-SVN: r128952
Paul Thomas [Tue, 2 Oct 2007 08:12:11 +0000 (08:12 +0000)]
re PR fortran/33566 (fortran : wrong rank of derived type parameters array components)
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33566
* primary.c (gfc_match_rvalue): Make all expressions with array
references to structure parameters into variable expressions.
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33566
* gfortran.dg/derived_comp_array_ref_5.f90: New test.
From-SVN: r128951
Paul Thomas [Tue, 2 Oct 2007 08:03:07 +0000 (08:03 +0000)]
re PR fortran/33554 (Seg.fault: Default initialization of derived type uses uninitialized values)
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33554
* trans-decl.c (init_intent_out_dt): New function.
(gfc_trans_deferred_vars): Remove the code for default
initialization of INTENT(OUT) derived types and put it
in the new function. Call it earlier than before, so
that array offsets and lower bounds are available.
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33554
* gfortran.dg/intent_out_2.f90: New test.
From-SVN: r128950
Paul Thomas [Tue, 2 Oct 2007 07:53:05 +0000 (07:53 +0000)]
re PR fortran/33550 (ICE (segfault) when USEing ambiguous symbols)
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33550
* decl.c (get_proc_name): Return rc if rc is non-zero; ie. if
the name is a reference to an ambiguous symbol.
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33550
* gfortran.dg/ambiguous_reference_1.f90: New test.
From-SVN: r128949
Paul Thomas [Tue, 2 Oct 2007 07:17:01 +0000 (07:17 +0000)]
re PR fortran/31154 (IMPORT fails for "<imported symbol> FUNCTION (...)" kind of procedures)
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31154
PR fortran/31229
PR fortran/33334
* decl.c : Declare gfc_function_kind_locs and
gfc_function_type_locus.
(gfc_match_kind_spec): Add second argument kind_expr_only.
Store locus before trying to match the expression. If the
current state corresponds to a function declaration and there
is no match to the expression, read to the parenthesis, return
kind = -1, dump the expression and return.
(gfc_match_type_spec): Renamed from match_type_spec and all
references changed. If an interface or an external function,
store the locus, set kind = -1 and return. Otherwise, if kind
is already = -1, use gfc_find_symbol to try to find a use
associated or imported type.
match.h : Prototype for gfc_match_type_spec.
* parse.c (match_deferred_characteristics): New function.
(parse_spec): If in a function, statement is USE or IMPORT
or DERIVED_DECL and the function kind=-1, call
match_deferred_characteristics. If kind=-1 at the end of the
specification expressions, this is an error.
* parse.h : Declare external gfc_function_kind_locs and
gfc_function_type_locus.
2007-10-02 Paul Thomas <pault@gcc.gnu.org>
PR fortran/31154
PR fortran/31229
PR fortran/33334
* gfortran.dg/function_kinds_1.f90: New test.
* gfortran.dg/function_kinds_2.f90: New test.
* gfortran.dg/derived_function_interface_1.f90: Correct illegal
use association into interfaces.
From-SVN: r128948
John David Anglin [Tue, 2 Oct 2007 02:17:50 +0000 (02:17 +0000)]
re PR testsuite/31828 (FAIL: gcc.dg/float-range-[3-5].c (test for excess errors))
PR testsuite/31828
gcc.dg/float-range-3.c (INFINITY): Define if not defined.
(overflow): Use INFINITY, not FP_INFINITE.
gcc.dg/float-range-4.c: Likewise.
gcc.dg/float-range-5.c: Likewise.
From-SVN: r128947
Alexandre Oliva [Tue, 2 Oct 2007 01:28:06 +0000 (01:28 +0000)]
Revert patches that should have been installed in the vta branch only.
From-SVN: r128933
Alexandre Oliva [Tue, 2 Oct 2007 01:12:19 +0000 (01:12 +0000)]
tree-ssa-live.c (remove_unused_scope_block_p): Don't change generated code depending on -g.
* tree-ssa-live.c (remove_unused_scope_block_p): Don't change
generated code depending on -g. Reverts part of 2007-07-26's
patch.
From-SVN: r128932
Alexandre Oliva [Tue, 2 Oct 2007 01:10:18 +0000 (01:10 +0000)]
* ChangeLog.vta: New.
From-SVN: r128931
GCC Administrator [Tue, 2 Oct 2007 00:17:00 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128929
Jonathan Wakely [Mon, 1 Oct 2007 20:49:39 +0000 (20:49 +0000)]
valarray-inst.cc, [...]: Fix comment typos.
* src/valarray-inst.cc, include/ext/atomicity.h,
include/ext/concurrence.h, include/bits/basic_string.h,
include/bits/fstream.tcc, include/ext/vstring.h: Fix comment typos.
From-SVN: r128915
Jonathan Wakely [Mon, 1 Oct 2007 20:39:08 +0000 (20:39 +0000)]
test.html, [...]: Update docs to refer to Subversion not CVS.
* docs/html/test.html, docs/html/ext/mt_allocator.html,
docs/html/ext/tr1.html, docs/html/17_intro/contribute.html,
docs/html/documentation.html, docs/html/20_util/allocator.html:
Update docs to refer to Subversion not CVS. Fix markup.
From-SVN: r128914
Alexandre Oliva [Mon, 1 Oct 2007 20:39:03 +0000 (20:39 +0000)]
tree-ssa-sink.c (sink_code_in_bb): Don't stop sinking after sinking the last stmt in a BB.
* tree-ssa-sink.c (sink_code_in_bb): Don't stop sinking after
sinking the last stmt in a BB.
From-SVN: r128913
Alexandre Oliva [Mon, 1 Oct 2007 20:27:22 +0000 (20:27 +0000)]
compare-debug: Avoid spurious errors when .stripped files exist.
* compare-debug: Avoid spurious errors when .stripped files
exist.
From-SVN: r128911
Alexandre Oliva [Mon, 1 Oct 2007 19:56:46 +0000 (19:56 +0000)]
check_jni_methods.sh: Don't depend on diff -b ignoring a single trailing whitespace.
* scripts/check_jni_methods.sh: Don't depend on diff -b ignoring
a single trailing whitespace.
From-SVN: r128910
Jonathan Wakely [Mon, 1 Oct 2007 19:55:41 +0000 (19:55 +0000)]
* docs/html/Makefile: Follow up to libstdc++/14991, remove target.
From-SVN: r128909
Alexandre Oliva [Mon, 1 Oct 2007 16:35:55 +0000 (16:35 +0000)]
re PR middle-end/22156 (bit-field copying regressed)
PR middle-end/22156
* tree-sra.c (struct sra_elt): Add in_bitfld_block.
(sra_hash_tree): Handle BIT_FIELD_REFs.
(sra_elt_hash): Don't hash bitfld blocks.
(sra_elt_eq): Skip them in parent compares as well. Handle
BIT_FIELD_REFs.
(build_element_name_1): Handle BIT_FIELD_REFs.
(instantiate_element): Propagate nowarn from parents. Create
BIT_FIELD_REF for variables that are widened by scalarization.
Gimple-zero-initialize all bit-field variables that are not
part of parameters that are going to be scalarized on entry.
(instantiate_missing_elements_1): Return the sra_elt.
(canon_type_for_field): New.
(try_instantiate_multiple_fields): New. Infer widest possible
access mode from decl or member type, but clip it at word
size, and only widen it if a field crosses an alignment
boundary.
(instantiate_missing_elements): Use them.
(generate_one_element_ref): Handle BIT_FIELD_REFs.
(scalar_bitfield_p): New.
(sra_build_assignment): Optimize assignments from scalarizable
BIT_FIELD_REFs. Use BITS_BIG_ENDIAN to determine shift
counts.
(REPLDUP): New.
(sra_build_bf_assignment): New. Optimize assignments to
scalarizable BIT_FIELD_REFs.
(sra_build_elt_assignment): New. Optimize BIT_FIELD_REF
assignments to full variables.
(generate_copy_inout): Use the new macros and functions.
(generate_element_copy): Likewise. Handle bitfld differences.
(generate_element_zero): Don't recurse for blocks. Use
sra_build_elt_assignment.
(generate_one_element_init): Take elt instead of var. Use
sra_build_elt_assignment.
(generate_element_init_1): Adjust.
(bitfield_overlap_info): New struct.
(bitfield_overlaps_p): New.
(sra_explode_bitfield_assignment): New. Adjust widened
variables to account for endianness.
(sra_sync_for_bitfield_assignment): New.
(scalarize_use): Re-expand assignment to/from scalarized
BIT_FIELD_REFs. Explode or sync needed members for
BIT_FIELD_REFs accesses or assignments. Use REPLDUP.
(scalarize_copy): Use REPLDUP.
(scalarize_ldst): Move assert before dereference. Adjust EH
handling.
(dump_sra_elt_name): Handle BIT_FIELD_REFs.
From-SVN: r128908
Paolo Bonzini [Mon, 1 Oct 2007 15:14:29 +0000 (15:14 +0000)]
simplify-rtx.c (comparison_result, [...]): Rename CR_* constants to CMP_*.
2007-10-01 Paolo Bonzini <bonzini@gnu.org>
* simplify-rtx.c (comparison_result, simplify_relational_operation_1):
Rename CR_* constants to CMP_*. Fix spacing.
From-SVN: r128906
Nick Clifton [Mon, 1 Oct 2007 09:43:41 +0000 (09:43 +0000)]
Fix test to work with 16-bit targets
From-SVN: r128903
Paolo Bonzini [Mon, 1 Oct 2007 07:15:42 +0000 (07:15 +0000)]
Makefile.tpl (AR_FOR_BUILD, [...]): Use autoconf substitutions.
2007-10-01 Paolo Bonzini <bonzini@gnu.org>
* Makefile.tpl (AR_FOR_BUILD, AS_FOR_BUILD, CXX_FOR_BUILD,
DLLTOOL_FOR_BUILD, GCJ_FOR_BUILD, GFORTRAN_FOR_BUILD,
LDFLAGS_FOR_BUILD, LD_FOR_BUILD, NM_FOR_BUILD, RANLIB_FOR_BUILD,
WINDMC_FOR_BUILD, WINDRES_FOR_BUILD): Use autoconf substitutions.
* configure.ac: Default them to host tools for $host = $build.
Subst them.
* configure: Regenerate.
* Makefile.in: Regenerate.
From-SVN: r128902
Gerald Pfeifer [Mon, 1 Oct 2007 06:21:10 +0000 (06:21 +0000)]
gcc_release: Do not include copies of faq.html in releases...
* gcc_release: Do not include copies of faq.html in releases,
and remove all the explicit support code to pull in web pages.
From-SVN: r128901
Manuel López-Ibáñez [Mon, 1 Oct 2007 02:38:31 +0000 (02:38 +0000)]
re PR other/33585 (make html does not work for install files)
2007-10-01 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
PR other/33585
* Makefile.in (build_html_dir/gccinstall): gccinstall.texi needs
to be processed with the special script doc/install.texi2html.
From-SVN: r128900
GCC Administrator [Mon, 1 Oct 2007 00:17:16 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128898
Manuel López-Ibáñez [Sun, 30 Sep 2007 23:54:19 +0000 (23:54 +0000)]
invoke.texi (Wall): List the options enabled by Wall.
2007-09-30 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
* doc/invoke.texi (Wall): List the options enabled by Wall.
(Wstrict-aliasing): Add missing @option.
From-SVN: r128895
Richard Sandiford [Sun, 30 Sep 2007 22:50:02 +0000 (22:50 +0000)]
mips.c (mips_split_64bit_move): Use gen_rtx_REG_offset rather than gen_lowpart to change a register from DImode...
gcc/
* config/mips/mips.c (mips_split_64bit_move): Use gen_rtx_REG_offset
rather than gen_lowpart to change a register from DImode to DFmode.
(mips_cannot_change_mode_class): Only allow FPRs to change mode if
both FROM and TO are integer modes that are no bigger than 4 bytes.
(mips_mode_ok_for_mov_fmt_p): New function.
(mips_preferred_reload_class): Use it instead of FLOAT_MODE_P.
(mips_secondary_reload_class): Tweak formatting and comments.
Use reg_class_subset_p instead of direct comparisons with
classes. Only allow direct FPR<->FPR moves for modes that
satisfy mips_mode_ok_for_mov_fmt_p. Only allow loads and stores
for 4- and 8-byte types. Handle reloads in which X is an FPR.
* config/mips/mips.md (*movdi_gp32_fp64): Remove f<-f alternative.
(*movdi_64bit): Likewise.
(*movsi_internal): Likewise.
(*movhi_internal): Likewise.
(*movqi_internal): Likewise.
From-SVN: r128894
Diego Novillo [Sun, 30 Sep 2007 16:00:36 +0000 (12:00 -0400)]
re PR tree-optimization/33593 (tree-outof-ssa moves sources of non-call exceptions past sequence points)
PR 33593
* tree-ssa-ter.c (is_replaceable_p): Return false if STMT may
throw an exception.
testsuite/ChangeLog
PR 33593
* g++.dg/tree-ssa/pr33593.C: New test.
From-SVN: r128893
Jerry DeLisle [Sun, 30 Sep 2007 14:36:40 +0000 (14:36 +0000)]
re PR fortran/33400 (Formatted read fails if line ends without line break)
2007-09-30 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33400
* gfortran.dg/PR19872.f: Fix test condition.
* gfortran.dg/list_read_7.f90: New test.
From-SVN: r128892
Uros Bizjak [Sun, 30 Sep 2007 12:45:32 +0000 (14:45 +0200)]
re PR tree-optimization/33597 (Internal compiler error while compiling libswscale from ffmpeg)
PR tree-optimization/33597
* tree-vect-analyze.c (vect_build_slp_tree): Check if optab handler
for LSHIFT_EXPR and RSHIFT_EXPR is available for vec_mode.
testsuite/ChangeLog:
PR tree-optimization/33597
* gcc.dg/vect/pr33597.c: New testcase.
From-SVN: r128891
Jason Merrill [Sun, 30 Sep 2007 02:41:39 +0000 (22:41 -0400)]
re PR c++/33094 (ICE on valid C++ virtual template static member in anonymous namespace)
PR c++/33094
* decl.c (make_rtl_for_nonlocal_decl): It's ok for a member
constant to not have DECL_EXTERNAL if it's file-local.
From-SVN: r128890
GCC Administrator [Sun, 30 Sep 2007 00:17:02 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128888
Uros Bizjak [Sat, 29 Sep 2007 10:14:14 +0000 (12:14 +0200)]
i386.c (ix86_expand_move): Use can_create_pseudo_p () instead of variants of (!reload_in_progress &&...
* config/i386/i386.c (ix86_expand_move): Use can_create_pseudo_p ()
instead of variants of (!reload_in_progress && !reload_completed).
(x86_expand_vector_move): Ditto.
From-SVN: r128885
Uros Bizjak [Sat, 29 Sep 2007 08:01:12 +0000 (10:01 +0200)]
sse5-convert.c: Fix target selector and rename to...
* gcc.target/i386/sse5-convert.c: Fix target selector and rename to...
* gcc.target/i386/pr33524.c: ...this.
From-SVN: r128883
Tobias Schlüter [Sat, 29 Sep 2007 07:57:37 +0000 (09:57 +0200)]
re PR fortran/33354 ([4.2 only] MINLOC in combination with SUM gives wrong result)
PR fortran/33354
* gfortran.dg/minmaxloc_4.f90: New.
From-SVN: r128882
Ollie Wild [Sat, 29 Sep 2007 03:47:05 +0000 (03:47 +0000)]
Revert
2007-09-27 Ollie Wild <aaw@google.com>
gcc/
* varasm.c (compare_constant): Removed call to
lang_hooks.expand_constant.
(copy_constants): Removed call to lang_hooks.expand_constant.
(compute_reloc_for_constant): Removed call to
lang_hooks.expand_constant.
(output_addressed_constants): Removed call to
lang_hooks.expand_constant.
(constructor_static_from_elts_p): Removed call to
lang_hooks.expand_constant.
(output_constant): Removed calls to lang_hooks.expand_constant.
* langhooks.h (struct lang_hooks): Removed field expand_constant.
* langhooks-def.h (lhd_return_tree): Removed.
(LANG_HOOKS_EXPAND_CONSTANT): Removed.
(LANG_HOOKS_INITIALIZER): Removed LANG_HOOKS_EXPAND_CONSTANT.
* langhooks.c (lhd_return_tree): Removed.
gcc/cp/
* typeck2.c (digest_init): Call cplus_expand_constant after
convert_for_initialization.
* cp-objcp-common.h (LANG_HOOKS_EXPAND_CONSTANT): Removed.
* expr.c (cplus_expand_constant): Updated function description.
From-SVN: r128881
John David Anglin [Sat, 29 Sep 2007 03:23:47 +0000 (03:23 +0000)]
fold-bitand-4.c: Add -fno-common to options on hppa*-*-hpux*.
* gcc.dg/fold-bitand-4.c: Add -fno-common to options on hppa*-*-hpux*.
From-SVN: r128880
GCC Administrator [Sat, 29 Sep 2007 00:17:09 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128878
Andrew Pinski [Fri, 28 Sep 2007 22:41:20 +0000 (22:41 +0000)]
re PR target/33347 (gcc.c-torture/compile/
20000804-1.c ICEs at -O3 -funroll-loops)
2007-09-28 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR target/33347
* config/spu/spu.c (spu_expand_insv): Call copy_rtx on the second
argument to gen_selb.
From-SVN: r128874
Chao-ying Fu [Fri, 28 Sep 2007 18:36:00 +0000 (18:36 +0000)]
libgcc-std.ver: Add fixed-point routines to GCC_4.3.0 section.
* libgcc-std.ver: Add fixed-point routines to GCC_4.3.0 section.
* doc/libgcc.texi (Fixed-point fractional library routines):
Fix typos for neg and cmp functions.
From-SVN: r128873
Uros Bizjak [Fri, 28 Sep 2007 18:18:54 +0000 (20:18 +0200)]
array-init-1.c: Add -mtune=i686 for 32bit x86 targets.
* gcc.dg/array-init-1.c: Add -mtune=i686 for 32bit x86 targets.
From-SVN: r128872
Jason Merrill [Fri, 28 Sep 2007 18:07:57 +0000 (14:07 -0400)]
re PR c++/10179 (alignment attributes are not inherited correctly with empty classes)
PR c++/10179
* class.c (layout_empty_base): Take rli parameter, update
rli->record_align if empty base has user-specified alignment.
(build_base_field): Pass rli to it.
From-SVN: r128871
Paolo Carlini [Fri, 28 Sep 2007 17:52:22 +0000 (17:52 +0000)]
re PR c++/33213 (Broken diagnostic: 'type_pack_expansion' not supported by dump_decl)
cp/
2007-09-28 Paolo Carlini <pcarlini@suse.de>
PR c++/33213
* error.c (dump_decl): Deal with TYPE_PACK_EXPANSION.
testsuite/
2007-09-28 Paolo Carlini <pcarlini@suse.de>
PR c++/33213
* g++.dg/cpp0x/variadic79.C: New.
From-SVN: r128870
Benjamin Kosnik [Fri, 28 Sep 2007 17:49:28 +0000 (17:49 +0000)]
algorithmfwd.h: Spacing.
2007-09-28 Benjamin Kosnik <bkoz@redhat.com>
* include/parallel/algorithmfwd.h: Spacing.
* include/parallel/tags.h: Correct comment.
* testsuite/Makefile.am (AM_MAKEFLAGS, AM_RUNTESTFLAGS): Remove.
* testsuite/Makefile.in: Regenerate.
From-SVN: r128869
Jerry DeLisle [Fri, 28 Sep 2007 16:55:07 +0000 (16:55 +0000)]
re PR fortran/33400 (Formatted read fails if line ends without line break)
2007-09-28 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33400
* io/list_read.c (next_char): Interpret encountering the end of file the
first time as an end of line. Subsequent reads give EOF error.
From-SVN: r128868
Jakub Jelinek [Fri, 28 Sep 2007 16:17:58 +0000 (18:17 +0200)]
re PR c++/31434 (ICE with invalid use of parameter pack in function arg)
PR c++/31434
* tree.c (cp_build_qualified_type_real): Handle TYPE_PACK_EXPANSION
qualification by creating qualified PACK_EXPANSION_PATTERN and
then calling make_pack_expansion on it.
From-SVN: r128867
Paolo Carlini [Fri, 28 Sep 2007 15:10:13 +0000 (15:10 +0000)]
re PR c++/33118 (#'argument_pack_select' not supported by dump_expr#<expression error>)
2007-09-28 Paolo Carlini <pcarlini@suse.de>
PR c++/33118
* error.c (dump_expr): Deal with ARGUMENT_PACK_SELECT.
(dump_type): Use dump_template_argument for TYPE_ARGUMENT_PACK.
(dump_parameters): Just call dump_type for argument packs too.
From-SVN: r128866
Michael Matz [Fri, 28 Sep 2007 13:33:09 +0000 (13:33 +0000)]
re PR rtl-optimization/33552 (wrong code for multiple output asm, wrong df?)
PR rtl-optimization/33552
* gcc.target/i386/pr33552.c: New runtime test.
* gcc.target/i386/strinline.c: New compile time test.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r128865
Michael Matz [Fri, 28 Sep 2007 13:31:50 +0000 (13:31 +0000)]
re PR rtl-optimization/33552 (wrong code for multiple output asm, wrong df?)
PR rtl-optimization/33552
* function.c (match_asm_constraints_1): Check for overlap in
inputs and replace all occurences.
From-SVN: r128864
Jakub Jelinek [Fri, 28 Sep 2007 13:22:18 +0000 (15:22 +0200)]
openmp_stack.f90: Removed.
* gfortran.dg/openmp_stack.f90: Removed.
* testsuite/libgomp.fortran/stack.f90: New test.
From-SVN: r128863
Richard Sandiford [Fri, 28 Sep 2007 09:58:32 +0000 (09:58 +0000)]
mips.c (override_options): Fix comment typo.
gcc/
* config/mips/mips.c (override_options): Fix comment typo.
From-SVN: r128862
Jakub Jelinek [Fri, 28 Sep 2007 09:29:08 +0000 (11:29 +0200)]
re PR c++/31434 (ICE with invalid use of parameter pack in function arg)
PR c++/31434
* tree.c (cp_build_qualified_type_real): Handle TYPE_PACK_EXPANSION
qualification by creating qualified PACK_EXPANSION_PATTERN and
then calling make_pack_expansion on it.
* g++.dg/cpp0x/variadic80.C: New test.
From-SVN: r128861
Jie Zhang [Fri, 28 Sep 2007 09:17:05 +0000 (09:17 +0000)]
config.gcc (bfin*-linux-uclibc*): Set extra_parts to "crtbegin.o crtbeginS.o crtend.o crtendS.o".
* config.gcc (bfin*-linux-uclibc*): Set extra_parts
to "crtbegin.o crtbeginS.o crtend.o crtendS.o".
* config/bfin/t-bfin-linux (crti.o): Don't build.
(crtn.o): Likewise.
(EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o.
* config/bfin/t-bfin-uclinux (crti.o): Don't build.
(crtn.o): Likewise.
(EXTRA_MULTILIB_PARTS): Remove crti.o and crtn.o.
From-SVN: r128860
Ollie Wild [Fri, 28 Sep 2007 04:25:54 +0000 (04:25 +0000)]
varasm.c (compare_constant): Removed call to lang_hooks.expand_constant.
gcc/
* varasm.c (compare_constant): Removed call to
lang_hooks.expand_constant.
(copy_constants): Removed call to lang_hooks.expand_constant.
(compute_reloc_for_constant): Removed call to
lang_hooks.expand_constant.
(output_addressed_constants): Removed call to
lang_hooks.expand_constant.
(constructor_static_from_elts_p): Removed call to
lang_hooks.expand_constant.
(output_constant): Removed calls to lang_hooks.expand_constant.
* langhooks.h (struct lang_hooks): Removed field expand_constant.
* langhooks-def.h (lhd_return_tree): Removed.
(LANG_HOOKS_EXPAND_CONSTANT): Removed.
(LANG_HOOKS_INITIALIZER): Removed LANG_HOOKS_EXPAND_CONSTANT.
* langhooks.c (lhd_return_tree): Removed.
gcc/cp/
* typeck2.c (digest_init): Call cplus_expand_constant after
convert_for_initialization.
* cp-objcp-common.h (LANG_HOOKS_EXPAND_CONSTANT): Removed.
* expr.c (cplus_expand_constant): Updated function description.
From-SVN: r128859
Jerry DeLisle [Fri, 28 Sep 2007 03:04:57 +0000 (03:04 +0000)]
namelist_38.f90: Delete test for revertion of r128057.
2007-09-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
* gfortran.dg/namelist_38.f90: Delete test for revertion of
r128057.
From-SVN: r128858
Jerry DeLisle [Fri, 28 Sep 2007 02:57:41 +0000 (02:57 +0000)]
re PR libfortran/33421 (Weird quotation of namelist output of character arrays)
2007-09-27 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR libfortran/33421
* io/list_read.c (read_character): Revert r128057.
From-SVN: r128857
Andrew Pinski [Fri, 28 Sep 2007 01:02:30 +0000 (01:02 +0000)]
re PR rtl-optimization/7003 ([ppc] address of array loaded int register twice without any need)
2007-09-27 Andrew Pinski <andrew_pinski@playstation.sony.com>
PR middle-end/7003
* gcc.target/powerpc/gcse-1.c: New test.
From-SVN: r128856
John David Anglin [Fri, 28 Sep 2007 00:54:29 +0000 (00:54 +0000)]
re PR middle-end/33436 (Bad constant output with TARGET_ASM_ALIGNED_DI_OP)
PR middle-end/33436
* expr.c (emit_group_load_1): Split constant double when destination
length is half source length.
From-SVN: r128855
Kaveh R. Ghazi [Fri, 28 Sep 2007 00:41:05 +0000 (00:41 +0000)]
module.c (mio_expr): Avoid -Wcast-qual warning.
* module.c (mio_expr): Avoid -Wcast-qual warning.
From-SVN: r128854
GCC Administrator [Fri, 28 Sep 2007 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r128852
Tobias Schlüter [Thu, 27 Sep 2007 21:27:51 +0000 (23:27 +0200)]
arith.c (reduce_binary_aa): Fix capitalization.
fortran/
* arith.c (reduce_binary_aa): Fix capitalization.
* check.c (gfc_check_dot_product): Likewise.
(gfc_check_matmul): Likewise.
* expr.c (gfc_check_conformance): Likewise.
(gfc_check_assign): Likewise.
(gfc_default_initializer): Simplify logic.
* trans.c (gfc_msg_bounds): Make const.
(gfc_msg_fault): Likewise.
(gfc_msg_wrong_return): Likewise.
* trans.h: Add const to corresponding extern declarations.
testsuite/
* gfortran.dg/array_initializer_3.f90: Adapt error annotations for
fixed capitalizations.
* gfortran.dg/compliant_elemental_intrinsics_1.f90: Likewise.
* gfortran.dg/compliant_elemental_intrinsics_2.f90: Likewise.
* gfortran.dg/elemental_subroutine_4.f90: Likewise.
* gfortran.dg/intrinsic_argument_conformance_1.f90: Likewise.
* gfortran.dg/maxloc_shape_1.f90: Likewise.
* gfortran.dg/maxval_maxloc_conformance_1.f90: Likewise.
* gfortran.dg/min_max_conformance.f90: Likewise.
From-SVN: r128849
Richard Sandiford [Thu, 27 Sep 2007 20:17:17 +0000 (20:17 +0000)]
mips.h (PTF_AVOID_BRANCHLIKELY): New macro.
gcc/
* config/mips/mips.h (PTF_AVOID_BRANCHLIKELY): New macro.
(mips_cpu_info): Add tune_flags.
(GENERATE_BRANCHLIKELY): Remove TARGET_SR71K check.
* config/mips/mips.c (mips_cpu_info_table): Add tune_flags fields.
Remove end marker.
(override_options): Remove deprecation code. Use branch-likely
instructions for optimize_size or if the tuning flags do not
suggest otherwise. Tweak warning.
(mips_matching_cpu_name_p, mips_parse_cpu): Use ARRAY_SIZE.
From-SVN: r128848
Richard Sandiford [Thu, 27 Sep 2007 20:10:15 +0000 (20:10 +0000)]
c99-tgmath-1.c: Require c99_runtime and add the associated options.
gcc/testsuite/
* gcc.dg/c99-tgmath-1.c: Require c99_runtime and add the associated
options.
* gcc.dg/c99-tgmath-2.c: Likewise.
* gcc.dg/c99-tgmath-3.c: Likewise.
* gcc.dg/c99-tgmath-4.c: Likewise.
From-SVN: r128847
Matthias Klose [Thu, 27 Sep 2007 19:56:06 +0000 (19:56 +0000)]
Fix speling error in previous commit:
* config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
multilib osdirname if it exists.
* config/rs6000/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
From-SVN: r128846
Matthias Klose [Thu, 27 Sep 2007 19:08:06 +0000 (19:08 +0000)]
t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the multilib osdirname if it exists.
2007-09-27 Matthias Klose <doko@ubuntu.com>
* config/i386/t-linux64 (MULTILIB_OSDIRNAMES): Use ../lib32 as the
multilib osdirname if it exists.
* config/rs6000/t-linux64 (MULTILIB_OSDIRNAMES): Likewise.
From-SVN: r128845
Jason Merrill [Thu, 27 Sep 2007 18:54:06 +0000 (14:54 -0400)]
decl2.c (is_late_template_attribute): Don't crash on unknown attribute.
* decl2.c (is_late_template_attribute): Don't crash on unknown
attribute.
From-SVN: r128844
Paul Thomas [Thu, 27 Sep 2007 18:39:55 +0000 (18:39 +0000)]
re PR fortran/33568 (ICE with ANINT (with KIND and an array))
2007-09-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33568
* trans-intrinsic.c (gfc_conv_intrinsic_aint): Allow for the
possibility of the optional KIND argument by making arg
an array, counting the number of arguments and using arg[0].
2007-09-27 Paul Thomas <pault@gcc.gnu.org>
PR fortran/33568
* gfortran.dg/anint_1.f90: New test.
From-SVN: r128843
Benjamin Kosnik [Thu, 27 Sep 2007 18:06:10 +0000 (18:06 +0000)]
testsuite_hooks.cc (set_memory_limits): Adjust x86_64 virtual memory setting for libgomp.
2007-09-27 Benjamin Kosnik <bkoz@redhat.com>
* testsuite/util/testsuite_hooks.cc (set_memory_limits): Adjust
x86_64 virtual memory setting for libgomp.
From-SVN: r128842
H.J. Lu [Thu, 27 Sep 2007 17:47:23 +0000 (17:47 +0000)]
Makefile.in (dfp-filenames): Replace decimal_globals...
libgcc/
2007-09-27 H.J. Lu <hongjiu.lu@intel.com>
* Makefile.in (dfp-filenames): Replace decimal_globals,
decimal_data, binarydecimal and convert_data with
bid_decimal_globals, bid_decimal_data, bid_binarydecimal
and bid_convert_data, respectively.
libgcc/config/libbid/
2007-09-27 H.J. Lu <hongjiu.lu@intel.com>
* bid128_fromstring.c: Removed.
* bid_dpd.c: New from libbid 2007-09-26.
* bid128_to_int16.c: Likewise.
* bid128_to_int8.c: Likewise.
* bid128_to_uint8.c: Likewise.
* bid128_to_uint16.c: Likewise.
* bid64_to_int16.c: Likewise.
* bid64_to_int8.c: Likewise.
* bid64_to_uint16.c: Likewise.
* bid64_to_uint8.c: Likewise.
* bid128_2_str.h: Updated from libbid 2007-09-26.
* bid128_2_str_macros.h: Likewise.
* bid128_2_str_tables.c: Likewise.
* bid128_add.c: Likewise.
* bid128.c: Likewise.
* bid128_compare.c: Likewise.
* bid128_div.c: Likewise.
* bid128_fma.c: Likewise.
* bid128_logb.c: Likewise.
* bid128_minmax.c: Likewise.
* bid128_mul.c: Likewise.
* bid128_next.c: Likewise.
* bid128_noncomp.c: Likewise.
* bid128_quantize.c: Likewise.
* bid128_rem.c: Likewise.
* bid128_round_integral.c: Likewise.
* bid128_scalb.c: Likewise.
* bid128_sqrt.c: Likewise.
* bid128_string.c: Likewise.
* bid128_to_int32.c: Likewise.
* bid128_to_int64.c: Likewise.
* bid128_to_uint32.c: Likewise.
* bid128_to_uint64.c: Likewise.
* bid32_to_bid128.c: Likewise.
* bid32_to_bid64.c: Likewise.
* bid64_add.c: Likewise.
* bid64_compare.c: Likewise.
* bid64_div.c: Likewise.
* bid64_fma.c: Likewise.
* bid64_logb.c: Likewise.
* bid64_minmax.c: Likewise.
* bid64_mul.c: Likewise.
* bid64_next.c: Likewise.
* bid64_noncomp.c: Likewise.
* bid64_quantize.c: Likewise.
* bid64_rem.c: Likewise.
* bid64_round_integral.c: Likewise.
* bid64_scalb.c: Likewise.
* bid64_sqrt.c: Likewise.
* bid64_string.c: Likewise.
* bid64_to_bid128.c: Likewise.
* bid64_to_int32.c: Likewise.
* bid64_to_int64.c: Likewise.
* bid64_to_uint32.c: Likewise.
* bid64_to_uint64.c: Likewise.
* bid_b2d.h: Likewise.
* bid_binarydecimal.c: Likewise.
* bid_conf.h: Likewise.
* bid_convert_data.c: Likewise.
* bid_decimal_data.c: Likewise.
* bid_decimal_globals.c: Likewise.
* bid_div_macros.h: Likewise.
* bid_flag_operations.c: Likewise.
* bid_from_int.c: Likewise.
* bid_functions.h: Likewise.
* bid_gcc_intrinsics.h: Likewise.
* bid_inline_add.h: Likewise.
* bid_internal.h: Likewise.
* bid_round.c: Likewise.
* bid_sqrt_macros.h: Likewise.
* _addsub_dd.c: Likewise.
* _addsub_sd.c: Likewise.
* _addsub_td.c: Likewise.
* _dd_to_df.c: Likewise.
* _dd_to_di.c: Likewise.
* _dd_to_sd.c: Likewise.
* _dd_to_sf.c: Likewise.
* _dd_to_si.c: Likewise.
* _dd_to_td.c: Likewise.
* _dd_to_tf.c: Likewise.
* _dd_to_udi.c: Likewise.
* _dd_to_usi.c: Likewise.
* _dd_to_xf.c: Likewise.
* _df_to_dd.c: Likewise.
* _df_to_sd.c: Likewise.
* _df_to_td.c: Likewise.
* _di_to_dd.c: Likewise.
* _di_to_sd.c: Likewise.
* _di_to_td.c: Likewise.
* _div_dd.c: Likewise.
* _div_sd.c: Likewise.
* _div_td.c: Likewise.
* _eq_dd.c: Likewise.
* _eq_sd.c: Likewise.
* _eq_td.c: Likewise.
* _ge_dd.c: Likewise.
* _ge_sd.c: Likewise.
* _ge_td.c: Likewise.
* _gt_dd.c: Likewise.
* _gt_sd.c: Likewise.
* _gt_td.c: Likewise.
* _isinfd128.c: Likewise.
* _isinfd32.c: Likewise.
* _isinfd64.c: Likewise.
* _le_dd.c: Likewise.
* _le_sd.c: Likewise.
* _le_td.c: Likewise.
* _lt_dd.c: Likewise.
* _lt_sd.c: Likewise.
* _lt_td.c: Likewise.
* _mul_dd.c: Likewise.
* _mul_sd.c: Likewise.
* _mul_td.c: Likewise.
* _ne_dd.c: Likewise.
* _ne_sd.c: Likewise.
* _ne_td.c: Likewise.
* _sd_to_dd.c: Likewise.
* _sd_to_df.c: Likewise.
* _sd_to_di.c: Likewise.
* _sd_to_sf.c: Likewise.
* _sd_to_si.c: Likewise.
* _sd_to_td.c: Likewise.
* _sd_to_tf.c: Likewise.
* _sd_to_udi.c: Likewise.
* _sd_to_usi.c: Likewise.
* _sd_to_xf.c: Likewise.
* _sf_to_dd.c: Likewise.
* _sf_to_sd.c: Likewise.
* _sf_to_td.c: Likewise.
* _si_to_dd.c: Likewise.
* _si_to_sd.c: Likewise.
* _si_to_td.c: Likewise.
* _td_to_dd.c: Likewise.
* _td_to_df.c: Likewise.
* _td_to_di.c: Likewise.
* _td_to_sd.c: Likewise.
* _td_to_sf.c: Likewise.
* _td_to_si.c: Likewise.
* _td_to_tf.c: Likewise.
* _td_to_udi.c: Likewise.
* _td_to_usi.c: Likewise.
* _td_to_xf.c: Likewise.
* _tf_to_dd.c: Likewise.
* _tf_to_sd.c: Likewise.
* _tf_to_td.c: Likewise.
* _udi_to_dd.c: Likewise.
* _udi_to_sd.c: Likewise.
* _udi_to_td.c: Likewise.
* _unord_dd.c: Likewise.
* _unord_sd.c: Likewise.
* _unord_td.c: Likewise.
* _usi_to_dd.c: Likewise.
* _usi_to_sd.c: Likewise.
* _usi_to_td.c: Likewise.
* _xf_to_dd.c: Likewise.
* _xf_to_sd.c: Likewise.
* _xf_to_td.c: Likewise.
2007-09-27 H.J. Lu <hongjiu.lu@intel.com>
* b2d.h: Renamed to ...
* bid_b2d.h: This.
* bid128_to_string.c: Renamed to ...
* bid128_string.c: This.
* bid_intrinsics.h: Renamed to ...
* bid_gcc_intrinsics.h: This.
* bid_string.c: Renamed to ...
* bid64_string.c: This.
* binarydecimal.c: Renamed to ...
* bid_decimal_globals.c: This.
* convert_data.c: Renamed to ...
* bid_convert_data.c: This.
* decimal_data.c: Renamed to ...
* bid_decimal_data.c: This.
* decimal_globals.c: Renamed to ...
* bid_decimal_globals.c: This.
* div_macros.h: Renamed to ...
* bid_div_macros.h: This.
* inline_bid_add.h: Renamed to ...
* bid_inline_add.h: This.
* sqrt_macros.h: Renamed to ...
* bid_sqrt_macros.h: This.
From-SVN: r128841
Ian Lance Taylor [Thu, 27 Sep 2007 17:31:34 +0000 (17:31 +0000)]
re PR tree-optimization/33565 (spurious warning: assuming signed overflow does not occur when assuming that (X + c) >= X is always true)
./: PR tree-optimization/33565
* tree-ssa-loop-ch.c (copy_loop_headers): Set TREE_NO_WARNING on
assignments of comparisons.
* tree-ssa-sccvn.c (simplify_binary_expression): Add stmt
parameter. Change caller. Defer overflow warnings around call to
fold_binary.
* fold-const.c (fold_undefer_overflow_warnings): Don't warn if
TREE_NO_WARNING is set on the statement.
* tree-ssa-forwprop.c
(tree_ssa_forward_propagate_single_use_vars): Don't test
TREE_NO_WARNING when calling fold_undefer_overflow_warnings.
* tree-cfg.c (fold_cond_expr_cond): Likewise.
testsuite/:
PR tree-optimization/33565
* gcc.dg/Wstrict-overflow-20.c: New test.
From-SVN: r128840
Eric Botcazou [Thu, 27 Sep 2007 16:28:50 +0000 (16:28 +0000)]
Mapped location support
Mapped location support
* back_end.adb (Call_Back_End): Pass information about source
files instead of units to gigi.
* gigi.h (struct File_Info_Type): New.
(gigi): Rename and change type of number_units parameter, change
type of file_info_ptr parameter.
* trans.c (number_files): New global variable.
(gigi): Rename and change type of number_units parameter, change
type of file_info_ptr parameter.
If mapped location support is enabled, create the isomorphic mapping
between source files and line maps.
(Sloc_to_locus): If mapped location support is enabled, translate
source location into mapped location.
(annotate_with_node): Rename into set_expr_location_from_node.
Call set_expr_location instead of annotate_with_locus.
(Pragma_to_gnu): Adjust for above change.
(Loop_Statement_to_gnu): Likewise.
(call_to_gnu): Likewise.
(Handled_Sequence_Of_Statements_to_gnu): Likewise.
(gnat_to_gnu): Likewise.
(add_stmt_with_node): Likewise.
(add_cleanup): Likewise.
* utils.c (gnat_init_decl_processing): Do not set input_line.
From-SVN: r128839
Joseph Myers [Thu, 27 Sep 2007 14:01:16 +0000 (15:01 +0100)]
rs6000.c (rs6000_legitimize_address): Do not reduce offset by units of 0x10000 for SPE vector modes or modes used...
* config/rs6000/rs6000.c (rs6000_legitimize_address): Do not
reduce offset by units of 0x10000 for SPE vector modes or modes
used with E500 double instructions.
From-SVN: r128837
Francois-Xavier Coudert [Thu, 27 Sep 2007 13:39:26 +0000 (13:39 +0000)]
openmp_stack.f90: Fix typo.
* gfortran.dg/openmp_stack.f90: Fix typo.
* gfortran.dg/recursive_stack.f90: Fix typo.
From-SVN: r128834
Paolo Bonzini [Thu, 27 Sep 2007 11:29:10 +0000 (11:29 +0000)]
simplify-rtx.c (comparison_result): New.
2007-09-04 Paolo Bonzini <bonzini@gnu.org>
* simplify-rtx.c (comparison_result): New.
(simplify_const_relational_operation): Use it instead of the five
"equal|op[01]ltu?" variables; consequently remove redundant "else"s.
Improve bounds-checking optimizations; remove subsumed POPCOUNT
optimizations. Extract nonzero_address_p optimizations into a
separate "if" together with optimizations where op1 is const0_rtx.
Optimize comparing an IOR with zero. Simplify op0 RELOP op0 for
floating-point arguments too when appropriate. Hoist test for ABS
outside the final switch statement.
* cse.c (fold_rtx): Don't look for an IOR equivalent of
folded_arg0 if we found a constant equivalent. Remove
transformations done in simplify-rtx.c for "op0 RELOP op0".
From-SVN: r128833
Paolo Carlini [Thu, 27 Sep 2007 09:20:59 +0000 (09:20 +0000)]
re PR c++/33493 (Broken diagnostic: 'dl_expr' not supported by dump_expr)
/cp
2007-09-27 Paolo Carlini <pcarlini@suse.de>
PR c++/33493
* error.c (dump_expr): Deal with DELETE_EXPR and VEC_DELETE_EXPR.
* cxx-pretty-print.c (pp_cxx_delete_expression): Add missing
spaces in the formatting.
* cxx-pretty-print.h (pp_cxx_delete_expression): Declare.
/testsuite
2007-09-27 Paolo Carlini <pcarlini@suse.de>
PR c++/33493
* g++.dg/template/error31.C: New.
From-SVN: r128831
Jakub Jelinek [Thu, 27 Sep 2007 07:24:58 +0000 (09:24 +0200)]
builtins.c (expand_builtin, [...]): Use new %K format string specifier for diagnostics.
* builtins.c (expand_builtin, expand_builtin_object_size,
expand_builtin_memory_chk, maybe_emit_chk_warning,
maybe_emit_sprintf_chk_warning): Use new %K format string specifier
for diagnostics.
* expr.c (expand_expr_real_1): Likewise.
* langhooks-def.h (struct diagnostic_info): Add forward decl.
(lhd_print_error_function): Add third argument.
* langhooks.h (struct diagnostic_info): Add forward decl.
(struct lang_hooks): Add third argument to print_error_function.
* diagnostic.h (diagnostic_info): Add abstract_origin field.
(diagnostic_last_function_changed, diagnostic_set_last_function): Add
second argument.
(diagnostic_report_current_function): Likewise.
* toplev.c (announce_function): Pass NULL as second argument to
diagnostic_set_last_function.
* diagnostic.c (diagnostic_report_current_function): Add second
argument, pass it as third argument to lang_hooks.print_error_function.
(default_diagnostic_starter): Pass DIAGNOSTIC as second argument
to diagnostic_report_current_function.
(diagnostic_report_diagnostic): Initialize diagnostic->abstract_origin
and message.abstract_origin.
(verbatim): Initialize abstract_origin.
* pretty-print.h (text_info): Add abstract_origin field.
* pretty-print.c (pp_base_format): Handle %K.
* langhooks.c (lhd_print_error_function): Add third argument. If
diagnostic->abstract_origin, print virtual backtrace.
* c-format.c (gcc_diag_char_table, gcc_tdiag_char_table,
gcc_cdiag_char_table, gcc_cxxdiag_char_table): Support %K.
(init_dynamic_diag_info): Likewise.
cp/
* error.c (cxx_print_error_function): Add third argument, pass
it over to lhd_print_error_function.
(cp_print_error_function): If diagnostic->abstract_origin, print
virtual backtrace.
* cp-tree.h (struct diagnostic_info): New forward decl.
(cxx_print_error_function): Add third argument.
java/
* lang.c (java_print_error_function): Add third argument.
testsuite/
* lib/prune.exp: Prune also "^In function .*$" lines and
"^ inlined from .*$" lines.
From-SVN: r128830
GCC Administrator [Thu, 27 Sep 2007 00:16:57 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r128828
Francois-Xavier Coudert [Wed, 26 Sep 2007 22:27:16 +0000 (22:27 +0000)]
re PR libfortran/30780 (FPE in CPU_TIME (and possibly others) with -ffpe-trap=underflow)
PR fortran/30780
* invoke.texi: Add note to -ffpe-trap option. Fix typos.
From-SVN: r128825
Benjamin Kosnik [Wed, 26 Sep 2007 17:04:06 +0000 (17:04 +0000)]
stl_algo.h: Add return type information to comments.
2007-09-26 Benjamin Kosnik <bkoz@redhat.com>
* include/bits/stl_algo.h: Add return type information to comments.
* include/bits/algorithmfwd.h: Formatting.
* testsuite/util/testsuite_hooks.h (NonDefaultConstructible): Move..
* testsuite/util/testsuite_api.h: ...here. Add necessary operators
for use in testing chapters 25 and 26.
* testsuite/util/testsuite_character.h: Same.
* testsuite/25_algorithms/*/requirements/explicit_instantiation/
2.cc, pod.cc: New.
* testsuite/26_numerics/accumulate, adjacent_difference, inner_product,
partial_sum/requirements/explicit_instantiation/2.cc, pod.cc: New.
* testsuite/26_numerics/numeric_arrays/*: Move contents into
testsuite/26_numerics.
* testsuite/26_numerics/numeric_operations: Same.
* testsuite/23_containers/*/requirements/explicit_instantiation/2.cc:
Adjust includes from testsuite_eh.h to testsuite_api.h.
Co-Authored-By: Chalathip Thumkanon <chalathip@gmail.com>
From-SVN: r128822
David Daney [Wed, 26 Sep 2007 16:45:39 +0000 (16:45 +0000)]
re PR target/33479 (SyncTest Intermittent failing on MIPS)
2007-09-26 David Daney <ddaney@avtrex.com>
PR target/33479
* config/mips/mips.md (sync_compare_and_swap<mode>, sync_old_add<mode>,
sync_new_add<mode>, sync_old_<optab><mode>, sync_new_<optab><mode>,
sync_old_nand<mode>, sync_new_nand<mode>,
sync_lock_test_and_set<mode>): Fix '&' constraint modifiers.
Update length attributes.
(sync_add<mode>, sync_sub<mode>, sync_old_sub<mode>,
sync_new_sub<mode>, sync_<optab><mode>, sync_nand<mode>): Update
length attributes.
* config/mips/mips.h (MIPS_COMPARE_AND_SWAP, MIPS_SYNC_OP,
MIPS_SYNC_OLD_OP, MIPS_SYNC_NEW_OP, MIPS_SYNC_NAND,
MIPS_SYNC_OLD_NAND, MIPS_SYNC_NEW_NAND, MIPS_SYNC_EXCHANGE): Add
post-loop sync.
From-SVN: r128821
Richard Guenther [Wed, 26 Sep 2007 15:31:50 +0000 (15:31 +0000)]
re PR tree-optimization/33563 (DSE removes non-dead store)
2007-09-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/33563
* tree-ssa-dse.c (get_use_of_stmt_lhs): Rename to ...
(get_kill_of_stmt_lhs): ... this. Re-structure. Handle
aggregate stores.
(dse_optimize_stmt): Call get_kill_of_stmt_lhs instead of
get_use_of_stmt_lhs.
* gcc.dg/torture/pr33563.c: New testcase.
From-SVN: r128815
Arnaud Charlet [Wed, 26 Sep 2007 13:11:38 +0000 (15:11 +0200)]
Resync.
From-SVN: r128812
Joseph Myers [Wed, 26 Sep 2007 12:32:27 +0000 (13:32 +0100)]
re PR c/25309 (ICE on initialization of a huge array)
PR c/25309
* c-common.c (complete_array_type): Diagnose too-large arrays and
set type to error_mark_node.
testsuite:
* gcc.dg/large-size-array-2.c: Expect diagnostic for too-large
array.
* gcc.dg/large-size-array-4.c: New. Copy of large-size-array-2.c
without -O2.
From-SVN: r128811
Richard Guenther [Wed, 26 Sep 2007 11:55:17 +0000 (11:55 +0000)]
re PR tree-optimization/30375 (tree-ssa-dse incorrectly removes struct initialization)
2007-09-26 Richard Guenther <rguenther@suse.de>
PR tree-optimization/30375
PR tree-optimization/33560
* tree-ssa-dse.c (get_use_of_stmt_lhs): Give up on uses
with calls.
Revert
2006-05-22 Aldy Hernandez <aldyh@redhat.com>
* tree-ssa-dse.c (aggregate_vardecl_d): New.
(dse_global_data): Add aggregate_vardecl field.
(dse_possible_dead_store_p): New.
Add prev_defvar variable.
Allow immediate uses and previous immediate uses to differ
if they are setting different parts of the whole.
(get_aggregate_vardecl): New.
(dse_record_partial_aggregate_store): New.
(dse_whole_aggregate_clobbered_p): New.
(dse_partial_kill_p): New.
Call dse_maybe_record_aggregate_store().
When checking whether a STMT and its USE_STMT refer to the
same memory address, check also for partial kills that clobber
the whole.
Move some variable definitions to the block where they are used.
(aggregate_vardecl_hash): New.
(aggregate_vardecl_eq): New.
(aggregate_vardecl_free): New.
(aggregate_whole_store_p): New.
(tree_ssa_dse): Initialize and free aggregate_vardecl.
Mark which aggregate stores we care about.
* gcc.dg/tree-ssa/complex-4.c: XFAIL.
* gcc.dg/tree-ssa/complex-5.c: Likewise.
* gcc.dg/tree-ssa/ssa-dse-9.c: Likewise.
* gcc.dg/torture/pr30375.c: New testcase.
* gcc.dg/torture/pr33560.c: New testcase.
* gcc.dg/tree-ssa/pr30375.c: Likewise.
From-SVN: r128810
Vincent Celier [Wed, 26 Sep 2007 10:47:19 +0000 (12:47 +0200)]
makegpr.adb (Link_Executables): Do not fail when the root project has no sources, but is an extending project.
2007-09-26 Vincent Celier <celier@adacore.com>
* makegpr.adb (Link_Executables): Do not fail when the root project has
no sources, but is an extending project.
From-SVN: r128809
Sergey Rybin [Wed, 26 Sep 2007 10:47:11 +0000 (12:47 +0200)]
vms_data.ads: Revise gnatmetric qualifiers.
2007-09-26 Sergey Rybin <rybin@adacore.com>
* vms_data.ads: Revise gnatmetric qualifiers.
Add qualified for the new gnatbind option '-y'
* gnat_ugn.texi: Revise the gnatmetric section.
Add entry for new gnatbind option '-y'.
* gnat_rm.texi: Minor spelling correction.
Document restriction on overlaying controlled types
From-SVN: r128808
Robert Dewar [Wed, 26 Sep 2007 10:46:59 +0000 (12:46 +0200)]
s-wchstw.adb: provide messages for run time unit exceptions
2007-09-26 Robert Dewar <dewar@adacore.com>
* s-wchstw.adb: provide messages for run time unit exceptions
* a-witeio.adb: Minor reformatting
* exp_ch13.adb: Minor reformatting
From-SVN: r128807
Vincent Celier [Wed, 26 Sep 2007 10:46:51 +0000 (12:46 +0200)]
snames.adb, snames.ads: Change Include_Option to Include_Switches
2007-09-26 Vincent Celier <celier@adacore.com>
* snames.adb, snames.ads: Change Include_Option to Include_Switches
From-SVN: r128806
Robert Dewar [Wed, 26 Sep 2007 10:46:43 +0000 (12:46 +0200)]
sem_warn.adb (Check_References): Catch more cases of unreferenced packages.
2007-09-26 Robert Dewar <dewar@adacore.com>
* sem_warn.adb (Check_References): Catch more cases of unreferenced
packages.
From-SVN: r128805
Ed Schonberg [Wed, 26 Sep 2007 10:46:30 +0000 (12:46 +0200)]
sem_res.adb (Resolve_Call): If the call is dispatching...
2007-09-26 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Resolve_Call): If the call is dispatching, generate the
proper kind of reference to the primitive operation, for better source
navigation.
(Valid_Conversion): A tagged conversion is legal if both operands are
tagged.
From-SVN: r128804
Ed Schonberg [Wed, 26 Sep 2007 10:46:22 +0000 (12:46 +0200)]
sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution rule for qualified expressions properly...
2007-09-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution
rule for qualified expressions properly, to detect improper conversions
and resolve some cases of overloading.
From-SVN: r128803
Ed Schonberg [Wed, 26 Sep 2007 10:46:08 +0000 (12:46 +0200)]
sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct ancestor of the derived type...
2007-09-26 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct
ancestor of the derived type, the operations are inherited from the
primary dispatch table of the parent.
(OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls
when the context is an explicit type conversion.
From-SVN: r128802
Robert Dewar [Wed, 26 Sep 2007 10:46:00 +0000 (12:46 +0200)]
sem_attr.adb (Analyze_Access_Attribute): Fix missing set of Address_Taken.
2007-09-26 Robert Dewar <dewar@adacore.com>
* sem_attr.adb (Analyze_Access_Attribute): Fix missing set of
Address_Taken.
From-SVN: r128801