platform/upstream/gcc.git
13 years agoUse backend interface for temporary variables.
Ian Lance Taylor [Tue, 19 Apr 2011 21:52:41 +0000 (21:52 +0000)]
Use backend interface for temporary variables.

* go-gcc.cc (Gcc_backend::temporary_variable): New function.

From-SVN: r172737

13 years agom32c.c (m32c_emit_epilogue): Don't try to push registers if we already know there...
DJ Delorie [Tue, 19 Apr 2011 20:37:11 +0000 (16:37 -0400)]
m32c.c (m32c_emit_epilogue): Don't try to push registers if we already know there aren't any.

* config/m32c/m32c.c (m32c_emit_epilogue): Don't try to push
registers if we already know there aren't any.
(m32c_emit_epilogue): Don't emit a barrier here.
(m32c_emit_eh_epilogue): Likewise.
* config/m32c/blkmov.md (movstr): Don't fail on wrong-type
operands at expand time.
* config/m32c/m32c.h (WCHAR_TYPE_SIZE): Change to 4 to match "long
int" wchar type.
(REG_CLASS_CONTENTS, reg_class, REG_CLASS_NAMES): Remove
duplicates.  Provide aliases instead.
* config/m32c/prologue.md (eh_return): Emit a barrier here.
(eh_epilogue): Add a "(return)" here as a hint to other parts of
the compiler.

From-SVN: r172735

13 years agosparc.h (GENERAL_OR_I64, [...]): Remove.
Anatoly Sokolov [Tue, 19 Apr 2011 18:23:23 +0000 (22:23 +0400)]
sparc.h (GENERAL_OR_I64, [...]): Remove.

* config/sparc/sparc.h (GENERAL_OR_I64, REGISTER_MOVE_COST): Remove.
* config/sparc/sparc.c (TARGET_REGISTER_MOVE_COST): Define.
(general_or_i64_p, sparc_register_move_cost): New function.

From-SVN: r172732

13 years agoUse backend interface for blocks.
Ian Lance Taylor [Tue, 19 Apr 2011 18:20:05 +0000 (18:20 +0000)]
Use backend interface for blocks.

* go-gcc.cc (class Bblock): Define.
(Gcc_backend::if_statement): Change then_block and else_block to
Bblock*.
(Gcc_backend::block): New function.
(Gcc_backend::block_add_statements): New function.
(Gcc_backend::block_statement): New function.
(tree_to_block, block_to_tree): New functions.

From-SVN: r172731

13 years agoUse XCNEWVAR instead of xcalloc
Janne Blomqvist [Tue, 19 Apr 2011 18:18:08 +0000 (21:18 +0300)]
Use XCNEWVAR instead of xcalloc

From-SVN: r172730

13 years agoUse XDELETEVEC instead of free
Janne Blomqvist [Tue, 19 Apr 2011 17:57:05 +0000 (20:57 +0300)]
Use XDELETEVEC instead of free

From-SVN: r172729

13 years agoReplace gfc_getmem with XCNEW, XCNEWVEC or xcalloc
Janne Blomqvist [Tue, 19 Apr 2011 17:42:51 +0000 (20:42 +0300)]
Replace gfc_getmem with XCNEW, XCNEWVEC or xcalloc

From-SVN: r172728

13 years agoinstall.texi (Configuration, [...]): Remove mach.
Rainer Orth [Tue, 19 Apr 2011 17:22:28 +0000 (17:22 +0000)]
install.texi (Configuration, [...]): Remove mach.

gcc:
* doc/install.texi (Configuration, --enable-threads): Remove mach.
Add lynx, mipssde.
Sort table.

boehm-gc:
* configure.ac (THREADS): Remove decosf1, irix, mach, os2.
* configure: Regenerate

libjava:
* configure.ac (THREADS): Remove decosf1, irix, mach, os2.
* configure: Regenerate

From-SVN: r172726

13 years agorevert 172213 and add assertion
Xinliang David Li [Tue, 19 Apr 2011 16:48:40 +0000 (16:48 +0000)]
revert 172213 and add assertion

From-SVN: r172722

13 years agore PR target/48678 (unable to find a register to spill in class ‘GENERAL_REGS’)
Jakub Jelinek [Tue, 19 Apr 2011 16:47:06 +0000 (18:47 +0200)]
re PR target/48678 (unable to find a register to spill in class ‘GENERAL_REGS’)

PR target/48678
* config/i386/i386.md (movstrict<mode>): FAIL if operands[0]
is a SUBREG with non-MODE_INT mode inside of it.

* gcc.target/i386/pr48678.c: New test.

From-SVN: r172721

13 years agoipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize also according...
Martin Jambor [Tue, 19 Apr 2011 16:35:33 +0000 (18:35 +0200)]
ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize also according to actual contants.

2011-04-19  Martin Jambor  <mjambor@suse.cz>

* ipa-cp.c (ipcp_process_devirtualization_opportunities): Devirtualize
also according to actual contants.
* gimple-fold.c (gimple_extract_devirt_binfo_from_cst): New function.
(gimple_fold_call): Use it.
* gimple.h (gimple_extract_devirt_binfo_from_cst): Declare.

* testsuite/g++.dg/opt/devirt1.C: Bump to -O2, remove XFAIL.
* testsuite/g++.dg/opt/devirt2.C: New test.
* testsuite/g++.dg/ipa/devirt-g-1.C: Likewise.

From-SVN: r172719

13 years agore PR fortran/48588 (ICE (segfault) in gfc_get_nodesc_array_type)
Tobias Burnus [Tue, 19 Apr 2011 16:26:13 +0000 (18:26 +0200)]
re PR fortran/48588 (ICE (segfault) in gfc_get_nodesc_array_type)

2011-04-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48588
        * parse.c (resolve_all_program_units): Skip modules.
        (translate_all_program_units): Handle modules.
        (gfc_parse_file): Defer code generation for modules.

2011-04-19  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48588
        * gfortran.dg/whole_file_33.f90: New.

From-SVN: r172718

13 years agoipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar non-pointer assignments.
Martin Jambor [Tue, 19 Apr 2011 16:19:13 +0000 (18:19 +0200)]
ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar non-pointer assignments.

2011-04-19  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (stmt_may_be_vtbl_ptr_store): Return false for scalar
non-pointer assignments.

From-SVN: r172717

13 years agoipa-cp.c (ipcp_process_devirtualization_opportunities): Take into account anc_offset...
Martin Jambor [Tue, 19 Apr 2011 16:15:08 +0000 (18:15 +0200)]
ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into account anc_offset and otr_type from the indirect edge info.

2011-04-19  Martin Jambor  <mjambor@suse.cz>

* ipa-cp.c (ipcp_process_devirtualization_opportunities): Take into
account anc_offset and otr_type from the indirect edge info.
* ipa-prop.c (get_ancestor_addr_info): New function.
(compute_complex_ancestor_jump_func): Assignment analysis moved to
get_ancestor_addr_info, call it.
(ipa_note_param_call): Do not initialize information about polymorphic
calls, return the indirect call graph edge.  Remove the last
parameter, adjust all callers.
(ipa_analyze_virtual_call_uses): Process also calls to ancestors of
parameters.  Initialize polymorphic information in the indirect edge.

* testsuite/g++.dg/ipa/devirt-7.C: New test.

From-SVN: r172716

13 years agotrans-decl.c (gfc_generate_function_code): Call cgraph_create_node instead of cgraph_...
Martin Jambor [Tue, 19 Apr 2011 16:08:50 +0000 (18:08 +0200)]
trans-decl.c (gfc_generate_function_code): Call cgraph_create_node instead of cgraph_get_create_node.

2011-04-19  Martin Jambor  <mjambor@suse.cz>

gcc/fotrean/
* trans-decl.c (gfc_generate_function_code): Call cgraph_create_node
instead of cgraph_get_create_node.

From-SVN: r172715

13 years agoAdd missing entry.
John David Anglin [Tue, 19 Apr 2011 15:13:07 +0000 (15:13 +0000)]
Add missing entry.

From-SVN: r172713

13 years agore PR bootstrap/48148 (LTO bootstrap failed with bootstrap-profiled)
Eric Botcazou [Tue, 19 Apr 2011 14:46:37 +0000 (14:46 +0000)]
re PR bootstrap/48148 (LTO bootstrap failed with bootstrap-profiled)

