gcc.git
15 years agore PR bootstrap/37739 (bootstrap broken with core gcc > gcc-4.2.x)
Andreas Tobler [Thu, 8 Oct 2009 05:09:54 +0000 (05:09 +0000)]
re PR bootstrap/37739 (bootstrap broken with core gcc > gcc-4.2.x)

2009-10-08  Andreas Tobler  <a.tobler@schweiz.org>

PR bootstrap/37739
* config.host: Use config/x-cflags-O1 for powerpc FreeBSD.

From-SVN: r152550

15 years ago* cp-tree.h: Fix location of documentation for DECL_LANG_FLAG_7.
Gabriel Dos Reis [Thu, 8 Oct 2009 03:07:44 +0000 (03:07 +0000)]
* cp-tree.h: Fix location of documentation for DECL_LANG_FLAG_7.

From-SVN: r152549

15 years agore PR c/41182 (Revision 145254 caused ICE: tree check: expected integer_cst, have...
Joseph Myers [Thu, 8 Oct 2009 00:32:51 +0000 (01:32 +0100)]
re PR c/41182 (Revision 145254 caused ICE: tree check: expected integer_cst, have nop_expr in tree_int_cst_lt, at tree.c:5259)

PR c/41182
* c-common.c (c_fully_fold_internal): Strip nops from the result
of recursive calls to c_fully_fold_internal.
(c_wrap_maybe_const): New.
(c_save_expr): Use c_wrap_maybe_const.
* c-common.h (c_wrap_maybe_const): Declare.
* c-typeck.c (build_conditional_expr, c_finish_stmt_expr,
build_binary_op): Use c_wrap_maybe_const.

testsuite:
* gcc.c-torture/compile/pr41182-1.c: New.

From-SVN: r152548

15 years agoDaily bump.
GCC Administrator [Thu, 8 Oct 2009 00:16:51 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r152547

15 years agoarith.c (arith_power): Use mpc_pow_z.
Kaveh R. Ghazi [Wed, 7 Oct 2009 23:40:25 +0000 (23:40 +0000)]
arith.c (arith_power): Use mpc_pow_z.

* arith.c (arith_power): Use mpc_pow_z.
* gfortran.h (HAVE_mpc_pow_z): Define.

From-SVN: r152544

15 years ago* lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.
Joseph Myers [Wed, 7 Oct 2009 22:50:09 +0000 (23:50 +0100)]
* lto.c: Only include <sys/mman.h> if HAVE_MMAP_FILE.

From-SVN: r152543

15 years agoreal.c: Fix comment to reflect actual exponent size.
Kaveh R. Ghazi [Wed, 7 Oct 2009 21:15:27 +0000 (21:15 +0000)]
real.c: Fix comment to reflect actual exponent size.

* real.c: Fix comment to reflect actual exponent size.

From-SVN: r152542

15 years ago* config/rs6000/a2.md: Add FSF comment header.
Ben Elliston [Wed, 7 Oct 2009 20:15:24 +0000 (20:15 +0000)]
* config/rs6000/a2.md: Add FSF comment header.

From-SVN: r152541

15 years agoFix Hariharan Sandanagobalane's most recent entry.
Ben Elliston [Wed, 7 Oct 2009 20:12:41 +0000 (07:12 +1100)]
Fix Hariharan Sandanagobalane's most recent entry.

From-SVN: r152540

15 years agoi386.md (any_extend): New code iterator.
Uros Bizjak [Wed, 7 Oct 2009 20:09:01 +0000 (22:09 +0200)]
i386.md (any_extend): New code iterator.

* config/i386/i386.md (any_extend): New code iterator.
(u, s): New code attributes.
(sgnprefix): Ditto.
(DWIH): Rewrite as code iterator for SI and DI modes.
(DWI): Rewrite as mode attribute.
(dwi): New mode attribute.
(di): Depend on SI mode and DI mode.
(doubleint_general_operand): Remove mode attribute.

(*lea_1): Macroize insn from *lea_1_rex64 and *lea_1 patterns using
DWIH mode iterator.

(*add<mode>3_doubleword): Use DWIH as the base mode iterator.
(*sub<mode>3_doubleword): Ditto.

(mul<mode>3): Macroize expander from mul{hi,si,di}3 patterns
using SWIM248 mode iterator.
(*mul<mode>3_1): Macroize insn from mul{si,di}3_1 patterns
using SWI48 mode iterator.
(<u>mul<mode><dwi>3): Macroize expander from {,u}mul{sidi,diti}3
patterns using DWIH mode iterator and any_extend code iterator.
(<u>mulqihi3): Macroize expander from {,u}mulqihi3 patterns
using any_extend code iterator.
(*<u>mul<mode><dwi>3_1): Macroize insn from {,u}mul{sidi,diti}3_1
patterns using DWIH mode iterator and any_extend code iterator.
(*<u>mulqihi3_1): Macroize insn from {,u}mulqihi3_1 patterns
using any_extend code iterator.
(<s>mul<mode>3_highpart): Macroize expander from
{s,u}mul{si,di}3_highpart patterns using DWIH mode iterator
and any_extend code iterator.
(*<s>muldi3_highpart_1): Macroize insn from
*{s,u}muldi3_highpart_rex64 patterns using any_extend code iterator.
(*<s>mulsi3_highpart_1): Macroize insn from *{s,u}mulsi3_highpart_1
patterns using any_extend code iterator.
(*<s>mulsi3_highpart_zext): Macroize insn from
*{s,u}mulsi3_highpart_zext patterns using any_extend code iterator.

From-SVN: r152539

15 years agore PR c++/39863 ([c++0x] variadic templates : wrong error "mismatched argument pack...
Jason Merrill [Wed, 7 Oct 2009 18:56:39 +0000 (14:56 -0400)]
re PR c++/39863 ([c++0x] variadic templates : wrong error "mismatched argument pack lengths")

PR c++/39863
* pt.c (tsubst_pack_expansion): Don't do anything now if we
have incomplete packs of different lengths.

From-SVN: r152537

15 years agore PR c++/41038 (Parsing error related to qualified name id)
Jason Merrill [Wed, 7 Oct 2009 18:56:28 +0000 (14:56 -0400)]
re PR c++/41038 (Parsing error related to qualified name id)

PR c++/41038
* tree.c (build_qualified_name): Call convert_from_reference.

From-SVN: r152536

15 years agodwarf2out.c (tree_add_const_value_attribute_for_decl): Don't add DW_AT_const_value...
Jakub Jelinek [Wed, 7 Oct 2009 18:39:52 +0000 (20:39 +0200)]
dwarf2out.c (tree_add_const_value_attribute_for_decl): Don't add DW_AT_const_value if VAR_DIE already has DW_AT_abstract_origin...

* dwarf2out.c (tree_add_const_value_attribute_for_decl): Don't add
DW_AT_const_value if VAR_DIE already has DW_AT_abstract_origin
refering to a DIE with DW_AT_const_value.

* gcc.dg/debug/dwarf2/inline3.c: New test.

From-SVN: r152535

15 years agore PR fortran/41615 (Bogus error message: "internal function" should be "module proce...
Daniel Kraft [Wed, 7 Oct 2009 18:13:28 +0000 (20:13 +0200)]
re PR fortran/41615 (Bogus error message: "internal function" should be "module procedure")

2009-10-07  Daniel Kraft  <d@domob.eu>

PR fortran/41615
* resolve.c (resolve_contained_fntype): Clarify error message for
invalid assumed-length character result on module procedures.

2009-10-07  Daniel Kraft  <d@domob.eu>

PR fortran/41615
* gfortran.dg/assumed_charlen_function_6.f90: New test.

From-SVN: r152534

15 years agore PR middle-end/22072 (bizarre code for int*int/2 for -Os)
Vladimir Makarov [Wed, 7 Oct 2009 17:18:38 +0000 (17:18 +0000)]
re PR middle-end/22072 (bizarre code for int*int/2 for -Os)

2009-10-07  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/22072
* ira-lives.c (check_and_make_def_conflict): Process all operands.

From-SVN: r152533

15 years agocgraph.c (cgraph_node_can_be_local): Handle externally visible nodes correctly.
Jan Hubicka [Wed, 7 Oct 2009 16:36:43 +0000 (18:36 +0200)]
cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes correctly.

* cgraph.c (cgraph_node_can_be_local): Handle externally visible nodes
correctly.

From-SVN: r152532

15 years ago* config/i386/i386.md (*lea_1_rex64, *lea_1, *lea_1_zext,
Uros Bizjak [Wed, 7 Oct 2009 15:12:00 +0000 (17:12 +0200)]
* config/i386/i386.md (*lea_1_rex64, *lea_1, *lea_1_zext,

*lea_2_rex64): Move before *add<mode>_1 pattern.

From-SVN: r152530

15 years agochangelog
Rafael Espindola [Wed, 7 Oct 2009 14:26:53 +0000 (14:26 +0000)]
changelog

From-SVN: r152529

15 years agoUpdate my email address.
Rafael Espindola [Wed, 7 Oct 2009 14:22:30 +0000 (14:22 +0000)]
Update my email address.

s/plug-in/plugin/

From-SVN: r152528

15 years agoMAINTAINERS (LTO): List Diego Novillo, Rafael Avila de Espindola, and Richard Guenthe...
Richard Guenther [Wed, 7 Oct 2009 14:12:34 +0000 (14:12 +0000)]
MAINTAINERS (LTO): List Diego Novillo, Rafael Avila de Espindola, and Richard Guenther as reviewers.

2009-10-07  Richard Guenther  <rguenther@suse.de>

* MAINTAINERS (LTO): List Diego Novillo, Rafael Avila de Espindola,
and Richard Guenther as reviewers.
(LTO plugin): List Rafael Avila de Espindola and Cary Coutant
as reviewers.

From-SVN: r152527

15 years agoexpr.c (gfc_check_pointer_assign): Do the correct type checking when CLASS variables...
Janus Weil [Wed, 7 Oct 2009 10:54:35 +0000 (12:54 +0200)]
expr.c (gfc_check_pointer_assign): Do the correct type checking when CLASS variables are involved.

2009-10-07  Janus Weil  <janus@gcc.gnu.org>

* expr.c (gfc_check_pointer_assign): Do the correct type checking when
CLASS variables are involved.
* match.c (gfc_match_select_type): Parse associate-name in SELECT TYPE
statements, and set up a local namespace for the SELECT TYPE block.
* parse.h (gfc_build_block_ns): New prototype.
* parse.c (parse_select_type_block): Return from local namespace to its
parent after SELECT TYPE block.
(gfc_build_block_ns): New function for setting up the local namespace
for a BLOCK construct.
(parse_block_construct): Use gfc_build_block_ns.
* resolve.c (resolve_select_type): Insert assignment for the selector
variable, in case an associate-name is given, and put the SELECT TYPE
statement inside a BLOCK.
(resolve_code): Call resolve_class_assign after checking the assignment.
* symbol.c (gfc_find_sym_tree): Moved some code here from
gfc_get_ha_sym_tree.
(gfc_get_ha_sym_tree): Moved some code to gfc_find_sym_tree.

2009-10-07  Janus Weil  <janus@gcc.gnu.org>

* gfortran.dg/same_type_as_2.f03: Modified (was illegal).
* gfortran.dg/select_type_1.f03: Modified error message.
* gfortran.dg/select_type_5.f03: New test.

From-SVN: r152526

15 years agoFix formatting
Eric Botcazou [Wed, 7 Oct 2009 10:28:59 +0000 (10:28 +0000)]
Fix formatting

From-SVN: r152525

15 years agomoveable2.cc: New.
Chris Jefferson [Wed, 7 Oct 2009 09:58:44 +0000 (09:58 +0000)]
moveable2.cc: New.

2009-10-07  Chris Jefferson  <chris@bubblescope.net>

* testsuite/25_algorithms/rotate/moveable2.cc: New.

From-SVN: r152524

15 years agocollect2.c (main): Add -fno-whole-program.
Jan Hubicka [Wed, 7 Oct 2009 09:11:28 +0000 (11:11 +0200)]
collect2.c (main): Add -fno-whole-program.

* collect2.c (main): Add -fno-whole-program.
* gcc.c (set_collect_gcc_options): Do not remove whole program here.

From-SVN: r152521

15 years agolto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has no address...
Jan Hubicka [Wed, 7 Oct 2009 09:01:16 +0000 (11:01 +0200)]
lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has no address taken.

* lto-symtab.c (lto_cgraph_replace_node): Assert that inline clones has
no address taken.
* cgraph.c (cgraph_mark_needed_node): Assert that inline clones are
never needed.
(cgraph_clone_node): Clear externally_visible flag for clones.
* cgraph.h (cgraph_only_called_directly_p,
cgraph_can_remove_if_no_direct_calls_p): New predicates.
* tree-pass.h (pass_ipa_whole_program_visibility): Declare.
* ipa-cp.c (ipcp_cloning_candidate_p): Use new predicate.
(ipcp_initialize_node_lattices, ipcp_estimate_growth,
ipcp_insert_stage): Likwise.
* cgraphunit.c (cgraph_decide_is_function_needed): Do not compute
externally_visible flag.
(verify_cgraph_node): Verify that inline clones look right.
(process_function_and_variable_attributes): Do not set
externally_visible flags.
(ipa_passes): Avoid executing small_ipa_passes at LTO stage; they've
been already run.
* lto-cgraph.c (lto_output_node): Assert that inline clones are not
boundaries.
* ipa-inline.c (cgraph_clone_inlined_nodes): Use new predicates;
clear externally_visible when turning into inline clones
(cgraph_mark_inline_edge): Use new predicates.
(cgraph_estimate_growth): Likewise.
(cgraph_decide_inlining): Likewise.
* ipa.c (cgraph_postorder): Likewise.
(cgraph_remove_unreachable_nodes): Likewise; sanity check
that inline clones are not needed.
(cgraph_externally_visible_p): New predicate.
(function_and_variable_visibility): Add whole_program parameter;
always set externally_visible flag; handle COMDAT function
privatization.
(local_function_and_variable_visibility): New function.
(gate_whole_program_function_and_variable_visibility): New function.
(whole_program_function_and_variable_visibility): New function.
(pass_ipa_whole_program_visibility): New function.
* passes.c  (init_optimization_passes): Add whole program visibility
pass.
(do_per_function_toporder, function_called_by_processed_nodes_p): Do
not care about needed/reachable flags.
* varpool.c: Include flags.h
(decide_is_variable_needed): When doing LTO assume whole-program mode.
(varpool_finalize_decl): When we are in LTO read-back, all variables
are analyzed.
(varpool_analyze_pending_decls): Skip analyzis of analyzed vars.

* lto/lto.c (read_cgraph_and_symbols): Mark functions neccesary only at
ltrans stage; explain why this is needed and should not.

From-SVN: r152520

15 years ago* config.sub : Update from upstream sources.
Hariharan Sandanagobalane [Wed, 7 Oct 2009 08:48:50 +0000 (08:48 +0000)]
* config.sub : Update from upstream sources.

From-SVN: r152517

15 years agotpf.h (TARGET_DEFAULT): Remove MASK_HARD_FLOAT and add MASK_HARD_DFP.
Andreas Krebbel [Wed, 7 Oct 2009 08:40:32 +0000 (08:40 +0000)]
tpf.h (TARGET_DEFAULT): Remove MASK_HARD_FLOAT and add MASK_HARD_DFP.

2009-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config/s390/tpf.h (TARGET_DEFAULT): Remove MASK_HARD_FLOAT and
add MASK_HARD_DFP.

From-SVN: r152516

15 years agoconfig.gcc: Don't include the makefile fragments intended for libgcc.
Andreas Krebbel [Wed, 7 Oct 2009 08:26:47 +0000 (08:26 +0000)]
config.gcc: Don't include the makefile fragments intended for libgcc.

2009-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config.gcc: Don't include the makefile fragments intended for
libgcc.
* config/s390/fixdfdi.h: File removed.
* config/s390/libgcc-glibc.ver: File removed.
* config/s390/s390.h: Remove the fixdfdi.h hack.
* config/s390/t-crtstuff: File moved to libgcc dir.
* config/s390/t-linux: Likewise.
* config/s390/t-tpf: libgcc specific parts removed.
* config/s390/t-linux64: Likewise.

2009-10-07  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

* config.host: Include the s390 makefile fragments.
* config/s390/32/_fixdfdi.c: New file.
* config/s390/32/_fixsfdi.c: New file.
* config/s390/32/_fixtfdi.c: New file.
* config/s390/32/_fixunsdfdi.c: New file.
* config/s390/32/_fixunssfdi.c: New file.
* config/s390/32/_fixunstfdi.c: New file.
* config/s390/32/t-floattodi: New file.
* config/s390/libgcc-glibc.ver: New file.
* config/s390/t-crtstuff: New file.
* config/s390/t-linux: New file.
* config/s390/t-tpf: New file.

From-SVN: r152515

15 years agoMakefile.def: check-gold depends upon all-gas.
Ian Lance Taylor [Wed, 7 Oct 2009 05:41:23 +0000 (05:41 +0000)]
Makefile.def: check-gold depends upon all-gas.

* Makefile.def: check-gold depends upon all-gas.
* Makefile.in: Rebuild.

From-SVN: r152514

15 years agore PR fortran/41613 (ICE for gfortran.dg/dynamic_dispatch_*.f03 on powerpc-apple...
Paul Thomas [Wed, 7 Oct 2009 05:17:29 +0000 (05:17 +0000)]
re PR fortran/41613 (ICE for gfortran.dg/dynamic_dispatch_*.f03 on powerpc-apple-darwin)

2009-10-07  Paul Thomas <pault@gcc.gnu.org>

        PR fortran/41613
        * resolve.c (check_class_members): Reset compcall.assign.

From-SVN: r152513

15 years agoMakefile.in (lto-wrapper): Use COMPILER and ALL_COMPILERFLAGS.
Jerry Quinn [Wed, 7 Oct 2009 03:18:42 +0000 (03:18 +0000)]
Makefile.in (lto-wrapper): Use COMPILER and ALL_COMPILERFLAGS.

2009-10-06  Jerry Quinn  <jlquinn@optonline.net>

* Makefile.in (lto-wrapper): Use COMPILER and ALL_COMPILERFLAGS.
(lto-compress.o): Likewise.

From-SVN: r152512

15 years agore PR target/41512 (dllexport broken on cygwin)
Danny Smith [Wed, 7 Oct 2009 02:57:21 +0000 (02:57 +0000)]
re PR target/41512 (dllexport broken on cygwin)

PR target/41512
* config/i386/winnt.c (i386_pe_determine_dllexport_p): Don't propagate
dllexport to class members here.
(i386_pe_determine_dllimport_p): Only check static class data for
definition.
(i386_pe_encode_section_info): Don't recheck DECL_DLLIMPORT_P.
* config/i386/winnt-cxx.c (i386_pe_type_dllimport_p): Only check
functions for vague linkage.
(i386_pe_type_dllexport_p): Fix formatting.
(maybe_add_dllexport) New function.
(i386_pe_adjust_class_at_definition): Use it to propagate dllexport
to class members.

From-SVN: r152511

15 years agore PR testsuite/41612 (FAIL: gfortran.dg/round_2.f03)
Jerry DeLisle [Wed, 7 Oct 2009 01:24:27 +0000 (01:24 +0000)]
re PR testsuite/41612 (FAIL: gfortran.dg/round_2.f03)

2009-10-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/41612
* gfortran.dg/round_2.f03: Fix test to work on platforms that do not
have kind=10 reals.

From-SVN: r152510

15 years agoDaily bump.
GCC Administrator [Wed, 7 Oct 2009 00:16:37 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r152506

15 years agobinary-arith.cc: Fix directive to skip test.
Janis Johnson [Tue, 6 Oct 2009 23:17:07 +0000 (23:17 +0000)]
binary-arith.cc: Fix directive to skip test.

* testsuite/decimal/binary-arith.cc: Fix directive to skip test.
* testsuite/decimal/cast_neg.cc: Ditto.
* testsuite/decimal/comparison.cc: Ditto.
* testsuite/decimal/compound-assignment.cc: Ditto.
* testsuite/decimal/compound-assignment-memfunc.cc: Ditto.
* testsuite/decimal/conversion-from-float.cc: Ditto.
* testsuite/decimal/conversion-from-integral.cc: Ditto.
* testsuite/decimal/conversion-to-generic-float.cc: Ditto.
* testsuite/decimal/conversion-to-integral.cc: Ditto.
* testsuite/decimal/ctor.cc: Ditto.
* testsuite/decimal/incdec.cc: Ditto.
* testsuite/decimal/incdec-memfunc.cc: Ditto.
* testsuite/decimal/make-decimal.cc: Ditto.
* testsuite/decimal/mixed-mode_neg.cc: Ditto.
* testsuite/decimal/operator_neg.cc: Ditto.
* testsuite/decimal/unary-arith.cc: Ditto.

From-SVN: r152502

15 years ago* config/rs6000/a2.md: Remove duplicated lines.
Ben Elliston [Tue, 6 Oct 2009 22:22:30 +0000 (22:22 +0000)]
* config/rs6000/a2.md: Remove duplicated lines.

From-SVN: r152501

15 years agoFix lookup of initialized captures in unevaluated context.
Jason Merrill [Tue, 6 Oct 2009 22:14:01 +0000 (18:14 -0400)]
Fix lookup of initialized captures in unevaluated context.

* cp-tree.h (DECL_NORMAL_CAPTURE_P): New.
* name-lookup.c (qualify_lookup): Check it.
* parser.c (cp_parser_lambda_introducer): Pass explicit_init_p
to add_capture.
* semantics.c (add_capture): Set DECL_NORMAL_CAPTURE_P
on captures without explicit init.
(add_default_capture): Pass explicit_init_p.

Fix capture by copy of types with explicit copy constructor.
* cp-tree.h (TARGET_EXPR_DIRECT_INIT_P): New.
(DIRECT_INIT_EXPR_P): New.
* typeck.c (convert_for_initialization): Just return if
DIRECT_INIT_EXPR_P.
* parser.c (cp_parser_lambda_introducer): Use
TARGET_EXPR_DIRECT_INIT_P for normal captures.

From-SVN: r152500

15 years agoconfig.gcc (powerpc*-*-*): Handle a2.
Ben Elliston [Tue, 6 Oct 2009 19:37:40 +0000 (19:37 +0000)]
config.gcc (powerpc*-*-*): Handle a2.

* config.gcc (powerpc*-*-*): Handle a2.
* config/rs6000/rs6000.md (cpu): Add ppca2.  Include "a2.md".
* config/rs6000/a2.md: New file.
* config/rs6000/rs6000.opt (mno-update): New.
(mupdate): Return to using a mask, not a var.
* config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for a2.
(enum processor_type): Add PROCESSOR_PPCA2.
* config/rs6000/rs6000.c (ppca2_cost): New costs.
(rs6000_override_options): Add "a2" to processor_target_table.
Update rs6000_always_hint logic.  Correctly set rs6000_cost for
a2.
* doc/invoke.texi (RS/6000 and PowerPC Options): Document
-mcpu=a2.

From-SVN: r152499

15 years agoFix a changelog
Rafael Espindola [Tue, 6 Oct 2009 19:27:01 +0000 (19:27 +0000)]
Fix a changelog

2009-10-05   Rafael Espindola  <espindola@google.com>

* plugin-api.h (ld_plugin_status): Add LDPS_BAD_HANDLE.
(ld_plugin_get_input_file): New.
(ld_plugin_release_input_file): New.
(ld_plugin_add_input_library): New.
(ld_plugin_message): Mark format const.
(ld_plugin_level): Add LDPT_GET_INPUT_FILE, LDPT_RELEASE_INPUT_FILE and
LDPT_ADD_INPUT_LIBRARY.
(ld_plugin_tv): Add tv_get_input_file, tv_release_input_file and
tv_add_input_library.

From-SVN: r152498

15 years agoi386.md (float<SSEMODEI24:mode><X87MODEF:mode>2): Use explicit gen_truncxfsf2 and...
Uros Bizjak [Tue, 6 Oct 2009 18:23:06 +0000 (20:23 +0200)]
i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2): Use explicit gen_truncxfsf2 and gen_truncxfdf2 references to avoid reference to...

* config/i386/i386.md (float<SSEMODEI24:mode><X87MODEF:mode>2):
Use explicit gen_truncxfsf2 and gen_truncxfdf2 references to avoid
reference to nonexistent gen_truncxfxf2 function.

From-SVN: r152497

15 years agoi386.md (SWI48, SDWI, DWI): New mode iterators.
Uros Bizjak [Tue, 6 Oct 2009 13:52:59 +0000 (15:52 +0200)]
i386.md (SWI48, SDWI, DWI): New mode iterators.

* config/i386/i386.md (SWI48, SDWI, DWI): New mode iterators.
(DWIH, g, di, doubleint_general_operand): New mode attributes.
(general_operand): Handle TI mode.
(add<mode>3): Macroize expander from add{qi,hi,si,di,ti}3 patterns
using SDWI mode iterator.
(*add<mode>3_doubleword): New insn_and_split pattern.  Macroize
pattern from *add{di,ti}3_1 patterns and corresponding splitters
using SDWI mode iterator.
(add<mode>3_carry): Macroize insn from add{qi,hi,si,di}3_carry
patterns using SWI mode iterator.
(*add<mode>3_cc): Macroize insn from add{si,di}3_cc patterns
using SWI48 mode iterator.
(*add<mode>_1): Ditto from add{si,di}_1 patterns.
(*add<mode>_2): Ditto from add{si,di}_2 patterns.
(*add<mode>_3): Ditto from add{si,di}_3 patterns.
(*add<mode>_5): Ditto from add{si,di}_5 patterns.
(sub<mode>3): Macroize expander from sub{qi,hi,si,di,ti}3 patterns
using SDWI mode iterator.
(*sub<mode>3_doubleword): New insn_and_split pattern.  Macroize
pattern from *sub{di,ti}3_1 patterns and corresponding splitters
using SDWI mode iterator.
(sub<mode>3_carry): Macroize insn from sub{qi,hi,si,di}3_carry
patterns using SWI mode iterator.
(*sub<mode>_1): Ditto from from sub{qi,hi,si,di}_1 patterns.
(*sub<mode>_2): Ditto from sub{qi,hi,si,di}_2 patterns.
(*sub<mode>_3): Ditto from sub{qi,hi,si,di}_3 patterns.
(<plusminus_insn>xf3): Macroize expander from addxf3 and subxf3
patterns using plusminus code iterator.
(<plusminus_insn><mode>3): Macroize expander from add<mode>3 and
sub<mode>3 patterns using plusminus code iterator.
* config/i386/i386.c (override_options): Update call to
gen_subdi_carry_rex64 for renamed function.
(ix86_expand_int_addcc): Update calls to gen_subdi3_carry_rex64
and gen_adddi3_carry_rex64 for renamed functions.  Use indirect
calls to instruction expanders.

From-SVN: r152495

15 years agore PR bootstrap/41395 (Revision 151800 failed bootstrap)
Martin Jambor [Tue, 6 Oct 2009 13:31:40 +0000 (15:31 +0200)]
re PR bootstrap/41395 (Revision 151800 failed bootstrap)

2009-10-06  Martin Jambor  <mjambor@suse.cz>

PR bootstrap/41395
* opts.c (decode_options): Run IPA-SRA at -O2.

From-SVN: r152492

15 years agolto-symtab.c (lto_symtab_entry_hash): Hash strings, not pointers.
Richard Guenther [Tue, 6 Oct 2009 12:19:20 +0000 (12:19 +0000)]
lto-symtab.c (lto_symtab_entry_hash): Hash strings, not pointers.

2009-10-06  Richard Guenther  <rguenther@suse.de>

* lto-symtab.c (lto_symtab_entry_hash): Hash strings, not pointers.

From-SVN: r152491

15 years agore PR lto/41591 (documentation should document interaction of -flto and -fwhole-program)
Tobias Burnus [Tue, 6 Oct 2009 10:38:12 +0000 (12:38 +0200)]
re PR lto/41591 (documentation should document interaction of -flto and -fwhole-program)

2009-10-06  Tobias Burnus  <burnus@net-b.de>

       PR lto/41591
       * doc/invoke.texi (-flto,-fwhole-program): Make clear that the
       -flto and -fwhole-program flags can be combined.

From-SVN: r152490

15 years agore PR middle-end/41502 (ICE in expand_call_inline)
Richard Guenther [Tue, 6 Oct 2009 10:31:17 +0000 (10:31 +0000)]
re PR middle-end/41502 (ICE in expand_call_inline)

2009-10-06  Richard Guenther  <rguenther@suse.de>

PR lto/41502
* gcc.dg/lto/20091006-1_0.c: New testcase.
* gcc.dg/lto/20091006-1_1.c: Likewise.
* gcc.dg/lto/20091005-2_0.c: Likewise.

From-SVN: r152489

15 years agore PR driver/41217 (Driver crashes if -o specified without filename)
Ryan Mansfield [Tue, 6 Oct 2009 09:33:29 +0000 (09:33 +0000)]
re PR driver/41217 (Driver crashes if -o specified without filename)

2009-10-06  Ryan Mansfield  <rmansfield@qnx.com>

        PR driver/41217
        * gcc.c (process_command): Check that -o argument was specified.

From-SVN: r152488

15 years agore PR ada/41383 (Timing_Events: Event time not cleared after Cancel_Handler)
Samuel Tardieu [Tue, 6 Oct 2009 07:20:53 +0000 (07:20 +0000)]
re PR ada/41383 (Timing_Events: Event time not cleared after Cancel_Handler)

    gcc/ada/
PR ada/41383
* a-rttiev.adb (Time_Of_Event): Return Time_First for unset event.

    gcc/testsuite/
PR ada/41383
* gnat.dg/timer_cancel.adb: New test.

From-SVN: r152487

15 years agore PR ada/38333 (Illegal program not detected, ARM 6.1(20): pragma Import illegal...
Samuel Tardieu [Tue, 6 Oct 2009 07:19:54 +0000 (07:19 +0000)]
re PR ada/38333 (Illegal program not detected, ARM 6.1(20): pragma Import illegal for abstract subprograms)

    gcc/ada/
PR ada/38333
* sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract
subprogram to be completed with a "pragma Import".

    gcc/testsuite/
PR ada/38333
* gnat.dg/specs/import_abstract.ads: New.

From-SVN: r152486

15 years agogimple.c (gimple_type_hash): Use CONST_CAST_TREE to fix compilation.
Jerry Quinn [Tue, 6 Oct 2009 04:08:29 +0000 (04:08 +0000)]
gimple.c (gimple_type_hash): Use CONST_CAST_TREE to fix compilation.

2009-10-06  Jerry Quinn  <jlquinn@optonline.net>

* gimple.c (gimple_type_hash): Use CONST_CAST_TREE to fix
compilation.

From-SVN: r152485

15 years agore PR libfortran/35862 ([F2003] Implement new rounding modes for run time)
Jerry DeLisle [Tue, 6 Oct 2009 03:12:21 +0000 (03:12 +0000)]
re PR libfortran/35862 ([F2003] Implement new rounding modes for run time)

2009-10-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/35862
* gfortran.dg/round_2.f03: New test.

From-SVN: r152484

15 years agore PR libfortran/35862 ([F2003] Implement new rounding modes for run time)
Jerry DeLisle [Tue, 6 Oct 2009 03:08:20 +0000 (03:08 +0000)]
re PR libfortran/35862 ([F2003] Implement new rounding modes for run time)

2009-10-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/35862
* write_float.def (outout_float): Fix handling of special case where no
digits after the decimal point and values less than 1.0. Adjust index
into digits string. (WRITE_FLOAT): Remove special case code from macro.

From-SVN: r152483

15 years agoDaily bump.
GCC Administrator [Tue, 6 Oct 2009 00:17:00 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r152480

15 years ago* parser.c: Mark lambda_scope and lambda_count for PCH.
Jason Merrill [Mon, 5 Oct 2009 21:36:38 +0000 (17:36 -0400)]
* parser.c: Mark lambda_scope and lambda_count for PCH.

From-SVN: r152474

15 years agoMAINTAINERS (Write After Approval): Add myself.
Phil Muldoon [Mon, 5 Oct 2009 21:09:59 +0000 (21:09 +0000)]
MAINTAINERS (Write After Approval): Add myself.

2009-10-05  Phil Muldoon  <pmuldoon@redhat.com>

* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r152473

15 years agoplugin-api.h: Sync with src.
Rafael Avila de Espindola [Mon, 5 Oct 2009 20:53:29 +0000 (20:53 +0000)]
plugin-api.h: Sync with src.

2009-10-05   Rafael Espindola  <espindola@google.com>

* plugin-api.h: Sync with src.

From-SVN: r152472

15 years agoFix check_warning_flags warnings.
Ralf Wildenhues [Mon, 5 Oct 2009 19:54:18 +0000 (19:54 +0000)]
Fix check_warning_flags warnings.

gcc/:
* c.opt (Wjump-misses-init): Fix typo to enable for ObjC.
* doc/invoke.texi (Warning Options): Annotate allowed languages
for -Wunsuffixed-float-constants.

From-SVN: r152469

15 years agodwarf2out.c (modified_type_die): Don't add DW_AT_name to DW_TAG_{const,volatile}_type...
Jakub Jelinek [Mon, 5 Oct 2009 19:52:20 +0000 (21:52 +0200)]
dwarf2out.c (modified_type_die): Don't add DW_AT_name to DW_TAG_{const,volatile}_type if...

* dwarf2out.c (modified_type_die): Don't add DW_AT_name to
DW_TAG_{const,volatile}_type if its DW_AT_type already has the
same name and isn't the main variant.

From-SVN: r152468

15 years agore PR debug/41558 (gfortran -O code excessive DW_OP_deref's)
Jakub Jelinek [Mon, 5 Oct 2009 19:50:57 +0000 (21:50 +0200)]
re PR debug/41558 (gfortran -O code excessive DW_OP_deref's)

PR debug/41558
* dwarf2out.c (loc_by_reference): Removed.
(dw_loc_list_1): New function.
(dw_loc_list): Remove toplev argument, add want_address argument.
Don't look at decl_by_reference_p at all.  Use dw_loc_list_1.
(loc_list_from_tree) <case VAR_DECL>: Pass want_address rather than
want_address == 2 to dw_loc_list.  For successful dw_loc_list
set have_address to 1 only if want_address is not 0.

* gcc.dg/guality/guality.exp: Move gdb-test proc into...
* lib/gcc-gdb-test.exp: ... here.  New file.
* gfortran.dg/guality/guality.exp: New file.
* gfortran.dg/guality/pr41558.f90: New test.
* gfortran.dg/guality/arg1.f90: New test.

From-SVN: r152467

15 years agomips-protos.h (mips_trampoline_code_size): Declare.
Richard Sandiford [Mon, 5 Oct 2009 19:45:54 +0000 (19:45 +0000)]
mips-protos.h (mips_trampoline_code_size): Declare.

gcc/
* config/mips/mips-protos.h (mips_trampoline_code_size): Declare.
* config/mips/mips.h (TRAMPOLINE_SIZE): Redefine as the size of
a code block followed by two pointers.
(TRAMPOLINE_ALIGNMENT): Define to 64 for 32-bit targets too.
* config/mips/mips.c (MIPS_LOAD_PTR): New macro.
(MIPS_MOVE): Likewise.
(MIPS_LUI): Likewise.
(MIPS_JR): Likewise.
(MIPS_BAL): Likewise.
(MIPS_NOP): Likewise.
(mips_asm_trampoline_template): Delete.
(mips_trampoline_code_size): New function.
(mips_trampoline_init): Add shorter sequences for all cases
except Pmode == DImoe && !TARGET_USE_PIC_FN_ADDR_REG.
Calculate the opcodes directly, rather than copying from a template.
Only flush the code part of the trampoline.
(TARGET_ASM_TRAMPOLINE_TEMPLATE): Delete.

From-SVN: r152466

15 years agomips.h (DWARF_FRAME_RETURN_COLUMN): Replace GP_REG_FIRST + 31 with RETURN_ADDR_REGNUM.
Richard Sandiford [Mon, 5 Oct 2009 19:29:36 +0000 (19:29 +0000)]
mips.h (DWARF_FRAME_RETURN_COLUMN): Replace GP_REG_FIRST + 31 with RETURN_ADDR_REGNUM.

gcc/
* config/mips/mips.h (DWARF_FRAME_RETURN_COLUMN): Replace
GP_REG_FIRST + 31 with RETURN_ADDR_REGNUM.
(INCOMING_RETURN_ADDR_RTX): Likewise.
(FUNCTION_PROFILER): Likewise.  Replace GP_REG_FIRST + 1
with AT_REGNUM.
* config/mips/sdemtk.h (FUNCTION_PROFILER): Replace GP_REG_FIRST + 31
with RETURN_ADDR_REGNUM.
(MIPS_SAVE_REG_FOR_PROFILING_P): Likewise.
* config/mips/mips.c (mips16_build_call_stub): Replace
GP_REG_FIRST + 31 with RETURN_ADDR_REGNUM, GP_REG_FIRST + 1
with AT_REGNUM and 31 with RETURN_ADDR_REGNUM.
(mips_print_operand_punctuation): Likewise.
(mips_frame_set): Likewise.
(mips16e_output_save_restore): Likewise.
(mips_cfun_might_clobber_call_saved_reg_p): Likewise.
(mips_save_reg_p): Likewise.
(mips_return_addr): Likewise.
(mips_set_return_address): Likewise.
(mips_direct_save_slot_move_p): Likewise.
(mips_output_function_prologue): Likewise.
(mips_restore_reg): Likewise.
(mips_expand_epilogue): Likewise.
(mips_epilogue_uses): Likewise.
* config/mips/mips.md (RETURN_ADD_REGNUM): Define.
(*mov<mode>_ra): Use it instead of a hard-coded 31.
(clear_hazard_<mode>): Likewise.
(call_internal): Likewise.
(call_internal_direct): Likewise.
(call_direct_split): Likewise.
(call_value_internal): Likewise.
(call_value_split): Likewise.
(call_value_internal_direct): Likewise.
(call_value_direct_split): Likewise.
(call_value_multiple_internal): Likewise.
(call_value_multiple_split): Likewise.

From-SVN: r152465

15 years agotrans-expr.c (select_class_proc): New function.
Paul Thomas [Mon, 5 Oct 2009 18:19:55 +0000 (18:19 +0000)]
trans-expr.c (select_class_proc): New function.

2009-10-05  Paul Thomas  <pault@gcc.gnu.org>

* trans-expr.c (select_class_proc): New function.
(conv_function_val): Deal with class methods and call above.
* symbol.c (gfc_type_compatible): Treat case where both ts1 and
ts2 are BT_CLASS.
gfortran.h : Add structure gfc_class_esym_list and include in
the structure gfc_expr.
* module.c (load_derived_extensions): New function.
(read_module): Call above.
(write_dt_extensions): New function.
(write_derived_extensions): New function.
(write_module): Use the above.
* resolve.c (resolve_typebound_call): Add a function expression
for class methods.  This carries the chain of symbols for the
dynamic dispatch in select_class_proc.
(resolve_compcall): Add second, boolean argument to indicate if
a function is being handled.
(check_members): New function.
(check_class_members): New function.
(resolve_class_compcall): New function.
(resolve_class_typebound_call): New function.
(gfc_resolve_expr): Call above for component calls..

2009-10-05  Paul Thomas  <pault@gcc.gnu.org>

* gfortran.dg/dynamic_dispatch_1.f90: New test.
* gfortran.dg/dynamic_dispatch_2.f90: New test.
* gfortran.dg/dynamic_dispatch_3.f90: New test.
* gfortran.dg/module_md5_1.f90: Update md5 sum.

From-SVN: r152463

15 years ago*: Regenerate.
Benjamin Kosnik [Mon, 5 Oct 2009 18:04:44 +0000 (18:04 +0000)]
*: Regenerate.

2009-10-05  Benjamin Kosnik  <bkoz@redhat.com>

* doc/html/*: Regenerate.

From-SVN: r152462

15 years agore PR libstdc++/41530 ([c++0x] Cannot move-construct std::tuple from a different...
John Bytheway [Mon, 5 Oct 2009 17:56:02 +0000 (17:56 +0000)]
re PR libstdc++/41530 ([c++0x] Cannot move-construct std::tuple from a different type of std::tuple)

2009-10-05  John Bytheway  <jbytheway@gmail.com>

PR libstdc++/41530
* include/std/tuple (_Tuple_impl<>::_Tuple_impl(_Tuple_impl<>&&)):
Fix to just move.
* testsuite/20_util/tuple/cons/41530.cc: New.

From-SVN: r152461

15 years agodebug.xml: Add narrative for GDB Python pretty printers.
Phil Muldoon [Mon, 5 Oct 2009 17:51:02 +0000 (17:51 +0000)]
debug.xml: Add narrative for GDB Python pretty printers.

2009-10-05  Phil Muldoon  <pmuldoon@redhat.com>

* doc/xml/manual/debug.xml: Add narrative for GDB Python pretty
printers. Add links to GDB wiki/online manual.

From-SVN: r152460

15 years agore PR rtl-optimization/41511 (combine behaves differently with/without -g)
Eric Botcazou [Mon, 5 Oct 2009 17:48:09 +0000 (17:48 +0000)]
re PR rtl-optimization/41511 (combine behaves differently with/without -g)

PR rtl-optimization/41511
* combine.c (record_value_for_reg): Pass explicit values as argument
to get_last_value_validate.
(get_last_value_validate): Document INSN parameter.
For non-readonly MEMs, assume they might have been modified if INSN
was in another basic block.
(get_last_value): Minor reformatting.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
From-SVN: r152459

15 years agore PR tree-optimization/40992 (cunroll ignoring asm size)
Andrew Pinski [Mon, 5 Oct 2009 17:46:35 +0000 (17:46 +0000)]
re PR tree-optimization/40992 (cunroll ignoring asm size)

2009-10-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/40992
        * final.c (asm_str_count): Split out from asm_insn_count.
        * rtl.h (asm_str_count): New prototype.
        * tree-inline (estimate_num_insns) <case GIMPLE_ASM>: Call
        asm_str_count.

From-SVN: r152458

15 years ago[multiple changes]
Benjamin Kosnik [Mon, 5 Oct 2009 17:42:00 +0000 (17:42 +0000)]
[multiple changes]

2009-10-05  Benjamin Kosnik  <bkoz@redhat.com>
    Edward Smith-Rowland  <3dw4rd@verizon.net>

* include/decimal/decimal: Warn if decimal floating point types
are not available.
* acinclude.m4 (GLIBCXX_ENABLE_DECIMAL_FLOAT): New.
* configure.ac: Use it.
* configure: Regenerate.
* config.h.in: Regenerate.

2009-10-05  Benjamin Kosnik  <bkoz@redhat.com>

* include/Makefile.am: Remove stray line break.

* include/decimal/decimal: Brief class doxygen markup.
* libsupc++/exception: Whitespace cleanup.

* testsuite/libstdc++-dg/conformance.exp: Add testsuite directory
decimal.
* scripts/create_testsuite_files (dlist): Same.

* doc/xml/manual/using.xml: One column in table. Move after TR1.

* testsuite/decimal/bad-cast.cc: Move to...
* testsuite/decimal/cast_neg.cc: ...here.
* testsuite/decimal/bad-mixed-mode.cc: Move to...
* testsuite/decimal/mixed-mode_neg.cc: ...here.
* testsuite/decimal/bad-operator.cc: Move to...
* testsuite/decimal/operator_neg.cc: ...here.

* doc/doxygen/user.cfg.in (INPUT): Add decimal/decimal.

2009-10-05  Janis Johnson  <janis187@us.ibm.com>

* doc/Makefile.am: Process new file.
* doc/xml/manual/intro.xml: Ditto.
* doc/xml/manual/using.xml: Document new header.
* doc/xml/manual/status_cxxdecimal.xml: New file.
* include/Makefile.am: Process new headers.
* include/decimal/decimal: New file.
* include/decimal/decimal.h: New file.

2009-10-05  Janis Johnson  <janis187@us.ibm.com>

* testsuite/decimal: New directory.
* testsuite/decimal/bad-cast.cc: New test.
* testsuite/decimal/bad-mixed-mode.cc: New test.
* testsuite/decimal/bad-operator.cc: New test.
* testsuite/decimal/binary-arith.cc: New test.
* testsuite/decimal/comparison.cc: New test.
* testsuite/decimal/compound-assignment.cc: New test.
* testsuite/decimal/compound-assignment-memfunc.cc: New test.
* testsuite/decimal/conversion-from-float.cc: New test.
* testsuite/decimal/conversion-from-integral.cc: New test.
* testsuite/decimal/conversion-to-generic-float.cc: New test.
* testsuite/decimal/conversion-to-integral.cc: New test.
* testsuite/decimal/ctor.cc: New test.
* testsuite/decimal/incdec.cc: New test.
* testsuite/decimal/incdec-memfunc.cc: New test.
* testsuite/decimal/make-decimal.cc: New test.
* testsuite/decimal/unary-arith.cc: New test.

From-SVN: r152457

15 years agoplugins.texi: Change plugin_pass to register_pass_info.
Sriraman Tallam [Mon, 5 Oct 2009 16:15:54 +0000 (16:15 +0000)]
plugins.texi: Change plugin_pass to register_pass_info.

./: * doc/plugins.texi: Change plugin_pass to register_pass_info.
testsuite/:
* gcc.dg/plugin/selfassign.c (plugin_init): Change plugin_pass to
register_pass_info.
* gcc.dg/plugin/one_time_plugin.c (plugin_init): Change
plugin_pass to register_pass_info.
* g++.dg/plugin/selfassign.c (plugin_init): Change plugin_pass to
register_pass_info.
* g++.dg/plugin/dumb_plugin.c (plugin_init): Change plugin_pass to
register_pass_info.

From-SVN: r152456

15 years agogengtype.c (write_types): Moved call to write_func_for_structure into seperate loops.
Basile Starynkevitch [Mon, 5 Oct 2009 15:59:11 +0000 (15:59 +0000)]
gengtype.c (write_types): Moved call to write_func_for_structure into seperate loops.

2009-10-05  Basile Starynkevitch  <basile@starynkevitch.net>
    Rafael Espindola  <espindola@google.com>

* gengtype.c (write_types): Moved call to write_func_for_structure
into seperate loops.

Co-Authored-By: Rafael Avila de Espindola <espindola@google.com>
From-SVN: r152455

15 years agore PR lto/41281 (toplevel asms do not work)
Richard Guenther [Mon, 5 Oct 2009 14:30:10 +0000 (14:30 +0000)]
re PR lto/41281 (toplevel asms do not work)

2009-10-05  Richard Guenther  <rguenther@suse.de>

PR lto/41281
* lto-cgraph.c (output_cgraph): Output toplevel asms.
(input_cgraph_1): Input toplevel asms.

* gcc.dg/lto/20090914-2_0.c: New testcase.

From-SVN: r152453

15 years agore PR lto/40902 (LTO doesn't merge CV differences properly)
Richard Guenther [Mon, 5 Oct 2009 14:27:39 +0000 (14:27 +0000)]
re PR lto/40902 (LTO doesn't merge CV differences properly)

2009-10-05  Richard Guenther  <rguenther@suse.de>

PR lto/40902
* lto-symtab.c (lto_compatible_attributes_p): Remove.
(external_aggregate_decl_p): Likewise.
(lto_symtab_compatible): Re-structure.  Remove dead code.
For variables ignore toplevel qualifiers when comparing types.
Issue warnings, not errors for mismatched user-alignment.

* gcc.dg/lto/20091005-1_0.c: New testcase.
* gcc.dg/lto/20091005-1_1.c: Likewise.

From-SVN: r152452

15 years ago[multiple changes]
Paolo Carlini [Mon, 5 Oct 2009 14:11:11 +0000 (14:11 +0000)]
[multiple changes]

2009-10-05  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/lib/libstdc++.exp (check_v3_target_rvalref): Remove.
* testsuite/lib/dg-options.exp (dg-require-rvalref): Likewise.

2009-10-05  Chris Jefferson  <chris@bubblescope.net>

* include/bits/stl_algo.h (__stable_partition_adaptive,
__rotate_adaptive, __merge_adaptive, __merge_sort_loop):
Extend to work with rvalue references in C++0x mode.
* testsuite/25_algorithms/inplace_merge/moveable2.cc: New.
* testsuite/25_algorithms/inplace_merge/moveable.cc: Likewise.
* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
* testsuite/25_algorithms/stable_sort/moveable2.cc: Likewise.
* testsuite/25_algorithms/stable_sort/moveable.cc: Likewise.

From-SVN: r152451

15 years agore PR lto/41552 (Undefined references with -flto, dependent on object file ordering)
Richard Guenther [Mon, 5 Oct 2009 14:05:54 +0000 (14:05 +0000)]
re PR lto/41552 (Undefined references with -flto, dependent on object file ordering)

2009-10-05  Richard Guenther  <rguenther@suse.de>

PR lto/41552
PR lto/41487
* lto-symtab.c (struct lto_symtab_base_def): Remove.
(struct lto_symtab_identifier_def): Likewise.
(struct lto_symtab_decl_def): Likewise.
(struct lto_symtab_entry_def): New.
(lto_symtab_identifier_t): Rename to ...
(lto_symtab_entry_t): ... this.
(lto_symtab_decls): Remove.
(lto_symtab_base_hash): Rename to ...
(lto_symtab_entry_hash): ... this.
(lto_symtab_base_eq): Rename to ...
(lto_symtab_entry_eq): ... this.
(lto_symtab_base_marked_p): Rename to ...
(lto_symtab_entry_marked_p): ... this.
(lto_symtab_identifier_marked_p): Remove.
(lto_symtab_decl_marked_p): Likewise.
(lto_symtab_maybe_init_hash_tables): Rename to ...
(lto_symtab_maybe_init_hash_table): ... this.
(lto_symtab_set_resolution_and_file_data): Remove.
(lto_symtab_register_decl): New function.
(lto_symtab_get_identifier): Remove.
(lto_symtab_get): New function.
(lto_symtab_get_resolution): Adjust.
(lto_symtab_get_identifier_decl): Remove.
(lto_symtab_set_identifier_decl): Likewise.
(lto_symtab_merge_decl): Rename to ...
(lto_symtab_merge): ... this.  Rewrite.
(lto_symtab_merge_var): Remove.
(lto_symtab_merge_fn): Likewise.
(lto_symtab_prevailing_decl): Adjust.
(lto_cgraph_replace_node): New function.
(lto_symtab_merge_decls_2): Likewise.
(lto_symtab_merge_decls_1): Likewise.
(lto_symtab_fixup_var_decls): Likewise.
(lto_symtab_resolve_symbols): Likewise.
(lto_symtab_merge_decls): Likewise.
(lto_symtab_prevailing_decl): Adjust.
(lto_symtab_get_symtab_def): Remove.
(lto_symtab_get_file_data): Likewise.
(lto_symtab_clear_resolution): Adjust.
(lto_symtab_clear_resolution): Likewise.
* lto-cgraph.c (input_edge): Do not merge cgraph nodes here.
(input_cgraph_1): Likewise.
* lto-streamer-in.c (get_resolution): Do not provide fake
symbol resolutions here.
(deferred_global_decls): Remove.
(lto_register_deferred_decls_in_symtab): Likewise.
(lto_register_var_decl_in_symtab): Change signature, register
variable via lto_symtab_register_decl.
(lto_register_function_decl_in_symtab): Likewise.
(lto_read_tree): Adjust.
* lto-streamer.h (lto_register_deferred_decls_in_symtab): Remove.
(lto_symtab_merge_var): Likewise.
(lto_symtab_merge_fn): Likewise.
(lto_symtab_register_decl): Declare.
(lto_symtab_merge_decls): Likewise.

lto/
* lto.c (lto_read_decls): Do not register deferred decls.
(read_cgraph_and_symbols): Delay symbol and cgraph merging
until after reading the IPA summaries.

* g++.dg/lto/20091002-1_0.C: Adjust flags.
* g++.dg/lto/20091004-1_0.C: New testcase.
* g++.dg/lto/20091004-1_1.C: Likewise.
* g++.dg/lto/20091004-2_0.C: Likewise.
* g++.dg/lto/20091004-2_1.C: Likewise.
* g++.dg/lto/20091004-3_0.C: Likewise.
* g++.dg/lto/20091004-3_1.C: Likewise.

From-SVN: r152450

15 years agore PR tree-optimization/23821 (DOM and VRP creating harder to optimize code)
Richard Guenther [Mon, 5 Oct 2009 13:18:09 +0000 (13:18 +0000)]
re PR tree-optimization/23821 (DOM and VRP creating harder to optimize code)

2009-10-05  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/23821
* tree-vrp.c (vrp_finalize): Do not perform copy propagation.
* tree-ssa-dom.c (cprop_operand): Do not propagate copies into
simple IV increments.

* gcc.dg/torture/pr23821.c: New testcase.

From-SVN: r152449

15 years agore PR fortran/41403 (miscompilation of goto/label using code)
Daniel Kraft [Mon, 5 Oct 2009 13:15:35 +0000 (15:15 +0200)]
re PR fortran/41403 (miscompilation of goto/label using code)

2009-10-05  Daniel Kraft  <d@domob.eu>

PR fortran/41403
* trans-stmt.c (gfc_trans_goto): Ignore statement list on assigned goto
if it is present.

2009-10-05  Daniel Kraft  <d@domob.eu>

PR fortran/41403
* gfortran.dg/goto_6.f: New test.
* gfortran.dg/goto_7.f: New test.

From-SVN: r152448

15 years agoarm.c (arm_override_options): Really initialize flag_dwarf2_cfi_asm to 0.
Ramana Radhakrishnan [Mon, 5 Oct 2009 09:25:34 +0000 (09:25 +0000)]
arm.c (arm_override_options): Really initialize flag_dwarf2_cfi_asm to 0.

2009-10-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>

        * config/arm/arm.c (arm_override_options): Really initialize
        flag_dwarf2_cfi_asm to 0.

From-SVN: r152446

15 years agore PR rtl-optimization/41574 (Distribute floating point expressions causes bad code...
Doug Kwan [Mon, 5 Oct 2009 09:08:46 +0000 (09:08 +0000)]
re PR rtl-optimization/41574 (Distribute floating point expressions causes bad code [4.4 only])

2009-10-05  Doug Kwan  <dougkwan@google.com>

PR rtl-optimization/41574
Index: combine.c (distribute_and_simplify_rtx): Quit if RTX mode is
floating point and we are not doing unsafe math optimizations.

From-SVN: r152443

15 years agoDaily bump.
GCC Administrator [Mon, 5 Oct 2009 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r152442

15 years agousing.xml: Add profile headers.
Benjamin Kosnik [Mon, 5 Oct 2009 00:13:36 +0000 (00:13 +0000)]
using.xml: Add profile headers.

2009-10-04  Benjamin Kosnik  <bkoz@redhat.com>

* doc/xml/manual/using.xml: Add profile headers.
* testsuite/ext/profile/mh.cc: Restrict to linux.

From-SVN: r152439

15 years agoplugin-api.h: Fix compile.
Jerry Quinn [Sun, 4 Oct 2009 16:53:12 +0000 (16:53 +0000)]
plugin-api.h: Fix compile.

2009-10-04  Jerry Quinn  <jlquinn@optonline.net>

* plugin-api.h: Fix compile.

From-SVN: r152438

15 years agoDaily bump.
GCC Administrator [Sun, 4 Oct 2009 00:17:00 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r152437

15 years agoMerge lto branch into trunk.
Diego Novillo [Sat, 3 Oct 2009 21:10:11 +0000 (17:10 -0400)]
Merge lto branch into trunk.

From-SVN: r152434

15 years agore PR c++/41553 (timeout when compiling g++.old-deja/g++.other/crash28.C)
Jason Merrill [Sat, 3 Oct 2009 18:48:44 +0000 (14:48 -0400)]
re PR c++/41553 (timeout when compiling g++.old-deja/g++.other/crash28.C)

PR c++/41553
* parser.c (cp_parser_lambda_introducer): Avoid infinite loop on
parse error.

From-SVN: r152433

15 years agore PR testsuite/41542 (gcc.dg/tree-ssa/ipa-cp-1.c failed)
Uros Bizjak [Sat, 3 Oct 2009 08:15:55 +0000 (10:15 +0200)]
re PR testsuite/41542 (gcc.dg/tree-ssa/ipa-cp-1.c failed)

PR testsuite/41542
* gcc.dg/tree-ssa/ipa-cp-1.c: Remove mis-merged garbage.

From-SVN: r152432

15 years agomerge branch profile-stdlib
Silvius Rus [Sat, 3 Oct 2009 02:17:41 +0000 (02:17 +0000)]
merge branch profile-stdlib

From-SVN: r152431

15 years agomangle.c (write_unnamed_type_name): Implement.
Jason Merrill [Sat, 3 Oct 2009 00:46:49 +0000 (20:46 -0400)]
mangle.c (write_unnamed_type_name): Implement.

* mangle.c (write_unnamed_type_name): Implement.
(local_class_index): Split out from...
(discriminator_for_local_entity): ...here.
(nested_anon_class_index): New.
* cp-tree.h (TYPE_FUNCTION_SCOPE_P): New.

From-SVN: r152429

15 years agoDaily bump.
GCC Administrator [Sat, 3 Oct 2009 00:17:42 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r152428

15 years agoAdd support for comdat type sections for DWARF v4.
Cary Coutant [Fri, 2 Oct 2009 20:44:09 +0000 (20:44 +0000)]
Add support for comdat type sections for DWARF v4.

Add support for comdat type sections for DWARF v4.  Merge from dwarf4
branch.
* dwarf2out.c (DWARF_TYPE_SIGNATURE_SIZE): New constant.
(dw_die_ref): Define vector type.
(enum dw_val_class): Add dw_val_class_data8.
(struct dw_val_struct): Add v.val_data8.
(comdat_type_node_ref): New type.
(struct die_struct): Move die_symbol into a union; add new field
die_type_node.  Change all uses.
(comdat_type_node): New type.
(skeleton_chain_node): New type.
(DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): New constant.
(comdat_type_list): New variable.
(dwarf_tag_name): Add DW_TAG_type_unit.
(dwarf_attr_name): Add DW_AT_signature.
(add_AT_data8): New function.
(replace_child): New function.
(move_all_children): New function.
(print_signature): New function.
(print_die): Print signature information; add dw_val_class_data8.
(attr_checksum): Support dw_val_class_data8.
(CHECKSUM_STRING): Redefine for DWARF-4 to include
trailing NULL byte.
(CHECKSUM_SLEB128, CHECKSUM_ULEB128): New macros.
(checksum_sleb128, checksum_uleb128): New functions.
(checksum_die_context): New function.
(loc_checksum_ordered): New function.
(attr_checksum_ordered): New function.
(struct checksum_attributes): New structure.
(collect_checksum_attributes): New function.
(die_checksum_ordered): New function.
(generate_type_signature): New function.
(same_dw_val_p): Add dw_val_class_data8.
(is_symbol_die): Use new is_declaration_die function.
(is_declaration_die): New function.
(should_move_die_to_comdat): New function.
(clone_die): New function.
(clone_tree): New function.
(clone_as_declaration): New function.
(copy_declaration_context): New function.
(generate_skeleton_ancestor_tree): New function.
(generate_skeleton_bottom_up): New function.
(generate_skeleton): New function.
(remove_child_or_replace_with_skeleton): New function.
(break_out_comdat_types): New function.
(struct decl_table_entry): New type.
(htab_decl_hash): New function.
(htab_decl_eq): New function.
(htab_decl_del): New function.
(copy_ancestor_tree): New function.
(copy_decls_walk): New function.
(copy_decls_for_unworthy_types): New function.
(build_abbrev_table): Don't assert on missing die_symbol when doing
comdat type sections.
(size_of_die): Use DW_FORM_sig8 for external references; Add
dw_val_class_data8.
(unmark_dies): Don't assert for unmarked dies when doing comdat
type sections.
(value_format): Support DW_FORM_sig8 and dw_val_class_data8.
(output_signature): New function.
(output_die): Likewise.
(output_compilation_unit_header): Mark output as DWARF version 3
even if generating DWARF 4.
(output_comdat_type_unit): New function.
(output_line_info): Mark output as DWARF version 3 even if generating
DWARF 4.
(dwarf2out_start_source_file): Don't do eliminate_dwarf2_dups with
DWARF-4.
(dwarf2out_end_source_file): Likewise.
(prune_unused_types_walk_attribs): Don't follow references into
comdat type sections.
(prune_unused_types_mark): When generating type units, do not mark
children of non-defining declarations of types; do mark children of
type entries.
(prune_unused_types): Process comdat type sections.
(htab_ct_hash): New function.
(htab_ct_eq): New function.
(dwarf2out_finish): Move types to comdat sections when using DWARF-4.
Add a pointer to the line table from type unit entries so
DW_AT_decl_file has meaning.
* varasm.c (default_elf_asm_named_section): Use identifier name as
comdat key instead of lang hook.

From-SVN: r152421

15 years agodecl.c (gnat_to_gnu_entity): Generate an XVZ variable alongside the XVS type if the...
Eric Botcazou [Fri, 2 Oct 2009 20:30:59 +0000 (20:30 +0000)]
decl.c (gnat_to_gnu_entity): Generate an XVZ variable alongside the XVS type if the size is not constant.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>:
Generate an XVZ variable alongside the XVS type if the size is
not constant.
(maybe_pad_type): Minor tweak.

From-SVN: r152420

15 years agogcov-io.c (gcov_open): Open files read-only when MODE < 0
Neil Vachharajani [Fri, 2 Oct 2009 20:21:43 +0000 (20:21 +0000)]
gcov-io.c (gcov_open): Open files read-only when MODE < 0

2009-10-02  Neil Vachharajani  <nvachhar@google.com>

       * gcov-io.c (gcov_open): Open files read-only when MODE < 0

From-SVN: r152419

15 years agodecl.c (check_ok_for_atomic): Do nothing if the type doesn't come from source.
Eric Botcazou [Fri, 2 Oct 2009 20:16:18 +0000 (20:16 +0000)]
decl.c (check_ok_for_atomic): Do nothing if the type doesn't come from source.

* gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type
doesn't come from source.

From-SVN: r152418

15 years agodecl.c (gnat_to_gnu_component_type): Force at least unit size for the component size...
Eric Botcazou [Fri, 2 Oct 2009 20:03:16 +0000 (20:03 +0000)]
decl.c (gnat_to_gnu_component_type): Force at least unit size for the component size of an array with aliased components.

* gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least
unit size for the component size of an array with aliased components.
(maybe_pad_type): Do not warn for MAX_EXPR.

From-SVN: r152417

15 years ago* config/i386/i386.md (divmod<mode>4) Macroize expander from
Uros Bizjak [Fri, 2 Oct 2009 19:47:34 +0000 (21:47 +0200)]
* config/i386/i386.md (divmod<mode>4) Macroize expander from
divmoddi4, divmodsi4 and divmodhi4 patterns using SWI248 macro.
(*divmod<mode>4): Macroize insn_and_split pattern from
*divmoddi4_cltd_rex64, *divmodsi4_cltd and divmodhi4 insn patterns
and their corresponding splitters usign SWI248 macro.  Split SImode
insn to generate cltd and DImode insn to generate cqto instead of
move+shift when optimizing for size or TARGET_USE_CLTD is in effect.
(*divmoddi4_nocltd_rex64, *divmodsi4_nocltd): Remove insn patterns.
(*divmod<mode>4_noext): Macroize insn from *divmoddi_noext_rex64 and
*divmodsi_noext patterns using SWI248 macro.
(udivmod<mode>4): Macroize expander from udivmoddi4, udivmodsi4 and
udivmodhi4 patterns using SWI248 macro.
(*udivmod<mode>4): Macroize insn_and_split pattern from
*udivmoddi4, udivmodsi4 and udivmodhi4 patterns and their
corresponding splitters using SWI248 macro.
(*udivmod<mode>4_noext): Macroize insn from *udivmoddi4_noext,
*udivmodsi4_noext and *udivmodhi_noext patterns using SWI248 macro.

From-SVN: r152416

15 years agostor-layout.c (layout_type): Make sure that an array of zero-sized element is zero...
Eric Botcazou [Fri, 2 Oct 2009 19:10:40 +0000 (19:10 +0000)]
stor-layout.c (layout_type): Make sure that an array of zero-sized element is zero-sized regardless of its...

* stor-layout.c (layout_type) <ARRAY_TYPE>: Make sure that an array
of zero-sized element is zero-sized regardless of its extent.

From-SVN: r152415

15 years agore PR debug/40521 (-g causes GCC to generate .eh_frame)
Jakub Jelinek [Fri, 2 Oct 2009 18:52:15 +0000 (20:52 +0200)]
re PR debug/40521 (-g causes GCC to generate .eh_frame)

PR debug/40521
* configure.ac (HAVE_GAS_CFI_SECTIONS_DIRECTIVE): New test.
* configure: Regenerated.
* config.in: Regenerated.
* dwarf2out.c (dwarf2out_do_cfi_asm): Return false if
!HAVE_GAS_CFI_SECTIONS_DIRECTIVE and not emitting .eh_frame.
(dwarf2out_init): If HAVE_GAS_CFI_SECTIONS_DIRECTIVE and
not emitting .eh_frame, emit .cfi_sections .debug_frame
directive.

From-SVN: r152414

15 years agoMove entry from gcc/ChangeLog to gcc/cp/ChangeLog.
Janis Johnson [Fri, 2 Oct 2009 18:34:26 +0000 (18:34 +0000)]
Move entry from gcc/ChangeLog to gcc/cp/ChangeLog.

From-SVN: r152413

15 years agoguality.exp: Disable on darwin.
Jack Howarth [Fri, 2 Oct 2009 18:15:11 +0000 (18:15 +0000)]
guality.exp: Disable on darwin.

2009-10-02  Jack Howarth  <howarth@bromo.med.uc.edu>

        * gcc.dg/guality/guality.exp: Disable on darwin.

From-SVN: r152412

15 years agocall.c (convert_arg_to_ellipsis): Avoid promoting decimal32 to double.
Janis Johnson [Fri, 2 Oct 2009 16:38:57 +0000 (16:38 +0000)]
call.c (convert_arg_to_ellipsis): Avoid promoting decimal32 to double.

* call.c (convert_arg_to_ellipsis): Avoid promoting decimal32
to double.

* c-c++-common/dfp/func-vararg-alternate-d32.c: Remove XFAIL.
* c-c++-common/dfp/func-vararg-dfp.c: Ditto.
* c-c++-common/dfp/func-vararg-mixed.c: Ditto.
* c-c++-common/dfp/func-vararg-mixed-2.c: Ditto.

From-SVN: r152408

15 years agore PR fortran/41479 (intent(out) for types with default initialization)
Tobias Burnus [Fri, 2 Oct 2009 16:25:50 +0000 (18:25 +0200)]
re PR fortran/41479 (intent(out) for types with default initialization)

2009-10-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41479
        * trans-decl.c (gfc_init_default_dt): Check for presence of
        the argument only if it is optional or in entry master.
        (init_intent_out_dt): Ditto; call gfc_init_default_dt
        for all derived types with initializers.

2009-10-02  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41479
        * gfortran.dg/intent_out_5.f90: New test.

From-SVN: r152407

15 years agoimprove DECL_ABSTRACT_ORIGIN comment
Jason Merrill [Fri, 2 Oct 2009 15:32:58 +0000 (11:32 -0400)]
improve DECL_ABSTRACT_ORIGIN comment

From-SVN: r152404