Eric Botcazou [Sun, 25 Jul 2010 21:32:16 +0000 (21:32 +0000)]
re PR target/44484 (revision 160260 caused sparc64 testsuite failures)
PR target/44484
* config/sparc/predicates.md (memory_reg_operand): Delete.
* config/sparc/sync.md (sync_compare_and_swap): Minor tweaks.
(*sync_compare_and_swap): Encode the address form in the pattern.
(*sync_compare_and_swapdi_v8plus): Likewise.
From-SVN: r162520
Thomas Koenig [Sun, 25 Jul 2010 19:31:37 +0000 (19:31 +0000)]
re PR fortran/40628 (Assignment using "= trim(string)": Optimize "trim" away)
2010-07-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/40628
* Make-lang.in: Add fortran/frontend-passes.o.
* gfortran.h: Add prototype for gfc_run_passes.
* resolve.c (gfc_resolve): Call gfc_run_passes.
* frontend-passes.c: New file.
2010-07-25 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/40628
* trim_optimize_1.f90: New test.
* character_comparision_1.f90: New test.
From-SVN: r162519
Jerry DeLisle [Sun, 25 Jul 2010 19:10:09 +0000 (19:10 +0000)]
re PR fortran/42852 (gfortran -Wall warns about truncated lines when only a continuation character is truncated)
2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/42852
* scanner.c (gfc_next_char_literal): Enable truncation warning for
free-form '&'.
From-SVN: r162518
Jerry DeLisle [Sun, 25 Jul 2010 19:07:58 +0000 (19:07 +0000)]
Fix out of order log entry from 162516 commit.
From-SVN: r162517
Mikael Morin [Sun, 25 Jul 2010 17:01:15 +0000 (17:01 +0000)]
re PR fortran/44660 (ICE in resolve_equivalence())
2010-07-25 Mikael Morin <mikael@gcc.gnu.org>
PR fortran/44660
* gfortran.h (gfc_namespace): New field old_equiv.
(gfc_free_equiv_until): New prototype.
* match.c (gfc_free_equiv_until): New, renamed from gfc_free_equiv with
a parameterized stop condition.
(gfc_free_equiv): Use gfc_free_equiv_until.
* parse.c (next_statement): Save equivalence list.
(reject_statement): Restore equivalence list.
From-SVN: r162516
Jonathan Wakely [Sun, 25 Jul 2010 16:44:38 +0000 (16:44 +0000)]
re PR libstdc++/45060 (Wreorder warning in bits/hashtable.h)
2010-07-25 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/45060
* include/bits/hashtable.h (_Hashtable::_Hashtable(_Hashtable&&)):
Reorder mem-initializers.
From-SVN: r162515
Jerry DeLisle [Sun, 25 Jul 2010 15:35:04 +0000 (15:35 +0000)]
re PR fortran/42852 (gfortran -Wall warns about truncated lines when only a continuation character is truncated)
2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/42852
* gfortran.dg/wtruncate_fix.f: New test.
From-SVN: r162514
Jerry DeLisle [Sun, 25 Jul 2010 15:07:45 +0000 (15:07 +0000)]
re PR fortran/42852 (gfortran -Wall warns about truncated lines when only a continuation character is truncated)
2010-07-25 Jerry DeLisle <jvdelisle@gcc.gnu.org>
PR fortran/42852
* scanner.c (gfc_next_char_literal): Move check for truncation earlier
in the function so that it does not get missed by early exits.
(load_line): Add checks for quoted strings and free form comments to
disable warnings on comments. Add check for ampersand as first
character after truncation and don't warn for this case, but warn if
there are subsequent non-whitespace characters.
From-SVN: r162512
H.J. Lu [Sun, 25 Jul 2010 14:54:03 +0000 (14:54 +0000)]
Support "//" as assembler comments.
2010-07-25 H.J. Lu <hongjiu.lu@intel.com>
PR testsuite/45068
* g++.dg/debug/dwarf2/nested-2.C: Support "//" as comments.
From-SVN: r162511
GCC Administrator [Sun, 25 Jul 2010 00:17:57 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r162507
Gerald Pfeifer [Sat, 24 Jul 2010 20:00:49 +0000 (20:00 +0000)]
install.texi (Specific, [...]): Adjust to recent changes.
* doc/install.texi (Specific, *-*-freebsd*): Adjust to recent
changes. Streamline paragraph on compatibility with the system
compiler.
From-SVN: r162503
Richard Guenther [Sat, 24 Jul 2010 16:58:19 +0000 (16:58 +0000)]
re PR lto/43788 (ICE: verify_stmts failed: statement marked for throw, but doesn't)
2010-07-24 Richard Guenther <rguenther@suse.de>
PR lto/43788
* g++.dg/lto/
20100724-1_0.C: New testcase.
From-SVN: r162502
Richard Guenther [Sat, 24 Jul 2010 16:49:38 +0000 (16:49 +0000)]
re PR lto/43212 ([LTO] error: control flow in the middle of basic block)
2010-07-24 Richard Guenther <rguenther@suse.de>
PR lto/43212
* gcc.dg/lto/
20100724-1_0.c: New testcase.
* gcc.dg/lto/
20100724-1_1.c: Likewise.
From-SVN: r162501
Tobias Burnus [Sat, 24 Jul 2010 16:32:11 +0000 (18:32 +0200)]
re PR fortran/40011 (Problems with -fwhole-file)
2010-07-24 Tobias Burnus <burnus@net-b.de>
PR fortran/40011
* parse.c (gfc_parse_file): Do not override
gfc_global_ns_list items.
2010-07-24 Tobias Burnus <burnus@net-b.de>
PR fortran/40011
* gfortran.dg/whole_file_21.f90: New.
* gfortran.dg/integer_exponentiation_3.F90: Use
-ffloat-store only for i?86/x86-64 -m32.
From-SVN: r162500
Steven Bosscher [Sat, 24 Jul 2010 12:37:51 +0000 (12:37 +0000)]
re PR middle-end/45035 (FAIL: gcc.dg/guality/pr36728-2.c)
PR middle-end/45035
* alias.c (true_dependence_1): Fix thinko in merge of old
true_dependence and canon_true_dependence.
From-SVN: r162499
Tobias Burnus [Sat, 24 Jul 2010 07:47:43 +0000 (09:47 +0200)]
entry_13.f90: Use abs() > eps instead of "/=".
2010-07-24 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/entry_13.f90: Use abs() > eps instead of "/=".
* gfortran.dg/integer_exponentiation_3.F90: Use -ffloat-store.
Missed files from previous commit:
* gfortran.dg/func_decl_5.f90: New.
* gfortran.dg/intrinsic_std_6.f90: New.
From-SVN: r162498
Jan Hubicka [Sat, 24 Jul 2010 01:04:29 +0000 (03:04 +0200)]
lto-streamer-out.c (write_symbol): Fix visibilities of external references.
* lto-streamer-out.c (write_symbol): Fix visibilities of external
references.
From-SVN: r162497
GCC Administrator [Sat, 24 Jul 2010 00:17:11 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r162496
Le-Chun Wu [Fri, 23 Jul 2010 22:20:45 +0000 (22:20 +0000)]
Fix violations of self-assignment check in GCC source.
From-SVN: r162492
Tobias Burnus [Fri, 23 Jul 2010 22:15:51 +0000 (00:15 +0200)]
re PR fortran/45045 (Named COMMON with different size: No warning with -fwhole-file)
gcc/fortran/
2010-07-24 Tobias Burnus <burnus@net-b.de>
* options.c (gfc_init_options): Enable -fwhole-file by default.
* interface.c (compare_parameter): Assume a Hollerith constant is
compatible with all other argument types.
libgomp/
2010-07-24 Tobias Burnus <burnus@net-b.de>
* testsuite/libgomp.fortran/appendix-a/a.28.5.f90: Add -w to
silence -fwhole-file warning.
gcc/testsuite/
2010-07-24 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/func_decl_4.f90: Split test into two ...
* gfortran.dg/func_decl_5.f90: ... parts.
* gfortran.dg/common_resize_1.f: xfail two warnings (cf. PR 45045).
* gfortran.dg/bounds_temporaries_1.f90: Add new dg-warning.
* gfortran.dg/global_references_1.f90: Add new dg-warning.
* gfortran.dg/generic_actual_arg.f90: Add new dg-warning.
* gfortran.dg/entry_17.f90: Remove no-longer needed dg-warning.
* gfortran.dg/used_before_typed_4.f90: Add new dg-warning.
* gfortran.dg/bounds_check_strlen_1.f90: Add new dg-warning.
* gfortran.dg/intrinsic_std_1.f90: Split by remove tree dump ...
* gfortran.dg/intrinsic_std_6.f90: ... and create a dump test.
* gfortran.dg/sizeof.f90: Make test valid.
* gfortran.dg/pr20865.f90: Add new dg-error.
* gfortran.dg/integer_exponentiation_2.f90: Add new dg-warnings.
* gfortran.dg/g77/
19990218-0.f: Ditto.
* gfortran.dg/g77/
19990218-1.f: Ditto.
* gfortran.dg/g77/970625-2.f: Ditto.
* gfortran.dg/pr37243.f: Fix function declaration.
* gfortran.dg/use_only_1.f90: Fix implicit typing.
* gfortran.dg/loc_1.f90: Fix pointer datatype.
From-SVN: r162491
Eric Botcazou [Fri, 23 Jul 2010 20:19:55 +0000 (20:19 +0000)]
utils.c (update_pointer_to): In the unconstrained array case, merge the alias set of the old pointer type.
* gcc-interfaces/utils.c (update_pointer_to): In the unconstrained
array case, merge the alias set of the old pointer type.
From-SVN: r162488
Tobias Burnus [Fri, 23 Jul 2010 20:13:07 +0000 (22:13 +0200)]
re PR fortran/44945 (Wrong decl for module vars / FAIL: gfortran.dg/char_array_structure_constructor.f90)
2010-07-23 Tobias Burnus <burnus@net-b.de>
PR fortran/44945
* trans-decl.c (gfc_get_symbol_decl): Use module decl with
-fwhole-file also for derived types.
* trans-types.c (copy_dt_decls_ifequal): Remove static and
rename to gfc_copy_dt_decls_ifequal.
(gfc_get_derived_type): Update call.
* trans-types.h (gfc_copy_dt_decls_ifequal): Add prototype.
2010-07-23 Tobias Burnus <burnus@net-b.de>
PR fortran/44945
* gfortran.dg/char_array_structure_constructor.f90: Add
-fwhole-file as dg-option as it otherwise fails on some
systems.
From-SVN: r162487
Tobias Burnus [Fri, 23 Jul 2010 20:07:30 +0000 (22:07 +0200)]
re PR fortran/45030 (-fwhole-file: Bogus error message with ENTRY and different result types)
2010-07-23 Tobias Burnus <burnus@net-b.de>
PR fortran/45030
* resolve.c (resolve_global_procedure): Properly handle ENTRY.
From-SVN: r162486
Eric Botcazou [Fri, 23 Jul 2010 19:53:29 +0000 (19:53 +0000)]
utils.c (gnat_types_compatible_p): Revert latest change and recurse only for multidimensional array types instead.
* gcc-interface/utils.c (gnat_types_compatible_p): Revert latest change
and recurse only for multidimensional array types instead.
From-SVN: r162485
Marc Glisse [Fri, 23 Jul 2010 19:35:24 +0000 (19:35 +0000)]
re PR bootstrap/44455 (GCC fails to build if MPFR 3.0.0 (Release Candidate) is used)
2010-07-23 Marc Glisse <marc.glisse@normalesup.org>
PR bootstrap/44455
* configure.ac (extra_mpfr_configure_flags): Copy from
extra_mpc_gmp_configure_flags.
* configure: Re-generated.
From-SVN: r162482
Richard Guenther [Fri, 23 Jul 2010 19:30:37 +0000 (19:30 +0000)]
re PR lto/43071 (ICE: SIGSEGV with -fwhopr -fcompare-debug)
2010-07-23 Richard Guenther <rguenther@suse.de>
PR lto/43071
* gcc.c (LINK_COMMAND_SPEC): Filter out -fcompare-debug
for -flto and -fwhopr.
* g++.dg/lto/
20100723-1_0.C: New testcase.
From-SVN: r162481
H.J. Lu [Fri, 23 Jul 2010 18:44:16 +0000 (18:44 +0000)]
Require OSXSAVE for AVX support.
2010-07-23 H.J. Lu <hongjiu.lu@intel.com>
* gcc.target/i386/aes-avx-check.h (main): Require OSXSAVE for
AVX support.
* gcc.target/i386/pclmul-avx-check.h (main): Likewise.
* gcc.target/x86_64/abi/avx/avx-check.h (main): Likewise.
From-SVN: r162480
Kai Tietz [Fri, 23 Jul 2010 18:32:25 +0000 (18:32 +0000)]
re PR preprocessor/41943 (include search path composition is bogus)
2010-07-23 Kai Tietz <kai.tietz@onevision.com>
PR target/41943
* Makefile.in (USER_H_INC_NEXT_PRE,
USER_H_INC_NEXT_POST): New.
(stmp-int-hdrs): Prefix/postfix headers by include_next.
* config.gcc (user_headers_inc_next_pre): New.
(user_headers_inc_next_post): Likewise.
(*-w64-mingw*): Use for float.h post-fixing, and for
stddef.h/stdarg.h pre-fixing by include_next.
* configure.ac (user_headers_inc_next_post): New.
(user_headers_inc_next_pre): New.
* configure: Regenerated.
From-SVN: r162479
Rainer Orth [Fri, 23 Jul 2010 17:58:57 +0000 (17:58 +0000)]
re PR target/18788 ("-pthreads" option with "-shared" does not cause libpthread.so to be linked in.)
libjava:
* configure.ac (*-*-solaris2.8): Use alternate thread library.
Add libthread.
(*-*-solaris2.9): Use libthread.
* configure: Regenerate.
libgomp:
* configure.tgt (*-*-solaris2.[56]*): Removed.
gcc:
* configure.ac: Don't disable TLS on Solaris 8/9 by default
Set tga_func for Solaris 2/x86 resp. SPARC.
Remove duplicate parts of sparc*-sun-solaris2.* TLS check.
(LIB_THREAD_LDFLAGS_SPEC): Define.
(LIB_TLS_SPEC): Define.
Check for required Sun ld version.
* configure: Regenerate.
* config.in: Regenerate.
* config/sol2.h (LIB_SPEC): Use LIB_THREAD_LDFLAGS_SPEC with
-pthread, -threads, LIB_TLS_SPEC with -pthread.
* doc/install.texi (Specific, *-*-solaris2*): Document use of
alternate thread libraries on Solaris 8.
Document TLS patch requirements.
* doc/sourcebuild.texi (Add Options): Sort alphabetically.
Document tls.
PR target/18788
* config/sol2.h (LIB_SPEC): Link with thread libraries even with
-shared.
gcc/testsuite:
* lib/target-supports.exp (add_options_for_tls): New proc.
* g++.dg/tls/static-1.C: Use dg-add-options tls.
* g++.dg/tls/static-1a.cc: Likewise.
* gcc.dg/tls/emutls-1.c: Likewise.
* gcc.dg/tls/opt-11.c: Likewise.
* gcc.dg/tls/opt-12.c: Likewise.
* gcc.dg/tls/pr24428-2.c: Likewise.
* gcc.dg/tls/pr24428.c: Likewise.
* obj-c++.dg/tls/static-1.mm: Likewise.
* obj-c++.dg/torture/tls/thr-init-1.mm: Likewise.
* obj-c++.dg/torture/tls/thr-init-2.mm: Likewise.
* obj-c++.dg/torture/tls/thr-init-3.mm: Likewise.
* objc.dg/torture/tls/thr-init-2.m: Likewise.
* objc.dg/torture/tls/thr-init-3.m: Likewise.
* objc.dg/torture/tls/thr-init.m: Likewise.
* gcc.dg/lto/20090210_0.c: Add -pthread for *-*-solaris2.[89].
From-SVN: r162478
Uros Bizjak [Fri, 23 Jul 2010 17:15:21 +0000 (19:15 +0200)]
loadpre6.c: Cleanup fre dump file.
* gcc.dg/tree-ssa/loadpre6.c: Cleanup fre dump file.
* gcc.dg/ipa/ipa-sra-6.c: Cleanup eipa_sra dump file.
* gcc.dg/ipa/pure-const-2.c: Cleanup local-pure-const1 and
optimized dump files.
From-SVN: r162477
Jakub Jelinek [Fri, 23 Jul 2010 17:04:35 +0000 (19:04 +0200)]
tree.h (struct tree_base): Add nameless_flag bitfield.
* tree.h (struct tree_base): Add nameless_flag bitfield.
(TYPE_NAMELESS, DECL_NAMELESS): Define.
* omp-low.c (create_omp_child_function, scan_omp_parallel,
scan_omp_task, lower_omp_taskreg): Set DECL_NAMELESS and/or
DECL_ARTIFICIAL where needed.
* dwarf2out.c (dwarf2_name): Return NULL if DECL_NAMELESS.
(type_tag): Return NULL if TYPE_NAMELESS or if TYPE_DECL
has DECL_NAMELESS set.
* trans-types.c (gfc_get_array_descriptor_base,
gfc_get_array_type_bounds): Set TYPE_NAMELESS.
* trans-decl.c (gfc_build_qualified_array): Set DECL_NAMELESS
instead of clearing DECL_NAME.
(gfc_build_dummy_array_decl): Set DECL_NAMELESS.
From-SVN: r162476
Jakub Jelinek [Fri, 23 Jul 2010 17:03:16 +0000 (19:03 +0200)]
re PR tree-optimization/45047 (ICE in vectorizable_store)
PR tree-optimization/45047
* gcc.c-torture/compile/pr45047.c: New test.
From-SVN: r162475
Nathan Froyd [Fri, 23 Jul 2010 16:53:48 +0000 (16:53 +0000)]
config.host (powerpc*-eabispe*): Set tmake_file.
* config.host (powerpc*-eabispe*): Set tmake_file.
(powerpc*-eabi*): Likewise.
* config/rs6000/t-ppccomm (EXTRA_PARTS): Add crtbegin, crtend,
crtbeginS, crtendS, crtbeginT.
From-SVN: r162474
Uros Bizjak [Fri, 23 Jul 2010 16:41:39 +0000 (18:41 +0200)]
float-range-3.c: Use "dg-do compile" dejagnu directive instead of dg-compile.
* gcc.dg/float-range-3.c: Use "dg-do compile" dejagnu directive
instead of dg-compile.
* gcc.dg/float-range-4.c: Ditto.
* gcc.dg/float-range-5.c: Ditto.
* gcc.dg/fold-overflow-1.c: Ditto.
* gcc.dg/gomp/sections-4.c: Ditto.
* gcc.dg/transparent-union-1.c: Ditto.
* gcc.dg/transparent-union-2.c: Ditto.
* gcc.target/i386/pr39315-check.c: Ditto.
* g++.dg/gomp/sections-4.C: Ditto.
* g++.dg/template/dtor7.C: Ditto.
* g++.dg/tree-ssa/pr19952.C: Ditto.
* gfortran.dg/derived_constructor_comps_3.f90: Ditto.
* gfortran.dg/graphite/pr42185.f90: Ditto.
* gfortran.dg/namelist_36.f90: Ditto.
* gnat.dg/noreturn1.adb: Ditto.
* gnat.dg/specs/small_alignment.ads: Ditto.
From-SVN: r162470
Martin Jambor [Fri, 23 Jul 2010 16:35:52 +0000 (18:35 +0200)]
re PR tree-optimization/44915 (ICE: SIGSEGV in walk_aliased_vdefs_1.constprop.42 (tree-ssa-alias.c:1707) with -findirect-inlining)
2010-07-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/44915
* ipa-cp.c (cgraph_gate_cp): Also check that optimize is true.
* ipa-inline.c (cgraph_mark_inline_edge): Likewise.
(analyze_function): Likewise.
* testsuite/g++.dg/torture/pr44915.C: New test.
From-SVN: r162469
Martin Jambor [Fri, 23 Jul 2010 16:31:48 +0000 (18:31 +0200)]
re PR tree-optimization/44914 (ICE: in calc_dfs_tree, at dominance.c:395 with -fipa-sra -fnon-call-exceptions)
2010-07-23 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/44914
* tree-sra.c (sra_modify_function_body): Return true if CFG was
changed, add purging dead eh edges.
(ipa_sra_modify_function_body): Return true if CFG was changed,
simplify purging dead eh edges.
(modify_function): Return true if CFG was changed.
(perform_intra_sra): Add TODO_cleanup_cfg to the return value if CFG
was changed.
(ipa_early_sra): Likewise.
* testsuite/g++.dg/tree-ssa/pr44914.C: New test.
From-SVN: r162468
Uros Bizjak [Fri, 23 Jul 2010 15:25:15 +0000 (17:25 +0200)]
* gcc.dg/pr36997.c: Adjust dg-message line number.
From-SVN: r162467
Jie Zhang [Fri, 23 Jul 2010 14:47:46 +0000 (14:47 +0000)]
re PR target/44290 (__naked attribute is broken)
PR target/44290
* attribs.c (decl_attributes): Insert "noinline" and "noclone"
if "naked".
* tree-sra.c (ipa_sra_preliminary_function_checks): Return
false if ! tree_versionable_function_p.
testsuite/
PR target/44290
* gcc.dg/pr44290-1.c: New test.
* gcc.dg/pr44290-2.c: New test.
From-SVN: r162466
H.J. Lu [Fri, 23 Jul 2010 14:37:21 +0000 (07:37 -0700)]
Cast to unsigned long.
2010-07-23 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/45042
* lto-plugin.c (translate): Cast to unsigned long.
From-SVN: r162465
Nathan Froyd [Fri, 23 Jul 2010 14:31:20 +0000 (14:31 +0000)]
builtins.def (BUILT_IN_ARGS_INFO): Remove.
* builtins.def (BUILT_IN_ARGS_INFO): Remove.
* ipa-pure-const.c (special_builtlin_state): Remove
BUILT_IN_ARGS_INFO case.
* tree-stdarg.c (execute_optimize_stdarg): Likewise.
* builtins.c (expand_builtin): Likewise.
(expand_builtin_args_info): Remove.
* doc/tm.texi (__builtin_args_info): Remove.
(__builtin_next_arg): Adjust to not refer to __builtin_args_info.
* doc/tm.text.in: Likewise.
From-SVN: r162463
Paul Thomas [Fri, 23 Jul 2010 14:25:55 +0000 (14:25 +0000)]
re PR fortran/24524 (Fortran dependency checking should reverse loops)
2009-07-23 Paul Thomas <pault@gcc.gnu.org>
PR fortran/24524
* trans-array.c (gfc_init_loopinfo): Initialize the reverse
field.
gfc_trans_scalarized_loop_end: If reverse set in dimension n,
reverse the scalarization loop.
gfc_conv_resolve_dependencies: Pass the reverse field of the
loopinfo to gfc_dep_resolver.
trans-expr.c (gfc_trans_assignment_1): Enable loop reversal for
assignment by resetting loop.reverse.
gfortran.h : Add the gfc_reverse enum.
trans.h : Add the reverse field to gfc_loopinfo.
dependency.c (gfc_check_dependency): Pass null to the new arg
of gfc_dep_resolver.
(gfc_check_section_vs_section): Check for reverse dependencies.
(gfc_dep_resolver): Add reverse argument and deal with the loop
reversal logic.
dependency.h : Modify prototype for gfc_dep_resolver to include
gfc_reverse *.
From-SVN: r162462
Richard Guenther [Fri, 23 Jul 2010 14:01:49 +0000 (14:01 +0000)]
lto-symtab.c (lto_symtab_merge): Use gtc_mode enum values.
2010-07-23 Richard Guenther <rguenther@suse.de>
* lto-symtab.c (lto_symtab_merge): Use gtc_mode enum
values.
(lto_symtab_merge_decls_2): Likewise.
* tree-ssa.c (useless_type_conversion_p): Likewise.
* lto-streamer-in.c (input_gimple_stmt): Likewise.
* gimple.c (gtc_visited2, gtc_ob2): Remove.
(struct type_pair_d): Make same_p an array indexed by mode.
Update comment.
(lookup_type_pair): Update initialization.
(struct sccs): Adjust same_p type.
(gimple_types_compatible_p_1, gtc_visit, gimple_types_compatible_p):
Adjust.
(print_gimple_types_stats): Likewise.
* gimple.h (enum gtc_mode): New.
(gimple_types_compatible_p): Adjust prototype.
From-SVN: r162461
Daniel Jacobowitz [Fri, 23 Jul 2010 13:55:07 +0000 (13:55 +0000)]
dwarf2out.c (dwarf2out_frame_debug): Check for queued saves again after processing insn.
* dwarf2out.c (dwarf2out_frame_debug): Check for queued saves
again after processing insn.
From-SVN: r162460
Jason Merrill [Fri, 23 Jul 2010 13:54:01 +0000 (09:54 -0400)]
re PR c++/45008 (Template code not expanded properly)
PR c++/45008
* g++.dg/abi/mangle44.C: New.
From-SVN: r162459
Uros Bizjak [Fri, 23 Jul 2010 13:45:08 +0000 (15:45 +0200)]
*.c: Do not require sse{,2,3,4} effective target for compile-time only tests.
* gcc.target/i386/*.c: Do not require sse{,2,3,4} effective target
for compile-time only tests.
* gcc.target/i386/pr39315-2.c: Remove redundant sse2 effective
target check.
* gcc.target/i386/pr39315-4.c: Ditto.
* gcc.target/i386/vperm-v4si-1.c: Remove sse_runtime effective
target check. Include sse-os-support.h.
(main): Call check_isa and sse_os_support.
* gcc.target/i386/vperm-v4sf-1.c: Ditto.
* gcc.target/i386/vperm-v4si-2.c (main): Call check_isa.
* gcc.target/i386/vperm-v4sf-2.c: Ditto.
* gcc.target/i386/vperm-v2di.c: Remove sse2_runtime effective
target check. Include sse-os-support.h.
(main): Call check_isa and sse_os_support.
* gcc.target/i386/vperm-v2df.c: Ditto.
From-SVN: r162457
Uros Bizjak [Fri, 23 Jul 2010 11:33:19 +0000 (13:33 +0200)]
target-supports.exp (check_avx_hw_available): New procedure.
* lib/target-supports.exp (check_avx_hw_available): New procedure.
(check_effective_target_avx_runtime): New procedure.
(check_effective_target_sse2_runtime): Add check_effective_target_sse2.
(check_effective_target_sse_runtime): Add check_effective_target_sse.
* gcc.dg/compat/pr38736_main.c: Use avx_runtime effective target.
* gcc.dg/compat/vector-1b_main.c: Ditto. Remove cpuid.h include
and __get_cpuid test.
* gcc.dg/compat/vector-2b_main.c: Ditto.
* gcc.target/i386/avx-check.h (main): Also check bit_OSXSAVE.
* gcc.dg/
20020418-1.c: Do not require sse2 effective target
for compile-time only test.
* gcc.dg/pr32716.c: Ditto.
* gcc.dg/pr34856.c: Ditto.
* gcc.dg/pr36997.c: Ditto.
* gcc.dg/prefetch-loop-arrays-1.c: Ditto.
* gfortran.dg/pr28158.f90: Ditto.
* gfortran.dg/pr30667.f: Ditto.
* gcc.dg/vect/vect.exp: Use check_effective_target_sse2_runtime for
i?86-*-* and x86_64-*-* targets to disable execution on targets
without sse2 runtime support.
* g++.dg/vect/vect.exp: Ditto.
* gfortran.dg/vect/vect.exp: Ditto.
* gcc.dg/pr36584.c: Remove now redundant sse2 effective target check.
* gcc.dg/pr37544.c: Ditto.
* gcc.dg/pr40550.c: Ditto.
* gcc.dg/compat/union-m128-1_main.c: Ditto.
* gcc.dg/compat/vector-1a_main.c: Ditto.
* gcc.dg/compat/vector-2a_main.c: Ditto.
* gcc.dg/torture/pr16104-1.c: Ditto.
* gcc.dg/torture/pr35771-1.c: Ditto.
* gcc.dg/torture/pr35771-2.c: Ditto.
* gcc.dg/torture/pr35771-3.c: Ditto.
* gcc.dg/torture/stackalign/alloca-2.c: Ditto.
* gcc.dg/torture/stackalign/alloca-3.c: Ditto.
* gcc.dg/torture/stackalign/push-1.c: Ditto.
* gcc.dg/torture/stackalign/vararg-3.c: Ditto.
* g++.dg/other/i386-1.C: Ditto.
* g++.dg/other/pr40446.C: Ditto.
From-SVN: r162456
Jie Zhang [Fri, 23 Jul 2010 10:52:43 +0000 (10:52 +0000)]
tree-sra.c (ipa_sra_preliminary_function_checks): Dump proper words when !tree_versionable_function_p.
* tree-sra.c (ipa_sra_preliminary_function_checks): Dump
proper words when !tree_versionable_function_p.
From-SVN: r162453
Rainer Orth [Fri, 23 Jul 2010 10:25:24 +0000 (10:25 +0000)]
* gcc.dg/pr43058.c: Use dg-timeout-factor 4.
From-SVN: r162452
Richard Guenther [Fri, 23 Jul 2010 10:15:27 +0000 (10:15 +0000)]
re PR lto/45037 (lto1 ICEs when linking cns_solve)
2010-07-23 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45037
* tree-ssa-loop-ivopts.c (copy_ref_info): Handle NULL base.
From-SVN: r162451
Daniel Kraft [Fri, 23 Jul 2010 09:53:45 +0000 (11:53 +0200)]
re PR fortran/44709 (BLOCK and GOTO/EXIT/CYCLE)
2010-07-23 Daniel Kraft <d@domob.eu>
PR fortran/44709
* gfortran.h (gfc_find_symtree_in_proc): New method.
* symbol.c (gfc_find_symtree_in_proc): New method.
* match.c (match_exit_cycle): Look for loop name also in parent
namespaces within current procedure.
2010-07-23 Daniel Kraft <d@domob.eu>
PR fortran/44709
* gfortran.dg/exit_1.f08: New test.
* gfortran.dg/exit_2.f08: New test.
From-SVN: r162450
Jie Zhang [Fri, 23 Jul 2010 09:31:36 +0000 (09:31 +0000)]
extend.texi: Remove IP2K from the description of naked attribute.
* doc/extend.texi: Remove IP2K from the description of naked
attribute. Add MCORE instead.
From-SVN: r162449
Andi Kleen [Fri, 23 Jul 2010 05:54:11 +0000 (05:54 +0000)]
Move changelogs to correct files
From-SVN: r162447
Andi Kleen [Fri, 23 Jul 2010 05:33:51 +0000 (05:33 +0000)]
re PR lto/44992 (ld -r breaks LTO)
gcc:
2010-07-10 Andi Kleen <ak@linux.intel.com>
PR lto/44992
* lto-opts.c (lto_write_options): Add NULL file_data argument to
lto_get_section_name.
* lto-section-out.c (lto_destroy_simple_output_block): Likewise.
* lto-streamer-out.c (produce_asm): Likewise.
(copy_function): Likewise.
(produce_symtab): Likewise.
(produce_asm_for_decls): Likewise.
* lto-streamer.c (lto_get_section_name): Add file_data argument.
Rewrite to add random postfix to LTO sections.
* lto-streamer.h (lto_file_decl_data): Add next, id, resolutions.
(lto_get_section_name): Add file_data argument to prototype.
lto:
2010-07-10 Andi Kleen <ak@linux.intel.com>
PR lto/44992
* lto.c: Include splay-tree.h
(lto_resolution_read): Change to walk file_ids tree and parse
extra file_id in resolution file.
(lto_section_with_id): Add.
(create_subid_section_table): Add.
(lwstate): Add.
(lto_create_files_from_ids): Add.
(lto_file_read): Change to handle sub file ids and create list
of file_datas. Add output argument for count.
(get_section_data): Pass file_data to lto_get_section_name.
(lto_flatten_file): Add.
(read_cgraph_and_symbols): Handle linked lists of file_datas.
lto-plugin:
2010-07-10 Andi Kleen <ak@linux.intel.com>
PR lto/44992
* lto-plugin.c (sym_aux): Add.
(plugin_symtab): Remove slots. Add aux and id.
(parse_table_entry): Change to use aux instead of slots.
(LTO_SECTION_PREFIX): Add.
(translate): Improve buffer allocation. Change to append
symbols to existing out buffer.
(get_section): Remove.
(process_symtab): Add.
(free_2): Free symtab->aux.
(write_resolution): Handle aux instead of slots.
Print sub id to resolution file.
(claim_file_handler): Clear lto_file. Replace get_symtab/translate
calls with call to process_symtab.
From-SVN: r162443
Andi Kleen [Fri, 23 Jul 2010 05:26:48 +0000 (05:26 +0000)]
Add changelog for last commit
From-SVN: r162442
Andi Kleen [Fri, 23 Jul 2010 05:25:46 +0000 (05:25 +0000)]
lto-coff.c (hash_name, eq_name): Move.
2010-07-10 Andi Kleen <ak@linux.intel.com>
* lto-coff.c (hash_name, eq_name): Move.
(lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
* lto-elf.c: (hash_name, eq_name): Move.
(lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
* lto-macho.c: (hash_name, eq_name): Move.
(lto_obj_build_section_table): Call lto_obj_create_section_hash_table.
* lto.c: (hash_name, eq_name): Move from lto-*.c
(lto_obj_create_section_hash_table): Add.
(free_with_string): Add.
From-SVN: r162441
Andi Kleen [Fri, 23 Jul 2010 05:24:47 +0000 (05:24 +0000)]
lto-section-in.c (lto_section_name): Synchronize names with lto_get_section_name.
2010-07-10 Andi Kleen <ak@linux.intel.com>
* lto-section-in.c (lto_section_name): Synchronize names
with lto_get_section_name.
From-SVN: r162440
Andi Kleen [Fri, 23 Jul 2010 05:23:50 +0000 (05:23 +0000)]
lto-opts.c (lto_read_file_options): Check for missing section.
2010-07-10 Andi Kleen <ak@linux.intel.com>
* lto-opts.c (lto_read_file_options): Check for missing section.
From-SVN: r162439
Sandra Loosemore [Fri, 23 Jul 2010 02:18:07 +0000 (22:18 -0400)]
re PR tree-optimization/39839 (loop invariant motion causes stack spill)
2010-07-22 Sandra Loosemore <sandra@codesourcery.com>
PR tree-optimization/39839
gcc/testsuite/
* gcc.target/arm/pr39839.c: New test case.
From-SVN: r162438
GCC Administrator [Fri, 23 Jul 2010 00:17:45 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r162437
Benjamin Kosnik [Thu, 22 Jul 2010 22:58:15 +0000 (22:58 +0000)]
DocBook 4.5 to 5.0 transition.
2010-07-22 Benjamin Kosnik <bkoz@redhat.com>
DocBook 4.5 to 5.0 transition.
* doc/xml/authors.xml: Update markup to DocBook 5.0.
* doc/xml/faq.xml: Same.
* doc/xml/api.xml: Same.
* doc/xml/class.txml
* doc/xml/gnu/gpl-3.0.xml: Same.
* doc/xml/gnu/fdl-1.2.xml: Same.
* doc/xml/gnu/fdl-1.3.xml: Same.
* doc/xml/gnu/gpl-2.0.xml: Same.
* doc/xml/chapter.txml: Same.
* doc/xml/manual/mt_allocator.xml: Same.
* doc/xml/manual/allocator.xml: Same.
* doc/xml/manual/ctype.xml: Same.
* doc/xml/manual/numerics.xml: Same.
* doc/xml/manual/codecvt.xml: Same.
* doc/xml/manual/backwards_compatibility.xml: Same.
* doc/xml/manual/concurrency.xml: Same.
* doc/xml/manual/intro.xml: Same.
* doc/xml/manual/abi.xml: Same.
* doc/xml/manual/shared_ptr.xml: Same.
* doc/xml/manual/status_cxxtr1.xml: Same.
* doc/xml/manual/auto_ptr.xml: Same.
* doc/xml/manual/internals.xml: Same.
* doc/xml/manual/atomics.xml: Same.
* doc/xml/manual/parallel_mode.xml: Same.
* doc/xml/manual/status_cxx1998.xml: Same.
* doc/xml/manual/profile_mode.xml: Same.
* doc/xml/manual/containers.xml: Same.
* doc/xml/manual/io.xml: Same.
* doc/xml/manual/concurrency_extensions.xml: Same.
* doc/xml/manual/appendix_porting.xml: Same.
* doc/xml/manual/utilities.xml: Same.
* doc/xml/manual/support.xml: Same.
* doc/xml/manual/bitmap_allocator.xml: Same.
* doc/xml/manual/configure.xml: Same.
* doc/xml/manual/build_hacking.xml: Same.
* doc/xml/manual/evolution.xml: Same.
* doc/xml/manual/using.xml: Same.
* doc/xml/manual/using_exceptions.xml: Same.
* doc/xml/manual/debug.xml: Same.
* doc/xml/manual/localization.xml: Same.
* doc/xml/manual/strings.xml: Same.
* doc/xml/manual/debug_mode.xml: Same.
* doc/xml/manual/locale.xml: Same.
* doc/xml/manual/extensions.xml: Same.
* doc/xml/manual/appendix_contributing.xml: Same.
* doc/xml/manual/prerequisites.xml: Same.
* doc/xml/manual/messages.xml: Same.
* doc/xml/manual/diagnostics.xml: Same.
* doc/xml/manual/algorithms.xml: Same.
* doc/xml/manual/appendix_free.xml: Same.
* doc/xml/manual/iterators.xml: Same.
* doc/xml/manual/spine.xml: Same.
* doc/xml/manual/status_cxxtr24733.xml: Same.
* doc/xml/manual/status_cxx200x.xml: Same.
* doc/xml/manual/test.xml: Same.
* doc/xml/book.txml: Same.
* doc/xml/spine.xml: Same.
* doc/Makefile.am: Same.
* doc/Makefile.in: Regenerate.
From-SVN: r162433
Bernd Schmidt [Thu, 22 Jul 2010 22:34:11 +0000 (22:34 +0000)]
ira.c (check_allocation): Correctly handle the case where an allocno with two objects was allocated to a...
* ira.c (check_allocation): Correctly handle the case where an allocno
with two objects was allocated to a single reg.
From-SVN: r162432
Richard Sandiford [Thu, 22 Jul 2010 21:55:32 +0000 (21:55 +0000)]
tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function.
gcc/
* tree-ssa-math-opts.c (is_widening_mult_rhs_p): New function.
(is_widening_mult_p): Likewise.
(convert_to_widen): Use them.
(convert_plusminus_to_widen): Likewise. Handle fixed-point types as
well as integer ones.
From-SVN: r162431
Steven Bosscher [Thu, 22 Jul 2010 21:54:27 +0000 (21:54 +0000)]
alias.c (true_dependence_1): New function, merged version of true_dependence and canon_true_dependence.
* alias.c (true_dependence_1): New function, merged version of
true_dependence and canon_true_dependence.
(true_dependence): Simplify.
(canon_true_dependence): Simplify.
From-SVN: r162430
Richard Henderson [Thu, 22 Jul 2010 21:40:41 +0000 (14:40 -0700)]
re PR target/45027 (FAIL: c-c++-common/dfp/pr36800.c)
PR target/45027
* config/i386/i386.c (setup_incoming_varargs_64): Force the use
of V4SFmode for the SSE saves; increase stack alignment if needed.
(ix86_gimplify_va_arg): Don't increase stack alignment here.
From-SVN: r162429
Andi Kleen [Thu, 22 Jul 2010 21:16:49 +0000 (21:16 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2010-07-22 Andi Kleen <ak@linux.intel.com>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r162428
Jakub Jelinek [Thu, 22 Jul 2010 20:48:42 +0000 (22:48 +0200)]
re PR bootstrap/45028 (ICE building 64-bit libjava on Solaris 2/SPARC: output_operand: invalid expression as operand)
PR bootstrap/45028
* recgprop.c (copyprop_hardreg_forward_1): If changed is true,
call cprop_find_used_regs again via note_uses.
From-SVN: r162427
Eric Botcazou [Thu, 22 Jul 2010 19:33:45 +0000 (19:33 +0000)]
* alias.c (get_alias_set): Fix formatting issues.
From-SVN: r162426
Eric Botcazou [Thu, 22 Jul 2010 19:28:21 +0000 (19:28 +0000)]
re PR ada/44892 (internal error on gnat.dg/unchecked_convert5.adb)
PR ada/44892
* gcc-interface/utils.c (convert): Fix thinko in test.
(unchecked_convert): When converting from a scalar type to a type with
a different size, pad to have the same size on both sides.
From-SVN: r162425
Eric Botcazou [Thu, 22 Jul 2010 19:12:46 +0000 (19:12 +0000)]
utils.c (gnat_types_compatible_p): Don't require strict equality for the component type of array types.
* gcc-interface/utils.c (gnat_types_compatible_p): Don't require strict
equality for the component type of array types.
From-SVN: r162424
Steve Ellcey [Thu, 22 Jul 2010 18:14:27 +0000 (18:14 +0000)]
re PR middle-end/44878 (Build fails when compiling libstdc++)
2010-07-22 Steve Ellcey <sje@cup.hp.com>
PR middle-end/44878
* stmt.c (expand_value_return): Call promote_function_mode with
a for_return argument of 2 when returning by reference.
From-SVN: r162423
Uros Bizjak [Thu, 22 Jul 2010 18:10:32 +0000 (20:10 +0200)]
ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r162422
Dodji Seketeli [Thu, 22 Jul 2010 16:25:17 +0000 (16:25 +0000)]
re PR debug/45024 (wrong nesting for inner template class)
Fix PR debug/45024
gcc/ChangeLog:
PR debug/45024
* dwarf2out.c (scope_die_for): Don't fall back to the compilation
unit DIE if we can find the scope DIE.
gcc/testsuite/ChangeLog:
PR debug/45024
* g++.dg/debug/dwarf2/nested-2.C: New test case.
From-SVN: r162420
Bernd Schmidt [Thu, 22 Jul 2010 15:48:30 +0000 (15:48 +0000)]
ira-build.c (ira_create_object): New arg SUBWORD; all callers changed.
* ira-build.c (ira_create_object): New arg SUBWORD; all callers changed.
Initialize OBJECT_SUBWORD.
(ira_create_allocno): Clear ALLOCNO_NUM_OBJECTS.
(ira_create_allocno_objects): Renamed from ira_create_allocno_object;
all callers changed.
(merge_hard_reg_conflicts): Iterate over allocno subobjects.
(finish_allocno): Likewise.
(move_allocno_live_ranges, copy_allocno_live_ranges): Likewise.
(remove_low_level_allocnos): Likewise.
(update_bad_spill_attribute): Likewise.
(setup_min_max_allocno_live_range_point): Likewise.
(sort_conflict_id_map): Likewise.
(ira_flattening): Likewise. Use ior_hard_reg_conflicts.
(ior_hard_reg_conflicts): New function.
(ior_allocate_object_conflicts): Renamed first argument to OBJ.
(compress_conflict_vecs): Iterate over objects, not allocnos.
(ira_add_live_range_to_object): New function.
(object_range_compare_func): Renamed from allocno_range_compare_func.
All callers changed.
(setup_min_max_conflict_allocno_ids): For allocnos with multiple
subobjects, widen the min/max range of the lowest-order object to
potentially include all other such low-order objects.
* ira.c (ira_bad_reload_regno_1): Iterate over allocno subobjects.
(check_allocation): Likewise. Use more fine-grained tests for register
conflicts.
* ira-color.c (allocnos_have_intersected_live_ranges_p): Iterate over
allocno subobjects.
(assign_hard_reg): Keep multiple sets of conflicts. Make finer-grained
choices about which bits to set in each set. Don't use
ira_hard_reg_not_in_set_p, perform a more elaborate test for conflicts
using the multiple sets we computed.
(push_allocno_to_stack): Iterate over allocno subobjects.
(all_conflicting_hard_regs_coalesced): New static function.
(setup_allocno_available_regs_num): Use it.
(setup_allocno_left_conflicts_size): Likewise. Iterate over allocno
subobjects.
(coalesced_allocno_conflict): Test subobject 0 in each allocno.
(setup_allocno_priorities): Divide ALLOCNO_EXCESS_PRESSURE_POINTS_NUM
by ALLOCNO_NUM_OBJECTS.
(calculate_spill_cost): Likewise.
(color_pass): Express if statement in a more normal way.
(ira_reassign_conflict_allocnos): Iterate over allocno subobjects.
(slot_coalesced_allocno_live_ranges_intersect_p): Likewise.
(setup_slot_coalesced_allocno_live_ranges): Likewise.
(allocno_reload_assign): Likewise.
(ira_reassign_pseudos): Likewise.
(fast_allocation): Likewise.
* ira-conflicts.c (build_conflict_bit_table): Likewise.
(print_allocno_conflicts): Likewise.
(ira_build_conflicts): Likewise.
(allocnos_conflict_for_copy_p): Renamed from allocnos_conflict_p. All
callers changed. Test subword 0 of each allocno for conflicts.
(build_object_conflicts): Renamed from build_allocno_conflicts. All
callers changed. Iterate over allocno subobjects.
* ira-emit.c (modify_move_list): Iterate over allocno subobjects.
* ira-int.h (struct ira_allocno): New member. num_objects. Rename object
to objects and change it into an array.
(ALLOCNO_OBJECT): Add new argument N.
(ALLOCNO_NUM_OBJECTS, OBJECT_SUBWORD): New macros.
(ira_create_allocno_objects): Renamed from ira_create_allocno_object.
(ior_hard_reg_conflicts): Declare.
(ira_add_live_range_to_object): Declare.
(ira_allocno_object_iterator): New.
(ira_allocno_object_iter_init, ira_allocno_object_iter_cond): New.
(FOR_EACH_ALLOCNO_OBJECT): New macro.
* ira-lives.c (objects_live): Renamed from allocnos_live; all uses changed.
(allocnos_processed): New sparseset.
(make_object_born): Renamed from make_allocno_born; take an ira_object_t
argument. All callers changed.
(make_object_dead): Renamed from make_allocno_dead; take an ira_object t
argument. All callers changed.
(update_allocno_pressure_excess_length): Take an ira_obejct_t argument.
All callers changed.
(mark_pseudo_regno_live): Iterate over allocno subobjects.
(mark_pseudo_regno_dead): Likewise.
(mark_pseudo_regno_subword_live, mark_pseudo_regno_subword_dead): New
functions.
(mark_ref_live): Detect subword accesses and call
mark_pseudo_regno_subword_live as appropriate.
(mark_ref_dead): Likewise for mark_pseudo_regno_subword_dead.
(process_bb_nodes_live): Deal with object-related updates first; set
and test bits in allocnos_processed to avoid computing allocno
statistics more than once.
(create_start_finish_chains): Iterate over objects, not allocnos.
(print_object_live_ranges): New function.
(print_allocno_live_ranges): Use it.
(ira_create_allocno_live_ranges): Allocate and free allocnos_processed
and objects_live.
From-SVN: r162418
H.J. Lu [Thu, 22 Jul 2010 14:45:07 +0000 (14:45 +0000)]
Replace dg-require-lto-plugin with dg-require-linker-plugin.
2010-07-22 H.J. Lu <hongjiu.lu@intel.com>
* gcc.dg/lto/
20100722-1_0.c: Replace dg-require-lto-plugin
with dg-require-linker-plugin.
From-SVN: r162417
Richard Guenther [Thu, 22 Jul 2010 14:19:40 +0000 (14:19 +0000)]
re PR c++/43850 (ice: tree code �template_type_parm� is not supported in gimple streams)
2010-07-22 Richard Guenther <rguenther@suse.de>
PR lto/43850
* g++.dg/lto/
20100722-1_0.C: New testcase.
From-SVN: r162416
Richard Guenther [Thu, 22 Jul 2010 13:47:32 +0000 (13:47 +0000)]
re PR lto/42451 ('warning: type of "array" does not match original declaration' with -flto/-fwhopr)
2010-07-22 Richard Guenther <rguenther@suse.de>
PR lto/42451
* gimple.c (gtc_next_dfs_num): New global.
(struct sccs): Make value a union, add integer same_p member.
(gtc_visit): New function.
(gimple_types_compatible_p_1): New function, split out from ...
(gimple_types_compatible_p): ... here. Start a DFS walk here.
(iterative_hash_gimple_type): Adjust for sccs change.
* gcc.dg/lto/
20100720-3_0.c: New testcase.
* gcc.dg/lto/
20100720-3_1.c: Likewise.
From-SVN: r162415
Richard Guenther [Thu, 22 Jul 2010 12:54:44 +0000 (12:54 +0000)]
re PR lto/43373 (-fwhopr -fuse-linker-plugin ICE compressed stream data error)
2010-07-22 Richard Guenther <rguenther@suse.de>
* lib/target-supports-dg.exp (dg-require-linker-plugin): New proc.
* lib/target-supports.exp (check_linker_plugin_available): Likewise.
PR lto/43373
* gcc.dg/lto/
20100722-1_0.c: New testcase.
From-SVN: r162414
Martin Jambor [Thu, 22 Jul 2010 12:52:14 +0000 (14:52 +0200)]
re PR tree-optimization/44891 (non-trivial conversion ICE from early SRA)
2010-07-22 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/44891
* tree-sra.c: Include gimple-pretty-print.h.
(replace_uses_with_default_def_ssa_name): Renamed to
get_repl_default_def_ssa_name, return the new SSA name instead of
replacing the old one.
(sra_modify_assign): Dump a message when removing a load, if the LHS
is an SSA_NAME, do not do any propagation, just set the RHS to a
default definition SSA NAME, type convert if necessary.
* Makefile.in (tree-sra.o): Add gimple-pretty-print.h to dependencies.
* testsuite/gcc.c-torture/compile/pr44891.c: New test.
From-SVN: r162413
Richard Guenther [Thu, 22 Jul 2010 12:50:00 +0000 (12:50 +0000)]
Makefile.am: New copy_lto_plugin rule to install the plugin into ../gcc.
2010-07-22 Richard Guenther <rguenther@suse.de>
lto-plugin/
* Makefile.am: New copy_lto_plugin rule to install the plugin
into ../gcc.
* Makefile.in: Regenerated.
From-SVN: r162412
Richard Guenther [Thu, 22 Jul 2010 12:14:27 +0000 (12:14 +0000)]
re PR middle-end/45017 (miscompile with bitfield and optimization)
2010-07-22 Richard Guenther <rguenther@suse.de>
PR tree-optimization/45017
* tree-ssa-sccvn.c (vn_reference_eq): Make sure we honor
TYPE_PRECISION of integral types in addition to size.
* gcc.c-torture/execute/pr45017.c: New testcase.
From-SVN: r162411
Tobias Burnus [Thu, 22 Jul 2010 11:35:09 +0000 (13:35 +0200)]
re PR fortran/45019 (Aliasing of TARGET dummy argument not detected correctly)
2010-07-22 Tobias Burnus <burnus@net-b.de>
PR fortran/45019
* dependency.c (gfc_check_dependency): Add argument alising
* check.
* symbol.c (gfc_symbols_could_alias): Add argument alising
* check.
2010-07-22 Tobias Burnus <burnus@net-b.de>
PR fortran/45019
* gfortran.dg/aliasing_dummy_5.f90: New.
From-SVN: r162410
Daniel Kraft [Thu, 22 Jul 2010 10:59:31 +0000 (12:59 +0200)]
trans-stmt.c (gfc_trans_return): Put back in the handling of se.post, now in the correct place.
2010-07-22 Daniel Kraft <d@domob.eu>
* trans-stmt.c (gfc_trans_return): Put back in the handling of se.post,
now in the correct place.
From-SVN: r162409
Maxim Kuvyrkov [Thu, 22 Jul 2010 09:47:01 +0000 (09:47 +0000)]
sysv4.h (CHOOSE_DYNAMIC_LINKER): Default to GLIBC when no C library is specified.
* config/rs6000/sysv4.h (CHOOSE_DYNAMIC_LINKER): Default to GLIBC
when no C library is specified.
From-SVN: r162408
Martin Jambor [Thu, 22 Jul 2010 09:45:29 +0000 (11:45 +0200)]
ipa-prop.h (struct ipa_node_params): Updated comment.
2010-07-22 Martin Jambor <mjambor@suse.cz>
* ipa-prop.h (struct ipa_node_params): Updated comment.
(struct ipa_edge_args): Likewise.
* Makefile.in (ipa-prop.o): Remove bogus $(GIMPLE_FOLD_H) dependency.
From-SVN: r162407
Martin Jambor [Thu, 22 Jul 2010 09:33:11 +0000 (11:33 +0200)]
cgraphunit.c (verify_edge_count_and_frequency): New function.
2010-07-22 Martin Jambor <mjambor@suse.cz>
* cgraphunit.c (verify_edge_count_and_frequency): New function.
(verify_cgraph_node): Verify frequencies of indirect edges.
* tree-inline.c (tree_function_versioning): Update frequencies of
indirect edges.
From-SVN: r162406
Chung-Lin Tang [Thu, 22 Jul 2010 09:13:25 +0000 (09:13 +0000)]
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r162405
Ramana Radhakrishnan [Thu, 22 Jul 2010 08:30:36 +0000 (08:30 +0000)]
re PR target/43698 (Wrong use of ARMv6 REV instruction for endian bytewapping with -Os or -O2 optimizations)
Fix PR target/43698
2010-07-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/43698
* config/arm/arm.md: Split arm_rev into *arm_rev
and *thumb1_rev. Set *arm_rev to be predicable.
2010-07-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
PR target/43698
* gcc.target/arm/pr43698.c: New test.
From-SVN: r162404
Iain Sandoe [Thu, 22 Jul 2010 08:02:20 +0000 (08:02 +0000)]
darwin.h (LINK_COMMAND_SPEC): Split into...
* config/darwin.h (LINK_COMMAND_SPEC): Split into...
(LINK_COMMAND_SPEC_A): New.
(DSYMUTIL): New.
(DSYMUTIL_SPEC): New.
* config/darwin9.h (LINK_COMMAND_SPEC): Remove.
(DSYMUTIL_SPEC): Update for darwin >= 9 requirements.
-This line, and those below, will be ignored--
M ChangeLog
M config/darwin.h
M config/darwin9.h
From-SVN: r162403
Iain Sandoe [Thu, 22 Jul 2010 07:59:50 +0000 (07:59 +0000)]
calls.c (load_register_parameters): Move check for zero sized items so that only the call to ...
* calls.c (load_register_parameters): Move check for zero
sized items so that only the call to
mem_overlaps_already_clobbered_arg_p () is protected.
From-SVN: r162402
GCC Administrator [Thu, 22 Jul 2010 00:17:17 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r162396
Jan Hubicka [Wed, 21 Jul 2010 22:56:27 +0000 (00:56 +0200)]
ipa-pure-const.c (varying_state): Break out from ...
* ipa-pure-const.c (varying_state): Break out from ...
(get_function_state): ... here; always return varying_state
when state would be NULL otherwise.
(remove_node_data): Do not free varying state.
From-SVN: r162392
Bernd Schmidt [Wed, 21 Jul 2010 22:51:13 +0000 (22:51 +0000)]
function.c (record_hard_reg_sets): Restrict the previous change to cases where the incoming nominal mode is the...
* function.c (record_hard_reg_sets): Restrict the previous change
to cases where the incoming nominal mode is the same as the
incoming promoted mode and everything happens in MODE_INT.
From-SVN: r162391
Bernd Schmidt [Wed, 21 Jul 2010 22:48:14 +0000 (22:48 +0000)]
re PR bootstrap/44970 (Revision 162270 failed to bootstrap)
PR bootstrap/44970
PR middle-end/45009
* postreload.c: Include "target.h".
(reload_combine_closest_single_use): Don't take DEBUG_INSNs
into account.
(fixup_debug_insns): Don't copy the rtx.
(reload_combine_recognize_const_pattern): DEBUG_INSNs can't
have uses. Don't copy when replacing. Call fixup_debug_insns
in the case where we merged one add with another.
(reload_combine_recognize_pattern): Fail if there aren't any
uses. Try harder to determine whether we're picking a valid
index register. Don't set store_ruid for an insn we're going
to scan in the next iteration.
(reload_combine): Remove unused code.
(reload_combine_note_use): When updating use information for
an old insn, ignore a use that occurs after store_ruid.
* Makefile.in (postreload.o): Update dependencies.
From-SVN: r162390
Steven G. Kargl [Wed, 21 Jul 2010 22:34:07 +0000 (22:34 +0000)]
re PR fortran/44929 ([OOP] Parsing error of derived type name starting with 'REAL')
2010-07-21 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/44929
* Revert my commit r162325 for this PR.
From-SVN: r162386
Jakub Jelinek [Wed, 21 Jul 2010 19:11:55 +0000 (21:11 +0200)]
re PR debug/45015 (ICE in cselib.c caused by fix for PR43051)
PR debug/45015
* var-tracking.c (adjust_mems): Ignore ASM_OPERANDS with non-zero
ASM_OPERANDS_OUTPUT_IDX.
(adjust_insn): For inline asm with multiple sets ensure first
ASM_OPERANDS vectors are used by all following ASM_OPERANDS in
the insn.
* gcc.target/m68k/pr45015.c: New test.
From-SVN: r162385
Richard Henderson [Wed, 21 Jul 2010 18:50:02 +0000 (11:50 -0700)]
Eliminate the computed goto in x64 varargs.
Use a simple test and branch vs 0 instead. Which also allows us
to avoid funny code emission problems as well.
From-SVN: r162384
Jeffrey Yasskin [Wed, 21 Jul 2010 18:46:40 +0000 (18:46 +0000)]
IA64 uses // instead of # for comments in its assembly file.
PR c++/44641
* lib/scanasm.exp (dg-function-on-line): Fix regex for IA64's
comments.
From-SVN: r162383
Changpeng Fang [Wed, 21 Jul 2010 15:44:24 +0000 (15:44 +0000)]
Fix PR 44955: Strip off the real and complex parts.
2010-07-21 Changpeng Fang <changpeng.fang@amd.com>
PR tree-optimization/44955
* tree-ssa-loop-prefetch.c (analyze_ref): Strip off the real
and imagine parts of a complex, so that they can have the same
base and fall into the same group.
From-SVN: r162381
Richard Guenther [Wed, 21 Jul 2010 15:09:00 +0000 (15:09 +0000)]
re PR lto/45018 (ICE: tree check: did not expect class 'type', have 'type' (record_type) in contains_placeholder_p, at tree.c:2749)
2010-07-21 Richard Guenther <rguenther@suse.de>
PR lto/45018
* tree.c (find_decls_types_r): Do not follow TREE_CHAIN
of TYPE_DECLs. Do not follow TYPE_NEXT_VARIANT,
TYPE_NEXT_PTR_TO, nor TYPE_NEXT_REF_TO or TYPE_CANONICAL.
* g++.dg/lto/
20100721-1_0.C: New testcase.
From-SVN: r162380
Pascal Obry [Wed, 21 Jul 2010 15:02:09 +0000 (15:02 +0000)]
* make-temp-file.c (choose_tmpdir): Append a dot to P_tmpdir if needed.
From-SVN: r162379