PR lto/48148
* gimple.c (gimple_types_compatible_p_1) <ENUMERAL_TYPE>: Do not merge
the types if they have different enumeration identifiers.

From-SVN: r172712

13 years agocgraph.h (cgraph_optimize_for_size_p): Declare.
Jan Hubicka [Tue, 19 Apr 2011 14:23:38 +0000 (16:23 +0200)]
cgraph.h (cgraph_optimize_for_size_p): Declare.

* cgraph.h (cgraph_optimize_for_size_p): Declare.
* ipa-cp.c (ipcp_insert_stage): Use cgraph_optimize_for_size_p.
* predict.c (cgraph_optimize_for_size_p): Break out from ...
(optimize_function_for_size_p) ... here.

From-SVN: r172711

13 years agore PR libstdc++/48521 ([C++0x] std::result_of doesn't work with pointer to member)
Jonathan Wakely [Tue, 19 Apr 2011 13:26:08 +0000 (13:26 +0000)]
re PR libstdc++/48521 ([C++0x] std::result_of doesn't work with pointer to member)

2011-04-19  Jonathan Wakely  <jwakely.gcc@gmail.com>

PR libstdc++/48521
* include/std/type_traits (result_of): Handle pointer to member.
* include/std/functional (__invoke): Likewise.
(_Function_to_function_pointer): Remove.
(_Reference_wrapper_base): Provide nested types independent of
unary_function and binary_function.
(reference_wrapper::operator()): DR 2017.
(ref(const A&&), cref(const A&&): Define as deleted.
* include/std/future (async): Simplify SFINAE and use result_of to
support pointer to member.
* testsuite/20_util/reference_wrapper/invoke.cc: Test pointer to
member.
* testsuite/20_util/reference_wrapper/24803.cc: Likewise.
* testsuite/20_util/reference_wrapper/typedefs.cc: Test for types
instead of derivation from unary_function and binary_function.
* testsuite/20_util/declval/requirements/1_neg.cc: Adjust.
* testsuite/20_util/reference_wrapper/invoke-2.cc: New.
* testsuite/20_util/reference_wrapper/ref_neg.c: New.
* testsuite/20_util/reference_wrapper/typedefs-3.c: New.

From-SVN: r172709

13 years agore PR debug/48207 (ICE in lhd_set_decl_assembler_name, at langhooks.c:158)
Richard Guenther [Tue, 19 Apr 2011 13:04:57 +0000 (13:04 +0000)]
re PR debug/48207 (ICE in lhd_set_decl_assembler_name, at langhooks.c:158)

2011-04-19  Richard Guenther  <rguenther@suse.de>

PR lto/48207
* tree.c (free_lang_data): Do not reset the decl-assembler-name
langhook.

* g++.dg/lto/pr48207_0.C: New testcase.

From-SVN: r172708

13 years agotree-inline.c (expand_call_inline): Do not issue a -Winline warning if DECL_NO_INLINE...
Eric Botcazou [Tue, 19 Apr 2011 11:22:35 +0000 (11:22 +0000)]
tree-inline.c (expand_call_inline): Do not issue a -Winline warning if DECL_NO_INLINE_WARNING_P is set on the function.

* tree-inline.c (expand_call_inline): Do not issue a -Winline warning
if DECL_NO_INLINE_WARNING_P is set on the function.

From-SVN: r172707

13 years agore PR middle-end/47976 (Recent gfortran.dg/actual_array_constructor_3.f90 regression...
Bernd Schmidt [Tue, 19 Apr 2011 10:54:47 +0000 (10:54 +0000)]
re PR middle-end/47976 (Recent gfortran.dg/actual_array_constructor_3.f90 regression on arm-linux-gnueabi)

2011-04-19  Bernd Schmidt  <bernds@codesourcery.com>

PR fortran/47976
* reload1.c (inc_for_reload): Return void. All callers changed.
(emit_input_reload_insns): Don't try to delete previous output
reloads to a register, or record spill_reg_store for autoincs.

From-SVN: r172706

13 years agogengtype.h: Updated copyright year.
Basile Starynkevitch [Tue, 19 Apr 2011 09:45:18 +0000 (09:45 +0000)]
gengtype.h: Updated copyright year.

2011-04-19  Basile Starynkevitch  <basile@starynkevitch.net>

* gengtype.h: Updated copyright year.
(struct input_file_st): Add inpisplugin field.
(type_fileloc): New function.
* gengtype.c
(write_typed_struct_alloc_def): Add gcc_assert.
(write_typed_alloc_defns): Ditto. Don't output for plugin files.
(write_typed_alloc_defns): Don't output for plugin files.
(input_file_by_name): Clear inpisplugin field.
(main): Set inpisplugin field for plugin files.

From-SVN: r172705

13 years agoIn gcc/: 2011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>
Nicola Pero [Tue, 19 Apr 2011 09:14:48 +0000 (09:14 +0000)]
In gcc/: 2011-04-19 Nicola Pero <nicola.pero@meta-innovation.com>

In gcc/:
2011-04-19  Nicola Pero  <nicola.pero@meta-innovation.com>

* gengtype-state.c (string_eq): New.
(read_state): Use string_eq instead of strcmp when creating the
state_ident_tab.

From-SVN: r172702

13 years agoarm-protos.h (thumb1_legitimate_address_p): New prototype.
Wei Guozhi [Tue, 19 Apr 2011 08:46:54 +0000 (08:46 +0000)]
arm-protos.h (thumb1_legitimate_address_p): New prototype.

* config/arm/arm-protos.h (thumb1_legitimate_address_p): New prototype.
* config/arm/arm.c (thumb1_legitimate_address_p): Remove the static
linkage.
* config/arm/constraints.md (Uu): New constraint.
* config/arm/arm.md (*arm_movqi_insn): Compute attr "length".

From-SVN: r172697

13 years agoconfig.gcc (-*-*-*vms): Added.
Tristan Gingold [Tue, 19 Apr 2011 08:10:49 +0000 (08:10 +0000)]
config.gcc (-*-*-*vms): Added.

2011-04-19  Tristan Gingold  <gingold@adacore.com>

* config.gcc (-*-*-*vms): Added.
(alpha64-dec-*vms*,alpha*-dec-*vms*, ia64-hp-*vms*): Common
definitions moved.
* config/vms/vms-ld.c: New file.
* config/vms/vms-ar.c: New file.
* config/vms/t-vmsnative: New file.

From-SVN: r172695

13 years agoTweak a few entries
Eric Botcazou [Tue, 19 Apr 2011 06:35:49 +0000 (06:35 +0000)]
Tweak a few entries

From-SVN: r172694

13 years agoUse backend interface for variables.
Ian Lance Taylor [Tue, 19 Apr 2011 04:23:00 +0000 (04:23 +0000)]
Use backend interface for variables.

* go-gcc.cc: Include "go-c.h".
(class Bvariable): Define.
(Gcc_backend::init_statement): New function.
(Gcc_backend::global_variable): New function.
(Gcc_backend::global_variable_set_init): New function.
(Gcc_backend::local_variable): New function.
(Gcc_backend::parameter_variable): New function.
(tree_to_type, var_to_tree): New functions.
* Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
* (go/gogo-tree.o): Depend on go/gofrontend/backend.h.

From-SVN: r172693

13 years agore PR testsuite/48675 (20_util/hash/chi2_quality.cc timeout)
Hans-Peter Nilsson [Tue, 19 Apr 2011 03:59:16 +0000 (03:59 +0000)]
re PR testsuite/48675 (20_util/hash/chi2_quality.cc timeout)

PR testsuite/48675
* testsuite/20_util/hash/chi2_quality.cc (test_document_words): Stub
this part if SAMPLES < 100000.

From-SVN: r172692

13 years agoDaily bump.
GCC Administrator [Tue, 19 Apr 2011 00:18:22 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r172689

13 years agotype_traits (is_nothrow_default_constructible, [...]): Add.
Paolo Carlini [Tue, 19 Apr 2011 00:10:53 +0000 (00:10 +0000)]
type_traits (is_nothrow_default_constructible, [...]): Add.

2011-04-18  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/type_traits (is_nothrow_default_constructible,
is_nothrow_copy_constructible, is_nothrow_move_constructible,
is_copy_constructible, is_move_constructible): Add.
(has_nothrow_default_constructor, has_nothrow_copy_constructor):
Remove.
(is_nothrow_constructible): Adjust.

* testsuite/util/testsuite_tr1.h (ThrowDefaultClass,
ThrowCopyConsClass, ThrowMoveConsClass, NoexceptDefaultClass,
ExceptDefaultClass, NoexceptCopyConsClass, ExceptCopyConsClass,
NoexceptMoveConsClass, ExceptMoveConsClass): Add in C++0x mode.

* testsuite/20_util/has_nothrow_default_constructor: Remove.
* testsuite/20_util/has_nothrow_copy_constructor: Likewise.

* testsuite/20_util/is_nothrow_move_constructible/value.cc: Likewise.
* testsuite/20_util/is_nothrow_move_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_nothrow_move_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_constructible/value.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_nothrow_copy_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_nothrow_default_constructible/value.cc:
Likewise.
* testsuite/20_util/is_nothrow_default_constructible/requirements/
typedefs.cc: Likewise.
* testsuite/20_util/is_nothrow_default_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_move_constructible/value.cc: Likewise.
* testsuite/20_util/is_move_constructible/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_move_constructible/requirements/
explicit_instantiation.cc: Likewise.
* testsuite/20_util/is_copy_constructible/value.cc: Likewise.
* testsuite/20_util/is_copy_constructible/requirements/typedefs.cc:
Likewise.
* testsuite/20_util/is_copy_constructible/requirements/
explicit_instantiation.cc: Likewise.

* testsuite/20_util/is_default_constructible/value.cc: Add tests.
* testsuite/20_util/is_nothrow_constructible/value.cc: Likewise.

* testsuite/20_util/make_signed/requirements/typedefs_neg.cc:
Adjust dg-error line numbers.
* testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc:
Likewise.
* testsuite/20_util/declval/requirements/1_neg.cc: Likewise.

From-SVN: r172684

13 years agouse ASM_COMMENT_START instead of #
Xinliang David Li [Mon, 18 Apr 2011 23:58:49 +0000 (23:58 +0000)]
use ASM_COMMENT_START instead of #

From-SVN: r172682

13 years agore PR c++/48569 (internal compiler error: in build_zero_init_1, at cp/init.c:278)
Jason Merrill [Mon, 18 Apr 2011 23:54:47 +0000 (19:54 -0400)]
re PR c++/48569 (internal compiler error: in build_zero_init_1, at cp/init.c:278)

PR c++/48569
* typeck2.c (build_functional_cast): Handle VOID_TYPE.

From-SVN: r172680

13 years agore PR c++/48537 (C++0x: ICE using union with non-trivial member)
Jason Merrill [Mon, 18 Apr 2011 22:40:43 +0000 (18:40 -0400)]
re PR c++/48537 (C++0x: ICE using union with non-trivial member)

PR c++/48537
* init.c (build_value_init): Handle UNION_TYPE the same.

From-SVN: r172678

13 years agore PR middle-end/48661 (wrong-code regression with devirtualization)
Jakub Jelinek [Mon, 18 Apr 2011 21:58:51 +0000 (23:58 +0200)]
re PR middle-end/48661 (wrong-code regression with devirtualization)

PR middle-end/48661
* gimple-fold.c (gimple_get_virt_method_for_binfo): Return NULL
if TREE_TYPE (v) is non-NULL.

* gimple-fold.c (gimple_get_virt_method_for_binfo): Renamed from
gimple_get_virt_mehtod_for_binfo.
* gimple.h (gimple_get_virt_method_for_binfo): Likewise.
* ipa-cp.c (ipcp_process_devirtualization_opportunities): Adjust
callers.
* ipa-prop.c (try_make_edge_direct_virtual_call): Likewise.

* g++.dg/torture/pr48661.C: New test.

From-SVN: r172677

13 years agore PR c++/48632 (Internal compiler error when using OpenMP with template)
Jakub Jelinek [Mon, 18 Apr 2011 21:55:07 +0000 (23:55 +0200)]
re PR c++/48632 (Internal compiler error when using OpenMP with template)

PR c++/48632
* parser.c (cp_parser_omp_for_loop): Don't use cp_parser_omp_for_incr
for type dependent pointers.

* g++.dg/gomp/pr48632.C: New test.

From-SVN: r172674

13 years agoexpr.c (expand_expr_real_2): Use GET_MODE instead of TYPE_MODE.
Michael Matz [Mon, 18 Apr 2011 21:53:08 +0000 (21:53 +0000)]
expr.c (expand_expr_real_2): Use GET_MODE instead of TYPE_MODE.

2011-05-18  Michael Matz  <matz@suse.de>
    Steve Ellcey  <sje@cup.hp.com>

* expr.c (expand_expr_real_2): Use GET_MODE instead of TYPE_MODE.

Co-Authored-By: Steve Ellcey <sje@cup.hp.com>
From-SVN: r172673

13 years ago* doc/passes.texi: Fill crossref nodes.
Dennis, CHENG Renquan [Mon, 18 Apr 2011 21:28:05 +0000 (21:28 +0000)]
* doc/passes.texi: Fill crossref nodes.

From-SVN: r172672

13 years agore PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64...
Jack Howarth [Mon, 18 Apr 2011 21:27:00 +0000 (21:27 +0000)]
re PR lto/48086 (bootstrap-lto creates c-common.s with too many sections on x86_64-apple-darwin10)

2011-04-18  Jack Howarth  <howarth@bromo.med.uc.edu>

    PR lto/48086
    * configure.ac: Re-enable LTO on *-apple-darwin9*.
    * configure: Regenerate.

From-SVN: r172671

13 years agofix doubled-word typos in comments and strings: e.g., s/in in/in/
Jim Meyering [Mon, 18 Apr 2011 20:42:30 +0000 (20:42 +0000)]
fix doubled-word typos in comments and strings: e.g., s/in in/in/

From-SVN: r172670

13 years agoi386.h (SSE_VEC_FLOAT_MODE_P): Remove.
Uros Bizjak [Mon, 18 Apr 2011 19:48:09 +0000 (21:48 +0200)]
i386.h (SSE_VEC_FLOAT_MODE_P): Remove.

* config/i386/i386.h (SSE_VEC_FLOAT_MODE_P): Remove.
(AVX_FLOAT_MODE_P): Ditto.
(AVX128_VEC_FLOAT_MODE_P): Ditto.
(AVX256_VEC_FLOAT_MODE_P): Ditto.
(AVX_VEC_FLOAT_MODE_P): Ditto.
* config/i386/i386.md (UNSPEC_MASKLOAD): Remove.
(UNSPEC_MASKSTORE): Ditto.
* config/i386/sse.md (<sse>_movmsk<ssemodesuffix><avxmodesuffix>):
Merge from <sse>_movmsk<ssemodesuffix> and
avx_movmsk<ssemodesuffix>256.  Use VF mode iterator.
(*sse2_maskmovdqu): Merge with *sse2_maskmovdqu_rex64.  Use P mode
iterator.
(avx_maskload<ssemodesuffix><avxmodesuffix>): New expander.
(avx_maskstore<ssemodesuffix><avxmodesuffix>): Ditto.
(*avx_maskmov<ssemodesuffix><avxmodesuffix>): New insn.

testsuite/ChangeLog:

* gcc.target/i386/sse2-maskmovdqu.c: New test.
* gcc.target/i386/avx-vmaskmovdqu.c: Ditto.

From-SVN: r172669

13 years agosemantics.c (finish_goto_stmt): Do set UNINLINABLE flag on computed gotos.
Jan Hubicka [Mon, 18 Apr 2011 19:28:46 +0000 (21:28 +0200)]
semantics.c (finish_goto_stmt): Do set UNINLINABLE flag on computed gotos.

* semantics.c (finish_goto_stmt): Do set UNINLINABLE flag on computed
gotos.

From-SVN: r172668

13 years agoremove now-unused definition of gfc_free
Jim Meyering [Mon, 18 Apr 2011 19:21:05 +0000 (19:21 +0000)]
remove now-unused definition of gfc_free

* misc.c (gfc_free): Remove function.
* gfortran.h (gfc_free): Remove its prototype.

From-SVN: r172667

13 years agoconvert each use of gfc_free (p) to free (p)
Jim Meyering [Mon, 18 Apr 2011 19:20:53 +0000 (19:20 +0000)]
convert each use of gfc_free (p) to free (p)

Do that by running this command:
  perl -pi -e    's/\bgfc_free ?\(/free (/' \
    $(git grep -El '\bgfc_free ?\(')
which also corrects the few uses that lacked a space between
the function name and the open parenthesis.
Manually undo the change to the function definition itself
and its prototype.  They'll be removed next.
* array.c (gfc_free_array_spec, gfc_set_array_spec): s/gfc_free/free/
* constructor.c (node_free): Likewise.
* cpp.c (dump_queued_macros): Likewise.
* data.c (gfc_assign_data_value): Likewise.
* decl.c (free_variable, free_value, gfc_free_data): Likewise.
(gfc_free_data_all, match_old_style_init): Likewise.
(gfc_set_constant_character_len, gfc_free_enum_history, NUM_DECL):
Likewise.
(gfc_match_modproc): Likewise.
* dependency.c (check_section_vs_section): Likewise.
* error.c (gfc_pop_error, gfc_free_error): Likewise.
* expr.c (free_expr0, gfc_free_expr, gfc_free_actual_arglist): Likewise.
(gfc_free_ref_list, gfc_replace_expr, gfc_copy_ref): Likewise.
(find_substring_ref, gfc_simplify_expr, gfc_check_assign_symbol):
Likewise.
* frontend-passes.c (gfc_run_passes, cfe_expr_0): Likewise.
(strip_function_call, optimize_comparison): Likewise.
* interface.c (gfc_free_interface, arginfo, check_interface0): Likewise.
(CHECK_OS_COMPARISON, gfc_extend_assign, gfc_free_formal_arglist):
Likewise.
* intrinsic.c (gfc_intrinsic_done_1, gfc_convert_type_warn): Likewise.
(gfc_convert_chartype): Likewise.
* io.c (gfc_free_open, compare_to_allowed_values, gfc_free_close):
Likewise.
(gfc_free_filepos, gfc_free_dt, gfc_free_inquire): Likewise.
* match.c (gfc_free_iterator, gfc_match_associate): Likewise.
(gfc_free_alloc_list, gfc_free_namelist, gfc_free_equiv_until):
Likewise.
(free_case, gfc_free_forall_iterator): Likewise.
* misc.c: Likewise.
* module.c (free_pi_tree, resolve_fixups, free_rename): Likewise.
(free_true_name, peek_atom, mio_allocated_wide_string): Likewise.
(mio_pool_string, mio_internal_string, mio_gmp_integer): Likewise.
(mio_gmp_real, mio_expr, mio_typebound_proc): Likewise.
(mio_full_typebound_tree, skip_list, load_equiv): Likewise.
(free_written_common, gfc_use_module, gfc_free_use_stmts): Likewise.
* openmp.c (gfc_free_omp_clauses): Likewise.
* options.c (gfc_post_options): Likewise.
* parse.c (select_type_pop, parse_omp_structured_block): Likewise.
* primary.c (gfc_free_structure_ctor_component): Likewise.
* resolve.c (resolve_structure_cons, check_host_association): Likewise.
(gfc_resolve_forall, resolve_equivalence): Likewise.
* scanner.c (gfc_scanner_done_1, gfc_release_include_path): Likewise.
(gfc_define_undef_line, preprocessor_line, include_line): Likewise.
(load_file, gfc_read_orig_filename): Likewise.
* simplify.c (simplify_transformation_to_array): Likewise.
(gfc_simplify_ibits, simplify_shift, gfc_simplify_ishftc, STRING):
Likewise.
(gfc_simplify_compiler_options): Likewise.
* st.c (gfc_free_statement, gfc_free_statements): Likewise.
(gfc_free_association_list): Likewise.
* symbol.c (free_components, gfc_free_st_label, free_st_labels):
Likewise.
(gfc_delete_symtree, gfc_free_symbol, gfc_undo_symbols): Likewise.
(free_old_symbol, gfc_commit_symbols, free_tb_tree): Likewise.
(free_common_tree, free_uop_tree, free_sym_tree): Likewise.
(gfc_free_dt_list, gfc_free_equiv_infos, gfc_free_equiv_lists):
Likewise.
(gfc_free_finalizer, gfc_free_charlen, free_entry_list): Likewise.
(gfc_free_namespace): Likewise.
* trans-array.c (gfc_free_ss, gfc_trans_array_bound_check): Likewise.
(gfc_conv_array_ref, gfc_conv_ss_startstride): Likewise.
(gfc_trans_dummy_array_bias, gfc_conv_array_parameter): Likewise.
* trans-common.c (get_init_field, create_common): Likewise.
* trans-const.c (gfc_build_wide_string_const): Likewise.
(gfc_conv_string_init): Likewise.
* trans-decl.c (gfc_generate_function_code): Likewise.
* trans-expr.c (gfc_conv_substring, gfc_free_interface_mapping):
Likewise.
(SCALAR_POINTER, gfc_conv_statement_function): Likewise.
(gfc_trans_subarray_assign): Likewise.
* trans-intrinsic.c (conv_generic_with_optional_char_arg): Likewise.
* trans-io.c (gfc_trans_io_runtime_check, set_string): Likewise.
(transfer_namelist_element, transfer_array_component): Likewise.
* trans-openmp.c (gfc_trans_omp_array_reduction): Likewise.
* trans-stmt.c (cleanup_forall_symtrees, gfc_trans_forall_1): Likewise.
* trans.c (trans_runtime_error_vararg, gfc_restore_backend_locus):
Likewise.

From-SVN: r172666

13 years agogfortran: remove cpp definition of free, ...
Jim Meyering [Mon, 18 Apr 2011 19:20:43 +0000 (19:20 +0000)]
gfortran: remove cpp definition of free, ...

in preparation for the s/gfc_free/free/ transformation.
* gfortran.h (free): Remove macro definition that would otherwise
prevent direct use of the function.

From-SVN: r172665

13 years ago* ipa-inline.c (inline_small_functions): Fix pasto in previous patch.
Jan Hubicka [Mon, 18 Apr 2011 18:52:22 +0000 (20:52 +0200)]
* ipa-inline.c (inline_small_functions): Fix pasto in previous patch.

From-SVN: r172664

13 years agoipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
Jan Hubicka [Mon, 18 Apr 2011 18:39:39 +0000 (20:39 +0200)]
ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h

* ipa-inline.c: Fix comment typos; do not inline gt-ipa-inline.h
(want_inline_function_called_once_p): Break out the logic from
ipa_inline.
(edge_badness): Ensure that profile is not misupdated.
(lookup_recursive_calls): Prioritize by call frequencies.
(inline_small_functions): Move program size estimates here;
actually process whole queue even when unit growth has been
met. (to properly compute inline_failed reasons and for the
case unit size decrease.) Revisit comments on recursive
inlining.
(ipa_inline): Remove unit summary code; first inline hot calls
of functions called once, cold calls next.
(order, nnodes): Remove unused variables.
* Makefile.in (ipa-inline.o): No longer depent on ggc files.
(GTFILES): Remove ipa-inline.c
* sel-sched.c (fill_insns): Silence uninitialized var warning.

From-SVN: r172663

13 years ago* dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.
Eric Botcazou [Mon, 18 Apr 2011 17:37:13 +0000 (17:37 +0000)]
* dwarf2out.c (is_redundant_typedef): Add 'inline' to prototype.

From-SVN: r172660

13 years agolibgo: Fix append declaration.
Ian Lance Taylor [Mon, 18 Apr 2011 17:31:00 +0000 (17:31 +0000)]
libgo: Fix append declaration.

From Rainer Orth.

From-SVN: r172659

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Mon, 18 Apr 2011 17:21:24 +0000 (19:21 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-04-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * array.c (gfc_match_array_ref): Check for too many
        * codimensions.
        * check.c (gfc_check_image_index): Check number of elements
        in SUB argument.
        * simplify.c (gfc_simplify_image_index): Remove unreachable
        * checks.

2011-04-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_17.f90: New.
        * gfortran.dg/coarray_10.f90: Update dg-error.

From-SVN: r172658

13 years agore PR testsuite/48251 (guality_check hangs indefinitely on Tru64 UNIX)
Rainer Orth [Mon, 18 Apr 2011 15:54:50 +0000 (15:54 +0000)]
re PR testsuite/48251 (guality_check hangs indefinitely on Tru64 UNIX)

PR testsuite/48251
* gcc.dg/guality/guality.exp: Disable on alpha*-dec-osf*.
* gfortran.dg/guality/guality.exp: Likewise.

From-SVN: r172657

13 years ago* gfortran.dg/fmt_g0_5.f08: Use dg-add-options ieee.
Rainer Orth [Mon, 18 Apr 2011 15:41:06 +0000 (15:41 +0000)]
* gfortran.dg/fmt_g0_5.f08: Use dg-add-options ieee.

From-SVN: r172655

13 years ago* gcc.dg/vect/pr48377.c: Remove dg-do run.
Rainer Orth [Mon, 18 Apr 2011 15:39:20 +0000 (15:39 +0000)]
* gcc.dg/vect/pr48377.c: Remove dg-do run.

From-SVN: r172654

13 years ago* gcc.dg/ipa/pr48195.c: Add dg-require-effective-target lto.
Rainer Orth [Mon, 18 Apr 2011 14:28:50 +0000 (14:28 +0000)]
* gcc.dg/ipa/pr48195.c: Add dg-require-effective-target lto.

From-SVN: r172651

13 years agore PR c++/46364 (basic_string.h:541:32: internal compiler error: Segmentation fault)
Richard Guenther [Mon, 18 Apr 2011 14:22:35 +0000 (14:22 +0000)]
re PR c++/46364 (basic_string.h:541:32: internal compiler error: Segmentation fault)

2011-04-18  Richard Guenther  <rguenther@suse.de>

PR middle-end/46364
* g++.dg/torture/pr46364.C: New testcase.

From-SVN: r172649

13 years ago* obj-c++.dg/dwarf-2.mm: Skip on alpha*-dec-osf*.
Rainer Orth [Mon, 18 Apr 2011 14:18:44 +0000 (14:18 +0000)]
* obj-c++.dg/dwarf-2.mm: Skip on alpha*-dec-osf*.

From-SVN: r172648

13 years agoJie Zhang <jie@codesourcery.com>
Jie Zhang [Mon, 18 Apr 2011 14:01:13 +0000 (14:01 +0000)]
Jie Zhang  <jie@codesourcery.com>
Richard Earnshaw  <rearnsha@arm.com>

* arm.c (neon_builtin_type_bits): Remove.
(typedef enum neon_builtin_mode): New.
(T_MAX): Don't define.
(typedef enum neon_builtin_datum): Remove bits, codes[],
num_vars and base_fcode.  Add mode, code and fcode.
(VAR1, VAR2, VAR3, VAR4, VAR5, VAR6, VAR7, VAR8, VAR9
VAR10): Change accordingly.
(neon_builtin_data[]): Change accordingly
(arm_init_neon_builtins): Change accordingly.
(neon_builtin_compare): Remove.
(locate_neon_builtin_icode): Remove.
(arm_expand_neon_builtin): Change accordingly.

* arm.h (enum arm_builtins): Move to ...
* arm.c (enum arm_builtins): ... here; and rearrange builtin code.

* arm.c (arm_builtin_decl): Declare.
(TARGET_BUILTIN_DECL): Define.
(enum arm_builtins): Correct ARM_BUILTIN_MAX.
(arm_builtin_decls[]): New.
(arm_init_neon_builtins): Store builtin declarations in
arm_builtin_decls[].
(arm_init_tls_builtins): Likewise.
(arm_init_iwmmxt_builtins): Likewise.  Refactor initialization code.
(arm_builtin_decl): New.

Co-Authored-By: Richard Earnshaw <rearnsha@arm.com>
From-SVN: r172646

13 years agotree.c (upper_bound_in_type): Build properly canonicalized INTEGER_CSTs.
Richard Guenther [Mon, 18 Apr 2011 13:58:47 +0000 (13:58 +0000)]
tree.c (upper_bound_in_type): Build properly canonicalized INTEGER_CSTs.

2011-04-18  Richard Guenther  <rguenther@suse.de>

* tree.c (upper_bound_in_type): Build properly canonicalized
INTEGER_CSTs.
(lower_bound_in_type): Likewise.

From-SVN: r172645

13 years agogimple.h (gimple_call_addr_fndecl): New function.
Richard Guenther [Mon, 18 Apr 2011 11:59:34 +0000 (11:59 +0000)]
gimple.h (gimple_call_addr_fndecl): New function.

2011-04-18  Richard Guenther  <rguenther@suse.de>

* gimple.h (gimple_call_addr_fndecl): New function.
(gimple_call_fndecl): Use it.
* gimple-fold.c (gimple_fold_call): Fold away OBJ_TYPE_REFs
for direct calls.
* tree-ssa-ccp.c (ccp_fold_stmt): Remove OBJ_TYPE_REF folding.
* tree-ssa-pre.c (eliminate): Also simplify indirect OBJ_TYPE_REFs.

From-SVN: r172644

13 years agopr48235.c: Add dg-require-effective-target freorder.
Alexander Monakov [Mon, 18 Apr 2011 11:33:52 +0000 (15:33 +0400)]
pr48235.c: Add dg-require-effective-target freorder.

* gcc.dg/pr48235.c: Add dg-require-effective-target freorder.

From-SVN: r172643

13 years agore PR c/48650 (valgrind: Invalid write of size 8 in build_string (tree.c:1524))
Richard Guenther [Mon, 18 Apr 2011 11:18:01 +0000 (11:18 +0000)]
re PR c/48650 (valgrind: Invalid write of size 8 in build_string (tree.c:1524))

2011-04-18  Richard Guenther  <rguenther@suse.de>

PR middle-end/48650
* tree.c (build_string): STRING_CST is now derived from tree_typed.

From-SVN: r172642

13 years agore PR lto/48492 (LTO bootstrap failure in copy_constant)
Eric Botcazou [Mon, 18 Apr 2011 10:13:49 +0000 (10:13 +0000)]
re PR lto/48492 (LTO bootstrap failure in copy_constant)

PR lto/48492
* cfgexpand.c (expand_debug_expr) <VAR_DECL>: Return NULL for a
DECL_IN_CONSTANT_POOL without RTL.

From-SVN: r172641

13 years agore PR target/48252 (ARM neon: problem with consecutive vzip, vuzp and vtrn)
Ulrich Weigand [Mon, 18 Apr 2011 07:14:22 +0000 (07:14 +0000)]
re PR target/48252 (ARM neon: problem with consecutive vzip, vuzp and vtrn)

PR target/48252
* config/arm/arm.c (neon_emit_pair_result_insn): Swap arguments
to match neon_vzip/vuzp/vtrn_internal.
* config/arm/neon.md (neon_vtrn<mode>_internal): Make both
outputs explicitly dependent on both inputs.
(neon_vzip<mode>_internal, neon_vuzp<mode>_internal): Likewise.

Co-Authored-By: Ira Rosen <ira.rosen@linaro.org>
From-SVN: r172639

13 years agore PR tree-optimization/48616 (-ftree-vectorize -mxop miscompiles right shift)
Jakub Jelinek [Mon, 18 Apr 2011 06:55:13 +0000 (08:55 +0200)]
re PR tree-optimization/48616 (-ftree-vectorize -mxop miscompiles right shift)

PR tree-optimization/48616
* tree-vect-stmts.c (vectorizable_shift): If SLP, determine
whether the shift is by scalar or vector based on whether all SLP
scalar stmts have the same rhs.

* gcc.dg/pr48616.c: New test.

From-SVN: r172638

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Mon, 18 Apr 2011 05:56:05 +0000 (07:56 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

2011-04-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * iresolve.c (gfc_resolve_image_index): Set ts.type.
        * simplify.c (gfc_simplify_image_index): Don't abort if the
        * bounds
        are not known at compile time and handle -fcoarray=lib.
        * trans-intrinsics.c (gfc_conv_intrinsic_function): Handle
        IMAGE_INDEX.
        (conv_intrinsic_cobound): Fix comment typo.
        (trans_this_image): New function.
        * trans-array.c (gfc_unlikely): Move to trans.c.
        * trans.c (gfc_unlikely): Function moved from trans-array.c.
        (gfc_trans_runtime_check): Use it.
        * trans-io.c (gfc_trans_io_runtime_check): Ditto.
        * trans.h (gfc_unlikely): Add prototype.

2011-04-18  Tobias Burnus  <burnus@net-b.de>

        PR fortran/18918
        * gfortran.dg/coarray_16.f90: New.

From-SVN: r172637

13 years agore PR fortran/48462 (realloc on assignment: matmul Segmentation Fault with Allocatabl...
Paul Thomas [Mon, 18 Apr 2011 05:07:38 +0000 (05:07 +0000)]
re PR fortran/48462 (realloc on assignment: matmul Segmentation Fault with Allocatable Array)

2011-04-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/48462
* trans-expr.c (fcncall_realloc_result): Renamed version of
realloc_lhs_bounds_for_intrinsic_call that does not touch the
descriptor bounds anymore but makes a temporary descriptor to
hold the result.
(gfc_trans_arrayfunc_assign): Modify the reference to above
renamed function.

2011-04-18  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/48462
* gfortran.dg/realloc_on_assign_7.f03: New test.

From-SVN: r172636

13 years agore PR libfortran/48602 (Invalid F conversion of G descriptor for values close to...
Jerry DeLisle [Mon, 18 Apr 2011 03:52:59 +0000 (03:52 +0000)]
re PR libfortran/48602 (Invalid F conversion of G descriptor for values close to powers of 10)

2011-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48602
* gfortran.dg/fmt_g0_6.f08: New test.

From-SVN: r172635

13 years agore PR libfortran/48602 (Invalid F conversion of G descriptor for values close to...
Jerry DeLisle [Mon, 18 Apr 2011 03:48:25 +0000 (03:48 +0000)]
re PR libfortran/48602 (Invalid F conversion of G descriptor for values close to powers of 10)

2011-04-17  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR libgfortran/48602
* io/write_float.def (output_float_FMT_G): Use current rounding mode
to set the rounding parameters. (output_float): Skip rounding
if value is zero.

From-SVN: r172634

13 years agore PR c++/48531 ([C++0x][SFINAE] Hard errors with arrays of unknown bound)
Jason Merrill [Mon, 18 Apr 2011 00:50:31 +0000 (20:50 -0400)]
re PR c++/48531 ([C++0x][SFINAE] Hard errors with arrays of unknown bound)

PR c++/48531
* typeck2.c (build_functional_cast): Disallow array type.

From-SVN: r172632

13 years ago* tree.c (get_target_expr): Handle VEC_INIT_EXPR.
Jason Merrill [Mon, 18 Apr 2011 00:50:21 +0000 (20:50 -0400)]
* tree.c (get_target_expr): Handle VEC_INIT_EXPR.

From-SVN: r172631

13 years agoDaily bump.
GCC Administrator [Mon, 18 Apr 2011 00:17:45 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r172630

13 years agomoveable.cc: Actually run it in parallel-mode for check-parallel.
Paolo Carlini [Sun, 17 Apr 2011 23:15:28 +0000 (23:15 +0000)]
moveable.cc: Actually run it in parallel-mode for check-parallel.

2011-04-17  Paolo Carlini  <paolo.carlini@oracle.com>

* testsuite/25_algorithms/partition/moveable.cc: Actually run
it in parallel-mode for check-parallel.

From-SVN: r172625

13 years agoMake-lang.in (gnatbind): Replace $(ALL_CFLAGS) with $(CFLAGS) on the link line.
Eric Botcazou [Sun, 17 Apr 2011 22:28:52 +0000 (22:28 +0000)]
Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with $(CFLAGS) on the link line.

* gcc-interface/Make-lang.in (gnatbind): Replace $(ALL_CFLAGS) with
$(CFLAGS) on the link line.

From-SVN: r172622

13 years agoPR libstdc++/48635 (again)
Daniel Krugler [Sun, 17 Apr 2011 21:46:11 +0000 (21:46 +0000)]
PR libstdc++/48635 (again)

2011-04-17  Daniel Krugler  <daniel.kruegler@googlemail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/48635 (again)
* include/bits/unique_ptr.h (unique_ptr<>::unique_ptr(unique_ptr<>&&),
unique_ptr<_Tp[]>::unique_ptr(unique_ptr<>&&),
unique_ptr<>::operator=(unique_ptr<>&&),
unique_ptr<_Tp[]>::operator=(unique_ptr<>&&)): Use forward<_Ep>, not
forward<_Dp>, to forward the deleter.
* testsuite/20_util/unique_ptr/assign/48635_neg.cc: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r172619

13 years agoarm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC memory operands.
Chung-Lin Tang [Sun, 17 Apr 2011 18:17:15 +0000 (18:17 +0000)]
arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC memory operands.

2011-04-17  Chung-Lin Tang  <cltang@codesourcery.com>

* config/arm/arm.c (neon_struct_mem_operand): Support POST_INC/PRE_DEC
memory operands.

From-SVN: r172617

13 years agomips.c (mips_cfun_call_saved_reg_p): Handle global registers.
Richard Sandiford [Sun, 17 Apr 2011 17:29:52 +0000 (17:29 +0000)]
mips.c (mips_cfun_call_saved_reg_p): Handle global registers.

gcc/
* config/mips/mips.c (mips_cfun_call_saved_reg_p): Handle global
registers.

gcc/testsuite/
* gcc.target/mips/reg-var-1.c: New test.

From-SVN: r172616

13 years agocgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
Jan Hubicka [Sun, 17 Apr 2011 17:00:48 +0000 (19:00 +0200)]
cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.

* cgrpah.h (struct cgraph_node): Remove finalized_by_frontend.
* cgrpahunit.c (cgraph_finalize_function): Do not set finalized_by_frontend.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
finalized_by_frontend.

From-SVN: r172614

13 years agore PR middle-end/20991 (ICE in cgraph_mark_reachable_node)
Jan Hubicka [Sun, 17 Apr 2011 16:37:07 +0000 (18:37 +0200)]
re PR middle-end/20991 (ICE in cgraph_mark_reachable_node)

* cgraph.c (cgraph_clone_node): Do not handle vtable_method
* cgraph.h (struct cgraph_local_info): Drop vtable_method.
* cgraphunit.c (cgraph_copy_node_for_versioning): Drop vtable_method.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Drop vtable method.
* gimple-fold.c (can_refer_decl_in_current_unit_p): Mention PR20991 in
gimple-fold.c
* varasm.c (mark_decl_referenced): Drop vtable_method handling code.
* cp/class.c (cp_fold_obj_type_ref): Drop vtable_method.

From-SVN: r172613

13 years agore PR lto/48538 (profiled LTO bootstrap failure with Ada)
Eric Botcazou [Sun, 17 Apr 2011 14:57:14 +0000 (14:57 +0000)]
re PR lto/48538 (profiled LTO bootstrap failure with Ada)

PR lto/48538
* lto-cgraph.c (merge_profile_summaries): Check that lto_file_data
is non-null before accessing it.
(input_cgraph): Remove trailing spaces.

From-SVN: r172611

13 years agoNew flag to apply SMS when SC equals 1
Revital Eres [Sun, 17 Apr 2011 14:32:24 +0000 (14:32 +0000)]
New flag to apply SMS when SC equals 1

From-SVN: r172610

13 years agolto-symtab.c (lto_cgraph_replace_node): When call statement is present, also set...
Jan Hubicka [Sun, 17 Apr 2011 14:22:20 +0000 (16:22 +0200)]
lto-symtab.c (lto_cgraph_replace_node): When call statement is present, also set gimple_call_set_cannot_inline.

* lto-symtab.c (lto_cgraph_replace_node): When call statement is
present, also set gimple_call_set_cannot_inline.
* ipa-inline.c: Update toplevel comment.
(MAX_TIME): Remove.
(cgraph_clone_inlined_nodes): Fix linebreaks.
(cgraph_check_inline_limits): Restructure to ...
(caller_growth_limits): ... this one; be more tolerant
on growth in nested inline chains; add explanatory comment;
fix stack accounting thinko introduced by previous patch.
(cgraph_default_inline_p): Remove.
(report_inline_failed_reason): New function.
(can_inline_edge_p): New function.
(can_early_inline_edge_p): New function.
(leaf_node_p): Move upwards in file.
(want_early_inline_function_p): New function.
(want_inline_small_function_p): New function.
(want_inline_self_recursive_call_p): New function.
(cgraph_edge_badness): Rename to ...
(edge_badness) ... this one; fix linebreaks.
(update_edge_key): Update call of edge_baddness; add
detailed dump about queue updates.
(update_caller_keys): Use can_inline_edge_p and
want_inline_small_function_p.
(cgraph_decide_recursive_inlining): Rename to...
(recursive_inlining): Use can_inline_edge_p and
want_inline_self_recursive_call_p; simplify and
remove no longer valid FIXME.
(cgraph_set_inline_failed): Remove.
(add_new_edges_to_heap): Use can_inline_edge_p and
want_inline_small_function_p.
(cgraph_decide_inlining_of_small_functions): Rename to ...
(inline_small_functions): ... this one; cleanup; use
can/want predicates; cleanup debug ouput; work edges
till fibheap is exhausted and do not stop once unit
growth is reached; remove later loop processing remaining
edges.
(cgraph_flatten): Rename to ...
(flatten_function): ... this one; use can_inline_edge_p
and can_early_inline_edge_p predicates.
(cgraph_decide_inlining): Rename to ...
(ipa_inline): ... this one; remove unreachable nodes before
inlining functions called once; simplify the pass.
(cgraph_perform_always_inlining): Rename to ...
(inline_always_inline_functions): ... this one; use
DECL_DISREGARD_INLINE_LIMITS; use can_inline_edge_p
predicate
(cgraph_decide_inlining_incrementally): Rename to ...
(early_inline_small_functions): ... this one; simplify
using new predicates; cleanup; make dumps prettier.
(cgraph_early_inlining): Rename to ...
(early_inliner): newer inline regular functions into always-inlines;
fix updating of call stmt summaries.
(pass_early_inline): Update for new names.
(inline_transform): Fix formating.
(gate_cgraph_decide_inlining): Rename to ...
(pass_ipa_inline): ... this one.
* ipa-inline.h (inline_summary): Remove disregard_inline_limits.
* ipa-inline-analysis.c (dump_inline_summary): Update.
(compute_inline_parameters): Do not compute disregard_inline_limits;
look for mismatching arguments.
(estimate_growth): Fix handlig of non-trivial self recursion.
(inline_read_summary): Do not read info->disregard_inline_limits.
(inline_write_summary): Do not write info->disregard_inline_limits.
* tree-inline.c (inline_forbidden_into_p, tree_can_inline_p): Remove and
move all checks into can_inline_edge_p predicate; re-enable code comparing
optimization levels.
(expand_call_inline): Do not test inline_forbidden_into_p.
* Makefile.in (ipa-inline.o): Update arguments.

* gcc.dg/winline-5.c: Update testcase.

From-SVN: r172609

13 years agodecl.c (gnat_to_gnu_entity): Declare the padded type built for the return type if...
Eric Botcazou [Sun, 17 Apr 2011 10:22:40 +0000 (10:22 +0000)]
decl.c (gnat_to_gnu_entity): Declare the padded type built for the return type if it is unconstrained.

* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Declare the
padded type built for the return type if it is unconstrained.

From-SVN: r172608

13 years agoFree sccs field
Revital Eres [Sun, 17 Apr 2011 07:41:33 +0000 (07:41 +0000)]
Free sccs field

From-SVN: r172607

13 years agoAvoid unfreed memory when SMS fails
Revital Eres [Sun, 17 Apr 2011 07:36:55 +0000 (07:36 +0000)]
Avoid unfreed memory when SMS fails

From-SVN: r172606

13 years agore PR fortran/48624 (gfortran DECL issues in function declaration)
Tobias Burnus [Sun, 17 Apr 2011 07:34:35 +0000 (09:34 +0200)]
re PR fortran/48624 (gfortran DECL issues in function declaration)

2011-05-17  Tobias Burnus  <burnus@net-b.de>

        PR fortran/48624
        * trans-decl.c (gfc_get_extern_function_decl): Fix decl
        for external procedures with proc arguments.

From-SVN: r172604

13 years agore PR tree-optimization/48622 (ICE: in estimate_size_after_inlining, at ipa-inline...
Michael Matz [Sun, 17 Apr 2011 01:18:51 +0000 (01:18 +0000)]
re PR tree-optimization/48622 (ICE: in estimate_size_after_inlining, at ipa-inline-analysis.c:425 with -flto -finline-small-functions -fno-early-inlining)

PR tree-optimization/48622
PR lto/48645
* ipa-inline-analysis.c (inline_read_summary): Read size/time
in same order as they're written.

testsuite/
* gcc.dg/lto/pr48622_0.c: New test.

From-SVN: r172603

13 years agoDaily bump.
GCC Administrator [Sun, 17 Apr 2011 00:18:14 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r172602

13 years agoReplace sprintf with snprintf
Janne Blomqvist [Sat, 16 Apr 2011 17:43:03 +0000 (20:43 +0300)]
Replace sprintf with snprintf

From-SVN: r172590

13 years agopredicates.md: Reorganize and simplify predicates.
John David Anglin [Sat, 16 Apr 2011 15:43:31 +0000 (15:43 +0000)]
predicates.md: Reorganize and simplify predicates.

* config/pa/predicates.md: Reorganize and simplify predicates.
Eliminate duplicate code checks.
(arith_operand): Rename to arith14_operand
(reg_or_ior_operand): Rename to reg_or_cint_ior_operand.
* config/pa/pa.md: Use renamed operands.
* config/pa/pa-protos.h (symbolic_operand): Delete declaration.
(tls_symbolic_operand, function_label_operand, lhs_lshift_cint_operand,
arith11_operand, adddi3_operand, indexed_memory_operand,
symbolic_memory_operand, int11_operand, reg_or_cint_move_operand,
arith5_operand, uint5_operand, pic_label_operand, plus_xor_ior_operator,
borx_reg_operand, shadd_operand, arith_operand, read_only_operand,
move_dest_operand, move_src_operand, prefetch_cc_operand,
prefetch_nocc_operand, and_operand, ior_operand, arith32_operand,
uint32_operand, reg_before_reload_operand, reg_or_0_operand,
reg_or_0_or_nonsymb_mem_operand, pre_cint_operand, post_cint_operand,
div_operand, int5_operand, movb_comparison_operator,
ireg_or_int5_operand, call_operand_address, ior_operand, fp_reg_operand,
arith_double_operand, ireg_operand, lhs_lshift_operand,
pc_or_label_operand, non_hard_reg_operand, eq_neq_comparison_operator,
integer_store_memory_operand): Likewise.
* config/pa/pa.c (adddi3_operand): Move to predicates.md.
(integer_store_memory_operand, read_only_operand,
function_label_operand, borx_reg_operand,
non_hard_reg_operand): Likewise.
(eq_neq_comparison_operator): Delete unused operator.
(legitimize_pic_address): Use VOIDmode for mode argument in calls to
function_label_operand.
(emit_move_sequence): Likewise.

From-SVN: r172588

13 years agosse.md (sseunpackmode): New mode attribute.
Uros Bizjak [Sat, 16 Apr 2011 12:56:44 +0000 (14:56 +0200)]
sse.md (sseunpackmode): New mode attribute.

* config/i386/sse.md (sseunpackmode): New mode attribute.
(ssepackmode): Ditto.
(vec_pack_trunc_<mode>): Macroize expander from
vec_pack_trunc_{v8hi,v4si,v2di} using VI248_128 mode iterator.
(vec_unpacks_lo_<mode>): Macroize expander from
vec_unpacks_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
(vec_unpacks_hi_<mode>): Macroize expander from
vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
(vec_unpacku_lo_<mode>): Macroize expander from
vec_unpacku_lo_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
(vec_unpacku_hi_<mode>): Macroize expander from
vec_unpacks_hi_{v16qi,v8hi,v4si} using VI124_128 mode iterator.
* config/i386/i386.c (ix86_expand_sse_unpack): Merge with
ix86_expand_sse4_unpack.
* config/i386/i386-protos.h (ix86_expand_sse4_unpack): Remove.

From-SVN: r172585

13 years agolto.c (lto_balanced_map): Fix typos in head comment.
Eric Botcazou [Sat, 16 Apr 2011 10:43:04 +0000 (10:43 +0000)]
lto.c (lto_balanced_map): Fix typos in head comment.

* lto.c (lto_balanced_map): Fix typos in head comment.
(lto_promote_cross_file_statics): Fix long lines and remove redundant
test.

From-SVN: r172584

13 years agocgraphbuild.c: Include ipa-inline.h.
Jan Hubicka [Sat, 16 Apr 2011 09:13:08 +0000 (11:13 +0200)]
cgraphbuild.c: Include ipa-inline.h.

* cgraphbuild.c: Include ipa-inline.h.
(reset_inline_failed): Use initialize_inline_failed.
* cgraph.c: Include ipa-inline.h.
(cgraph_create_node_1): Do not initialize estimated_growth.
(initialize_inline_failed): More to ipa-inline-analysis.c
(dump_cgraph_node): Do not dump inline flags.
* cgraph.h (cgraph_local_info): Remove inlineable, versionable
and disregard_inline_limits flags.
(cgrpah_global_info): Remove estimated_stack_size, stack_frame_offset,
time, size, estimated_growth.
* ipa-cp.c (ipcp_versionable_function_p, ipcp_generate_summary): Update.
* cgraphunit.c (cgraph_decide_is_function_needed): Use
DECL_DISREGARD_INLINE_LIMITS.
(cgraph_analyze_function): Do not initialize
node->local.disregard_inline_limits.
* lto-cgraph.c (lto_output_node, input_overwrite_node): Do not stream
inlinable, versionable and disregard_inline_limits.
* ipa-inline.c (cgraph_clone_inlined_nodes, cgraph_mark_inline_edge,
cgraph_check_inline_limits, cgraph_default_inline_p, cgraph_edge_badness,
update_caller_keys, update_callee_keys, add_new_edges_to_heap): Update.
(cgraph_decide_inlining_of_small_function): Update; set CIF_FUNCTION_NOT_INLINABLE
for uninlinable functions.
(cgraph_decide_inlining, cgraph_edge_early_inlinable_p,
cgraph_decide_inlining_incrementally): Update.
* ipa-inline.h (inline_summary): Add inlinable, versionable, disregard_inline_limits,
estimated_stack_size, stack_frame_offset, time, size and estimated_growth
parameters.
(estimate_edge_growth): Update.
(initialize_inline_failed): Declare.
* ipa-split.c: Include ipa-inline.h
(execute_split_functions): Update.
* ipa.c (cgraph_postorder): Use DECL_DISREGARD_INLINE_LIMITS.
(cgraph_remove_unreachable_nodes): Do not clear inlinable flag.
(record_cdtor_fn): Use DECL_DISREGARD_INLINE_LIMITS.
* ipa-inline-analysis.c (inline_node_removal_hook): Update; set
estimated_growth to INT_MIN.
(inline_node_duplication_hook): Likewise.
(dump_inline_summary): Dump new fields.
(compute_inline_parameters): Update.
(estimate_edge_time, estimate_time_after_inlining,
estimate_size_after_inlining, estimate_growth, inline_read_summary,
inline_write_summary):
(initialize_inline_failed): Move here from cgraph.c.
* tree-sra.c: Include ipa-inline.h.
(ipa_sra_preliminary_function_checks): Update.
* lto/lto.c (lto_balanced_map): Update.
Update.
* Makefile.in: (cgraph.o, cgraphbuild.o): Add dependency on
ipa-inline.h

From-SVN: r172581

13 years agosse.md (V16): New mode iterator.
Uros Bizjak [Sat, 16 Apr 2011 08:34:30 +0000 (10:34 +0200)]
sse.md (V16): New mode iterator.

* config/i386/sse.md (V16): New mode iterator.
(VI1, VI8): Ditto.
(AVXMODEQI, AVXMODEDI): Remove.
(sse2, sse3): New mode attribute.
(mov<mode>): Use V16 mode iterator.
(*mov<mode>_internal): Merge with *avx_mov<mode>_internal.
(push<mode>1): Use V16 mode iterator.
(movmisalign<mode>): Ditto.
(<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
<sse>_movu<ssemodesuffix> and avx_movu<ssemodesuffix><avxmodesuffix>.
(*<sse>_movu<ssemodesuffix><avxmodesuffix>): Merge from
*<sse>_movu<ssemodesuffix> and *avx_movu<ssemodesuffix><avxmodesuffix>.
(<sse2>_movdqu<avxmodesuffix>): Merge from sse2_movdqu and
avx_movdqu<avxmodesuffix>.
(*<sse2>_movdqu<avxmodesuffix>): Merge from *sse2_movdqu and
*avx_movdqu<avxmodesuffix>.
(<sse3>_lddqu<avxmodesuffix>) Merge from sse3_lddqu and
avx_lddqu<avxmodesuffix>.
(<sse>_movnt<mode>): Merge with avx_movnt<AVXMODEF2P:mode>.
(<sse2>_movnt<mode>): Merge from sse2_movntv2di and
avx_movnt<AVXMODEDI:mode>.
* config/i386/i386.c (ix86_expand_vector_move_misalign): Update for
renamed sse_movups, sse2_movupd and sse2_movdqu patterns.

testsuite/ChangeLog:

* gcc.target/i386/avx256-unaligned-load-1.c: Update scan patterns.
* gcc.target/i386/avx256-unaligned-load-2.c: Ditto.
* gcc.target/i386/avx256-unaligned-load-3.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-1.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-2.c: Ditto.
* gcc.target/i386/avx256-unaligned-store-3.c: Ditto.

From-SVN: r172580

13 years ago* MAINTAINERS (Write After Approval): Add myself.
Jim Meyering [Sat, 16 Apr 2011 07:26:36 +0000 (07:26 +0000)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r172536

13 years agore PR libstdc++/48631 ([C++0x] default_delete<T[]> accepts pointer conversions in...
Daniel Krugler [Sat, 16 Apr 2011 02:02:29 +0000 (02:02 +0000)]
re PR libstdc++/48631 ([C++0x] default_delete<T[]> accepts pointer conversions in function call operator)

2011-04-15  Daniel Krugler  <daniel.kruegler@googlemail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/48631
* include/bits/unique_ptr.h (default_delete<_Tp[]>): Add deleted
function call operator.
* testsuite/20_util/default_delete/48631_neg.cc: New.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
line numbers.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r172534

13 years agore PR libstdc++/48635 ([C++0x] unique_ptr<T, D&> moves the deleter instead of copying it)
Daniel Krugler [Sat, 16 Apr 2011 00:55:43 +0000 (00:55 +0000)]
re PR libstdc++/48635 ([C++0x] unique_ptr<T, D&> moves the deleter instead of copying it)

2011-04-15  Daniel Krugler  <daniel.kruegler@googlemail.com>
    Paolo Carlini  <paolo.carlini@oracle.com>

PR libstdc++/48635
* include/bits/unique_ptr.h (unique_ptr<>::operator=(unique_ptr&&),
unique_ptr<>::operator=(unique_ptr<>&&),
unique_ptr<_Tp[],>::operator=(unique_ptr&&),
unique_ptr<_Tp[],>::operator=(unique_ptr<>&&)): Forward the deleter
instead of moving it.
* testsuite/20_util/unique_ptr/assign/48635.cc: New.

Co-Authored-By: Paolo Carlini <paolo.carlini@oracle.com>
From-SVN: r172532

13 years agoImplement N3271
Jason Merrill [Sat, 16 Apr 2011 00:28:17 +0000 (20:28 -0400)]
Implement N3271

Implement N3271
* parser.c (cp_convert_range_for): Split into
cp_parser_perform_range_for_lookup.
(cp_parser_perform_range_for_lookup): New.
(cp_parser_range_for_member_function): New.
(cp_parser_for_init_statement): Correct error message.
* semantics.c (finish_call_expr): Accept COMPONENT_REF.

From-SVN: r172531

13 years agoDaily bump.
GCC Administrator [Sat, 16 Apr 2011 00:18:34 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r172530

13 years agore PR target/48629 (ICE on gcc.dg/pr42389.c on ia64-*-* with -fsched-pressure)
Bernd Schmidt [Fri, 15 Apr 2011 23:32:55 +0000 (23:32 +0000)]
re PR target/48629 (ICE on gcc.dg/pr42389.c on ia64-*-* with -fsched-pressure)

PR target/48629
* haifa-sched.c (prune_ready_list, schedule_block): Use
sched_pressure_p rather than flag_sched_pressure.

From-SVN: r172525

13 years agotrans-array.c (toplevel): Include gimple.h.
Michael Matz [Fri, 15 Apr 2011 21:48:19 +0000 (21:48 +0000)]
trans-array.c (toplevel): Include gimple.h.

* trans-array.c (toplevel): Include gimple.h.
(gfc_trans_allocate_array_storage): Check flag_stack_arrays,
properly expand variable length arrays.
(gfc_trans_auto_array_allocation): If flag_stack_arrays create
variable length decls and associate them with their scope.
* gfortran.h (gfc_option_t): Add flag_stack_arrays member.
* options.c (gfc_init_options): Handle -fstack_arrays option.
* lang.opt (fstack-arrays): Add option.
* invoke.texi (Code Gen Options): Document it.
* Make-lang.in (trans-array.o): Depend on GIMPLE_H.

From-SVN: r172524