gcc.git
13 years agogimple.c (gimple_register_type_1): New function, split out from ...
Richard Guenther [Wed, 18 May 2011 11:34:43 +0000 (11:34 +0000)]
gimple.c (gimple_register_type_1): New function, split out from ...

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

* gimple.c (gimple_register_type_1): New function, split out from ...
(gimple_register_type): ... here.  Avoid infinite recursion.

From-SVN: r173857

13 years agore PR tree-optimization/41881 (Complete unrolling (inner) versus vectorization of...
Ira Rosen [Wed, 18 May 2011 11:27:51 +0000 (11:27 +0000)]
re PR tree-optimization/41881 (Complete unrolling (inner) versus vectorization of reduction)

        PR tree-optimization/41881
        * tree-vectorizer.h (struct _loop_vec_info): Add new field
        reduction_chains along with a macro for its access.
        * tree-vect-loop.c (new_loop_vec_info): Initialize
        reduction chains.
        (destroy_loop_vec_info): Free reduction chains.
        (vect_analyze_loop_2): Return false if
        vect_analyze_slp() returns false.
        (vect_is_slp_reduction): New function.
        (vect_is_simple_reduction_1): Call
        vect_is_slp_reduction.
        (vect_create_epilog_for_reduction): Support SLP
        reduction chains.
        * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow
        different definition types for reduction chains.
        (vect_supported_load_permutation_p): Don't allow
        permutations for reduction chains.
        (vect_analyze_slp_instance): Support reduction chains.
        (vect_analyze_slp): Try to build SLP instance from
        reduction chains.
        (vect_get_constant_vectors):  Handle reduction chains.
        (vect_schedule_slp_instance): Mark the first statement
        of the reduction chain as reduction.

From-SVN: r173856

13 years agotree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new names for group...
Ira Rosen [Wed, 18 May 2011 11:09:44 +0000 (11:09 +0000)]
tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new names for group elements access.

        * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks): Use new
        names for group elements access.
        * tree-vectorizer.h (struct _stmt_vec_info): Use interleaving info for
        reduction chains as well.  Remove data reference and interleaving
        related words from the fields names.
        * tree-vect-loop.c (vect_transform_loop): Use new names for group
        elements access.
        * tree-vect-data-refs.c (vect_get_place_in_interleaving_chain,
         vect_insert_into_interleaving_chain, vect_update_interleaving_chain,
        vect_update_interleaving_chain, vect_same_range_drs,
        vect_analyze_data_ref_dependence, vect_update_misalignment_for_peel,
        vect_verify_datarefs_alignment, vector_alignment_reachable_p,
        vect_peeling_hash_get_lowest_cost, vect_enhance_data_refs_alignment,
        vect_analyze_group_access, vect_analyze_data_ref_access,
        vect_create_data_ref_ptr, vect_transform_strided_load,
        vect_record_strided_load_vectors): Likewise.
        * tree-vect-stmts.c (vect_model_simple_cost, vect_model_store_cost,
        vect_model_load_cost, vectorizable_store, vectorizable_load,
        vect_remove_stores, new_stmt_vec_info): Likewise.
        * tree-vect-slp.c (vect_build_slp_tree,
        vect_supported_slp_permutation_p, vect_analyze_slp_instance): Likewise.

From-SVN: r173855

13 years agore PR middle-end/48989 (FAIL: gfortran.dg/lto/pr46036 f_lto_pr46036_0.o assemble)
Richard Guenther [Wed, 18 May 2011 10:36:45 +0000 (10:36 +0000)]
re PR middle-end/48989 (FAIL: gfortran.dg/lto/pr46036 f_lto_pr46036_0.o assemble)

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

PR middle-end/48989
* tree-cfg.c (verify_gimple_assign_unary): Adjust TRUTH op
operand verification.
(verify_gimple_assign_binary): Likewise.
* tree-ssa.c (useless_type_conversion_p): Preserve conversions
to non-1-precision BOOLEAN_TYPEs.

From-SVN: r173854

13 years agore PR middle-end/45098 (Missed induction variable optimization)
Tom de Vries [Wed, 18 May 2011 10:20:55 +0000 (10:20 +0000)]
re PR middle-end/45098 (Missed induction variable optimization)

2011-05-18  Tom de Vries  <tom@codesourcery.com>

PR target/45098
* tree-ssa-loop-ivopts.c (seq_cost): Fix call to rtx_cost.

From-SVN: r173853

13 years agore PR tree-optimization/49000 (ICE: verify_ssa failed with -O2 -g)
Jakub Jelinek [Wed, 18 May 2011 09:22:41 +0000 (11:22 +0200)]
re PR tree-optimization/49000 (ICE: verify_ssa failed with -O2 -g)

PR tree-optimization/49000
* tree-ssa.c (execute_update_addresses_taken): Call
maybe_rewrite_mem_ref_base on debug stmt value.  If it couldn't
be rewritten and decl has been marked for renaming, reset
the debug stmt.

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

From-SVN: r173849

13 years agotrans.c (Exception_Handler_to_gnu_sjlj): Use boolean_false_node instead of integer_ze...
Kai Tietz [Wed, 18 May 2011 08:40:50 +0000 (10:40 +0200)]
trans.c (Exception_Handler_to_gnu_sjlj): Use boolean_false_node instead of integer_zero_node.

2011-05-18  Kai Tietz <ktietz@redhat.com>

* gcc-interface/trans.c (Exception_Handler_to_gnu_sjlj): Use
boolean_false_node instead of integer_zero_node.
(convert_with_check): Likewise.
* gcc-interface/decl.c (choices_to_gnu): Likewise.

From-SVN: r173846

13 years agoi386.c (ix86_valid_target_attribute_tree): Use enum_opts_set when testing if attribut...
Joseph Myers [Wed, 18 May 2011 01:10:46 +0000 (02:10 +0100)]
i386.c (ix86_valid_target_attribute_tree): Use enum_opts_set when testing if attributes have set -mfpmath=.

* config/i386/i386.c (ix86_valid_target_attribute_tree): Use
enum_opts_set when testing if attributes have set -mfpmath=.

From-SVN: r173845

13 years agoDaily bump.
GCC Administrator [Wed, 18 May 2011 00:18:15 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r173843

13 years agotuple: Use noexcept where appropriate.
Paolo Carlini [Wed, 18 May 2011 00:12:58 +0000 (00:12 +0000)]
tuple: Use noexcept where appropriate.

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

* include/std/tuple: Use noexcept where appropriate.
(tuple<>::swap): Rework implementation.
(_Head_base<>::_M_swap_impl): Remove.
(get(std::tuple<>&&)): Add.
* testsuite/20_util/tuple/element_access/get2.cc: New.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust dg-error
line number.

From-SVN: r173838

13 years agomips.c (mips_handle_option): Remove unused variable.
Richard Sandiford [Tue, 17 May 2011 20:02:40 +0000 (20:02 +0000)]
mips.c (mips_handle_option): Remove unused variable.

gcc/
* config/mips/mips.c (mips_handle_option): Remove unused variable.

From-SVN: r173836

13 years agoipa-inline-analysis.c (inline_node_duplication_hook): Initialize info->entry with 0
Uros Bizjak [Tue, 17 May 2011 18:31:08 +0000 (20:31 +0200)]
ipa-inline-analysis.c (inline_node_duplication_hook): Initialize info->entry with 0

* ipa-inline-analysis.c (inline_node_duplication_hook): Initialize
info->entry with 0
* tree-inline.c (maybe_inline_call_in_expr):  Initialize
id.transform_lang_insert_block with NULL.

From-SVN: r173834

13 years agoi386-protos.h (output_fix_trunc): Change arg 3 to bool.
Uros Bizjak [Tue, 17 May 2011 18:24:37 +0000 (20:24 +0200)]
i386-protos.h (output_fix_trunc): Change arg 3 to bool.

* config/i386/i386-protos.h (output_fix_trunc): Change arg 3 to bool.
(output_fp_compare): Change args 3 and 4 to bool.
(ix86_expand_call): Change arg 6 to bool.
(ix86_attr_length_immediate_default): Change arg 2 to bool.
(ix86_attr_length_vex_default): Change arg 3 to bool.
* config/i386/i386.md: Update all uses.
* config/i386/i386.c: Ditto.
(ix86_flags_dependent): Change return type to bool.

From-SVN: r173833

13 years agogimple.c (type_hash_pair_compare): Fix comparison.
Richard Guenther [Tue, 17 May 2011 14:58:18 +0000 (14:58 +0000)]
gimple.c (type_hash_pair_compare): Fix comparison.

2011-05-17  Richard Guenther  <rguenther@suse.de>

* gimple.c (type_hash_pair_compare): Fix comparison.

From-SVN: r173832

13 years ago* gnat.dg/invalid1.adb: New test.
Eric Botcazou [Tue, 17 May 2011 13:53:26 +0000 (13:53 +0000)]
* gnat.dg/invalid1.adb: New test.

From-SVN: r173831

13 years agogimple.c (iterative_hash_gimple_type): Simplify singleton case some more, fix final...
Richard Guenther [Tue, 17 May 2011 12:39:50 +0000 (12:39 +0000)]
gimple.c (iterative_hash_gimple_type): Simplify singleton case some more, fix final hash value of the non-singleton case.

2011-05-17  Richard Guenther  <rguenther@suse.de>

* gimple.c (iterative_hash_gimple_type): Simplify singleton
case some more, fix final hash value of the non-singleton case.

From-SVN: r173829

13 years agore PR bootstrap/49013 (LTO bootstrap failed with bootstrap-profiled)
Richard Guenther [Tue, 17 May 2011 10:29:36 +0000 (10:29 +0000)]
re PR bootstrap/49013 (LTO bootstrap failed with bootstrap-profiled)

2011-05-17  Richard Guenther  <rguenther@suse.de>

        PR bootstrap/49013
        Revert
        2011-05-16  Richard Guenther  <rguenther@suse.de>

        * gimple.c (gimple_types_compatible_p_1): Use names of the
        type itself, not its main variant.
        (iterative_hash_gimple_type): Likewise.

From-SVN: r173827

13 years agogimple.c (gimple_register_canonical_type): Use the main-variant leader for computing...
Richard Guenther [Tue, 17 May 2011 10:04:23 +0000 (10:04 +0000)]
gimple.c (gimple_register_canonical_type): Use the main-variant leader for computing the canonical type.

2011-05-17  Richard Guenther  <rguenther@suse.de>

* gimple.c (gimple_register_canonical_type): Use the main-variant
leader for computing the canonical type.

From-SVN: r173826

13 years agorx.c (rx_memory_move_cost): Include cost of register moves.
Nick Clifton [Tue, 17 May 2011 08:58:09 +0000 (08:58 +0000)]
rx.c (rx_memory_move_cost): Include cost of register moves.

* config/rx/rx.c (rx_memory_move_cost): Include cost of register
moves.

From-SVN: r173824

13 years agorx.md (bitset_in_memory): Use rx_restricted_mem_operand.
Nick Clifton [Tue, 17 May 2011 08:43:03 +0000 (08:43 +0000)]
rx.md (bitset_in_memory): Use rx_restricted_mem_operand.

* config/rx/rx.md (bitset_in_memory): Use rx_restricted_mem_operand.
(bitinvert_in_memory): Likewise.
(bitclr_in_memory): Likewise.

From-SVN: r173822

13 years agorx.md: Add peephole to remove redundant extensions after loads.
Nick Clifton [Tue, 17 May 2011 08:36:44 +0000 (08:36 +0000)]
rx.md: Add peephole to remove redundant extensions after loads.

* config/rx/rx.md: Add peephole to remove redundant extensions
after loads.

From-SVN: r173820

13 years agorx.md: Add peepholes to match a register move followed by a comparison of the moved...
Kazuhio Inaoka [Tue, 17 May 2011 08:27:40 +0000 (08:27 +0000)]
rx.md: Add peepholes to match a register move followed by a comparison of the moved...

* config/rx/rx.md: Add peepholes to match a register move followed
by a comparison of the moved register.  Replace these with an
addition of zero that does both actions in one instruction.

Co-Authored-By: Nick Clifton <nickc@redhat.com>
From-SVN: r173819

13 years agoinclhack.def (solaris_complex_cxx): Fix syntax.
Tristan Gingold [Tue, 17 May 2011 08:00:15 +0000 (08:00 +0000)]
inclhack.def (solaris_complex_cxx): Fix syntax.

2011-05-17  Tristan Gingold  <gingold@adacore.com>

* inclhack.def (solaris_complex_cxx): Fix syntax.
* fixincl.x: Regenerate.

From-SVN: r173818

13 years agore PR target/48986 (Missed optimization in atomic decrement on x86/x64)
Jakub Jelinek [Tue, 17 May 2011 07:37:59 +0000 (09:37 +0200)]
re PR target/48986 (Missed optimization in atomic decrement on x86/x64)

PR target/48986
* config/i386/sync.md (sync_old_add<mode>): Relax operand 2
predicate to allow CONST_INT.
(*sync_old_add_cmp<mode>): New insn and peephole2 for it.

From-SVN: r173816

13 years agocheck.tpl: Shell-quote testing file.
Tristan Gingold [Tue, 17 May 2011 07:25:07 +0000 (07:25 +0000)]
check.tpl: Shell-quote testing file.

2011-05-17  Tristan Gingold  <gingold@adacore.com>

* check.tpl: Shell-quote testing file.

From-SVN: r173815

13 years agoDaily bump.
GCC Administrator [Tue, 17 May 2011 00:19:44 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173814

13 years agoopts-common.c (opt_enum_arg_to_value): New.
Joseph Myers [Mon, 16 May 2011 21:26:29 +0000 (22:26 +0100)]
opts-common.c (opt_enum_arg_to_value): New.

* opts-common.c (opt_enum_arg_to_value): New.
* opts.h (opt_enum_arg_to_value): Declare.
* config/i386/i386.opt (fpmath): Remove.
(mfpmath=): Use Enum, Init and Save.
(fpmath_unit): New Enum and EnumValue entries.
* config/i386/i386-c.c (ix86_pragma_target_parse): Update field
name for function fpmath state.
* config/i386/i386-opts.h (enum fpmath_unit): Move from i386.h.
* config/i386/i386.c: Include diagnostic.h.
(ix86_fpmath, IX86_FUNCTION_SPECIFIC_FPMATH): Remove.
(ix86_target_string): Take enum fpmath_unit value instead of
string.
(ix86_debug_options): Update call to ix86_target_string.
(ix86_option_override_internal): Don't process fpmath strings
here.
(x86_function_specific_save, ix86_function_specific_restore):
Don't handle fpmath state specially.
(ix86_function_specific_print): Pass fpmath state to
ix86_target_string instead of printing in this function.
(ix86_valid_target_attribute_inner_p): Take gcc_options pointer.
Handle enum attributes.
(IX86_ATTR_ENUM, ix86_opt_enum): New.
(ix86_valid_target_attribute_tree): Update option_strings
handling.  Handle fpmath as enum option.
(ix86_can_inline_p): Update field names for function fpmath state.
(ix86_expand_builtin): Update call to ix86_target_string.
* config/i386/i386.h (enum fpmath_unit): Move to i386-opts.h.
(ix86_fpmath): Remove.
* config/i386/t-i386 (i386.o): Update dependencies.

From-SVN: r173809

13 years agore PR c++/48969 (ICE with -std=c++0x)
Jason Merrill [Mon, 16 May 2011 20:52:18 +0000 (16:52 -0400)]
re PR c++/48969 (ICE with -std=c++0x)

PR c++/48969
* pt.c (deduction_tsubst_fntype): Use a VEC initially.

From-SVN: r173805

13 years agogfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.
Tobias Burnus [Mon, 16 May 2011 20:37:30 +0000 (22:37 +0200)]
gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.

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

        * gfortran.texi (_gfortran_set_options): Add GFC_STD_F2008_TR.
        (Fortran 2008 status): Multi-image support for coarrays.
        (TR 19113 status): New section.

From-SVN: r173804

13 years ago* config/i386/i386.md (TLS patterns): Fix whitespace.
Uros Bizjak [Mon, 16 May 2011 18:55:44 +0000 (20:55 +0200)]
* config/i386/i386.md (TLS patterns): Fix whitespace.

From-SVN: r173802

13 years agore PR preprocessor/48677 (cpp.exe broken ?)
Joseph Myers [Mon, 16 May 2011 18:34:31 +0000 (19:34 +0100)]
re PR preprocessor/48677 (cpp.exe broken ?)

PR preprocessor/48677
* cppspec.c (lang_specific_driver): Set new_decoded_options[0]
from decoded_options[0], not from itself.

From-SVN: r173801

13 years ago* config/i386/constraints.md (z): Fix comment. Oh, well...
Uros Bizjak [Mon, 16 May 2011 18:30:07 +0000 (20:30 +0200)]
* config/i386/constraints.md (z): Fix comment.  Oh, well...

From-SVN: r173800

13 years agoutility: Simplify the last commit, the whole std::get code is C++0x only.
Paolo Carlini [Mon, 16 May 2011 18:24:01 +0000 (18:24 +0000)]
utility: Simplify the last commit, the whole std::get code is C++0x only.

2011-05-16  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/utility: Simplify the last commit, the whole
std::get code is C++0x only.

From-SVN: r173799

13 years agoutility (get(std::pair<>&&)): Add.
Paolo Carlini [Mon, 16 May 2011 18:09:17 +0000 (18:09 +0000)]
utility (get(std::pair<>&&)): Add.

2011-05-16  Paolo Carlini  <paolo.carlini@oracle.com>

* include/std/utility (get(std::pair<>&&)): Add.
* include/bits/stl_pair.h (pair::swap(pair&),
swap(pair<>&, pair<>&)): Use noexcept.
* include/bits/random.h (discard_block_engine<>::base,
independent_bits_engine<>::base, shuffle_order_engine<>::base,
random_device::entropy): Use noexcept.
* include/std/array: Use noexcept where appropriate.
(get(array<>&&)): Add.
* testsuite/23_containers/array/requirements/get.cc: New.
* testsuite/20_util/pair/get.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Tweak dg-error
line number.

From-SVN: r173798

13 years agoconstraints.md (z): New constraint.
Uros Bizjak [Mon, 16 May 2011 18:08:41 +0000 (20:08 +0200)]
constraints.md (z): New constraint.

* config/i386/constraints.md (z): New constraint.
* config/i386/i386.c (c): New mode attribute.
(*call): Merge insn pattern from *call_0, *call_1, *call_1_rex64 and
*call_1_rex64_large patterns using "P" mode iterator. Use "<c>zm"
constraint for operand 0.
(*call_vzeroupper): Ditto.
(*call_rex64_ms_sysv): Ditto.  Use "rzm" constraint for operand 0.
(*call_rex64_ms_sysv_vzeroupper): Ditto.
(*call_pop): Merge insn pattern from *call_pop_0 and *call_pop_1.
Use "lzm" constraint for operand 0.
(*call_pop_vzeroupper): Ditto.
(*sibcall): Merge insn pattern from *sibcall_0, *sibcall_1 and
*sibcall_1_rex64 patterns using "P" mode iterator.  Use "Uz"
constraint for operand 0.
(*sibcall_vzeroupper): Ditto.
(*sibcall_rex64_ms_sysv): Ditto.
(*sibcall_rex64_ms_sysv_vzeroupper): Ditto.
(*sibcall_pop): Merge insn pattern from *sibcall_pop_0 and
*sibcall_pop_1.  Use "Uz" constraint for operand 0.
(*sibcall_pop_vzeroupper): Ditto.
(*call_value): Merge insn pattern from *call_value_0, *call_value_1,
*call_value_1_rex64 and *call_value_1_rex64_large patterns using "P"
mode iterator.  Use "<c>zm" constraint for operand 1.
(*call_value_vzeroupper): Ditto.
(*call_value_rex64_ms_sysv): Ditto.  Use "rzm" constraint
for operand 0.
(*call_value_rex64_ms_sysv_vzeroupper): Ditto.
(*call_value_pop): Merge insn pattern from *call_value_pop_0 and
*call_value_pop_1.  Use "lzm" constraint for operand 1.
(*call_value_pop_vzeroupper): Ditto.
(*sibcall_value): Merge insn pattern from *sibcall_value_0,
*sibcall_value_1 and *sibcall_value_1_rex64 patterns using "P"
mode iterator.  Use "Uz" constraint for operand 1.
(*sibcall_value_vzeroupper): Ditto.
(*sibcall_value_rex64_ms_sysv): Ditto.
(*sibcall_value_rex64_ms_sysv_vzeroupper): Ditto.
(*sibcall_value_pop): Rename from *sibcall_pop_1.  Use "Uz"
constraint for operand 1.
(*sibcall_value_pop_vzeroupper): Ditto.
(*tls_global_dynamic_64): Use constant_call_address_operand predicate
and "z" constraint for operand 2.
(*tls_global_dynamic_32_gnu): Ditto.
(*tls_local_dynamic_base_32_gnu): Ditto.
(*tls_local_dynamic_base_64): Ditto.
(*tls_local_dynamic_32_once): Ditto.
* config/i386/i386.c (ix86_output_call_insn): Remove int_addr argument.
Update all callers.
* config/i386/i386-protos.h (ix86_output_call_insn): Update prototype.

testsuite/ChangeLog:

2011-05-16  Uros Bizjak  <ubizjak@gmail.com>

* gcc.target/i386/avx-vzeroupper-16.c: Update scan-assembler-times
scan pattern.
* gcc.target/i386/avx-vzeroupper-17.c: Ditto.
* gcc.target/i386/avx-vzeroupper-18.c: Ditto.

From-SVN: r173797

13 years agogimple.c (gimple_types_compatible_p_1): Use names of the type itself, not its main...
Richard Guenther [Mon, 16 May 2011 16:07:35 +0000 (16:07 +0000)]
gimple.c (gimple_types_compatible_p_1): Use names of the type itself, not its main variant.

2011-05-16  Richard Guenther  <rguenther@suse.de>

* gimple.c (gimple_types_compatible_p_1): Use names of the
type itself, not its main variant.
(iterative_hash_gimple_type): Likewise.

From-SVN: r173795

13 years agogimple.c (iterative_hash_gimple_type): Re-instantiate change to always visit pointer...
Richard Guenther [Mon, 16 May 2011 15:10:05 +0000 (15:10 +0000)]
gimple.c (iterative_hash_gimple_type): Re-instantiate change to always visit pointer target and function result and...

2011-05-16  Richard Guenther  <rguenther@suse.de>

* gimple.c (iterative_hash_gimple_type): Re-instantiate
change to always visit pointer target and function result
and argument types.

From-SVN: r173794

13 years agore PR c++/48999 (FAIL: g++.dg/torture/20090706-1.C due to an ICE on *-*-darwin*)
Jason Merrill [Mon, 16 May 2011 14:30:30 +0000 (10:30 -0400)]
re PR c++/48999 (FAIL: g++.dg/torture/20090706-1.C due to an ICE on *-*-darwin*)

PR c++/48999
* tree-inline.c (copy_statement_list): Put back recursion.

From-SVN: r173793

13 years agore PR middle-end/27663 (missed-optimization transforming a byte array to unsigned...
Georg-Johann Lay [Mon, 16 May 2011 14:20:19 +0000 (14:20 +0000)]
re PR middle-end/27663 (missed-optimization transforming a byte array to unsigned long)

PR target/27663
PR target/41076
* config/avr/predicates.md (const_8_16_24_operand): New predicate.
* config/avr/avr.md ("*ior<mode>qi.byte0",
"*ior<mode>qi.byte1-3"): New define_insn_and_split patterns.

From-SVN: r173792

13 years agore PR target/45099 ([avr] Warning could be issued for use of register variables that...
Georg-Johann Lay [Mon, 16 May 2011 14:16:22 +0000 (14:16 +0000)]
re PR target/45099 ([avr] Warning could be issued for use of register variables that will fail.)

PR target/45099
* config/avr/avr.c (avr_function_arg_advance): Error if a fixed
register is needed for a function argument.

From-SVN: r173791

13 years agogimple.c (struct type_hash_pair): New type.
Richard Guenther [Mon, 16 May 2011 13:52:56 +0000 (13:52 +0000)]
gimple.c (struct type_hash_pair): New type.

2011-05-16  Richard Guenther  <rguenther@suse.de>

* gimple.c (struct type_hash_pair): New type.
(type_hash_pair_compare): New function.
(iterative_hash_gimple_type): Mix in SCC member hashes in
hash-order.

From-SVN: r173790

13 years agoFix condition in doloop_register_get
Revital Eres [Mon, 16 May 2011 06:11:46 +0000 (06:11 +0000)]
Fix condition in doloop_register_get

From-SVN: r173786

13 years agoDaily bump.
GCC Administrator [Mon, 16 May 2011 00:19:17 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173785

13 years agoc-common.c (c_common_reswords): Reorder.
Paolo Carlini [Sun, 15 May 2011 23:40:57 +0000 (23:40 +0000)]
c-common.c (c_common_reswords): Reorder.

/c-family
2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

* c-common.c (c_common_reswords): Reorder.
* c-common.h (rid): Likewise.

/cp
2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

* cxx-pretty-print.c: Update comment.
* semantics.c (trait_expr_value, finish_trait_expr):
Reorder the cases.
* parser.c (cp_parser_primary_expression): Likewise.

From-SVN: r173780

13 years agore PR c++/48994 ([C++0x] error for trivial use of range-based 'for')
Jonathan Wakely [Sun, 15 May 2011 23:04:04 +0000 (23:04 +0000)]
re PR c++/48994 ([C++0x] error for trivial use of range-based 'for')

PR c++/48994
* parser.c (cp_parser_perform_range_for_lookup): Call complete_type.

From-SVN: r173778

13 years agoi386.md (floating point move splitters): Fix usage of standard_80387_constant_p.
Uros Bizjak [Sun, 15 May 2011 19:31:32 +0000 (21:31 +0200)]
i386.md (floating point move splitters): Fix usage of standard_80387_constant_p.

* config/i386/i386.md (floating point move splitters): Fix
usage of standard_80387_constant_p.
(ix86_preferred_reload_class): Ditto.

From-SVN: r173775

13 years agoc++config (_GLIBCXX_NOEXCEPT, [...]): Add.
Paolo Carlini [Sun, 15 May 2011 18:21:03 +0000 (18:21 +0000)]
c++config (_GLIBCXX_NOEXCEPT, [...]): Add.

2011-05-15  Paolo Carlini  <paolo.carlini@oracle.com>

* include/bits/c++config (_GLIBCXX_NOEXCEPT, _GLIBCXX_USE_NOEXCEPT):
Add.
* include/std/limits: Use the latter everywhere.
(numeric_limits<char16_t>, numeric_limits<char32_t>): Simplify
macro usages, the specializations exist only in C++0x mode.
* testsuite/ext/profile/mutex_extensions_neg.cc: Adjust dg-error
line number.

From-SVN: r173774

13 years agoi386.md (*movdf_internal): Simplify insn condition.
Uros Bizjak [Sun, 15 May 2011 17:44:03 +0000 (19:44 +0200)]
i386.md (*movdf_internal): Simplify insn condition.

* config/i386/i386.md (*movdf_internal): Simplify insn condition.

From-SVN: r173773

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Sun, 15 May 2011 16:20:18 +0000 (18:20 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

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

        PR fortran/18918
        actual argument is not an array; rank mismatch is diagnosted later.
        * trans-decl.c (gfc_get_symbol_decl, gfc_trans_deferred_vars):
        * Handle
        scalar coarrays.
        * trans-types.c (gfc_get_array_type_bounds): Ditto.

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

        PR fortran/18918
        * gfortran.dg/coarray/image_index_2.f90: New.

From-SVN: r173772

13 years agore PR middle-end/46500 (target.h includes tm.h)
Joern Rennecke [Sun, 15 May 2011 12:50:57 +0000 (12:50 +0000)]
re PR middle-end/46500 (target.h includes tm.h)

PR middle-end/46500
gcc/fortran:
* trans-types.c: Include "tm.h".
[0] (c_size_t_size): Remove.

From-SVN: r173771

13 years agoPR 48915 Clarify _gfortran_set_options documentation
Janne Blomqvist [Sun, 15 May 2011 10:23:53 +0000 (13:23 +0300)]
PR 48915 Clarify _gfortran_set_options documentation

From-SVN: r173770

13 years agoDaily bump.
GCC Administrator [Sun, 15 May 2011 00:18:21 +0000 (00:18 +0000)]
Daily bump.

From-SVN: r173768

13 years agotree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
Eric Botcazou [Sat, 14 May 2011 19:45:28 +0000 (19:45 +0000)]
tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.

* tree-ssa-loop-im.c (SET_ALWAYS_EXECUTED_IN): New macro.
(fill_always_executed_in): Use [SET_]ALWAYS_EXECUTED_IN.
(tree_ssa_lim_finalize): Likewise.

From-SVN: r173762

13 years agoImplement final on class.
Ville Voutilainen [Sat, 14 May 2011 18:13:23 +0000 (21:13 +0300)]
Implement final on class.

* class.c (check_bases): Diagnose derivation from a final class.
* cp-tree.h (lang_type_class): Add is_final and adjust dummy.
(CLASSTYPE_FINAL): New.
* parser.c (cp_parser_class_head): Parse class-virt-specifier, set
CLASSTYPE_FINAL.
* pt.c (instantiate_class_template_1): Copy CLASSTYPE_FINAL.

From-SVN: r173761

13 years agolang.opt (fdump-core): Re-add as ignored option for backward compatibility.
Tobias Burnus [Sat, 14 May 2011 16:02:07 +0000 (18:02 +0200)]
lang.opt (fdump-core): Re-add as ignored option for backward compatibility.

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

        * lang.opt (fdump-core): Re-add as ignored option
        for backward compatibility.

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

        * runtime/stop.c (error_stop_string, error_stop_numeric):
        Do not backtrace for ERROR STOP.

From-SVN: r173760

13 years ago* zh_CN.po: Update.
Joseph Myers [Sat, 14 May 2011 16:00:34 +0000 (17:00 +0100)]
* zh_CN.po: Update.

From-SVN: r173758

13 years agoconstraint.md (Yd, Yx): New register constraints.
Uros Bizjak [Sat, 14 May 2011 15:33:02 +0000 (17:33 +0200)]
constraint.md (Yd, Yx): New register constraints.

* config/i386/constraint.md (Yd, Yx): New register constraints.
* config/i386/i386.md (*pushdf): Merge with *pushdf_nointeger.  Use
Yd conditional register constraint.
(*movtf_internal): Use standard_sse_constant_opcode.
(*movxf_internal): Merge with *movxf_internal_nointeger.  Use
Yx conditional register constraint.
(*movdf_internal): Merge with *movdf_internal_nointeger.  Use
Yd conditional register constraint.  Use standard_sse_constant_p to
check for valid SSE constants and call standard_sse_constant_opcode to
output SSE insn.
(*movsf_internal): Use standard_sse_constant_p to check for valid SSE
constants and call standard_sse_constant_opcode to output SSE insn.
* config/i386/i386.c (ix86_option_ovverride_internal): Set
TARGET_INTEGER_DFMODE_MOVES for 64bit targets.  Clear it when
optimize_size is set.
(standard_sse_constant_opcode): Output conditional AVX insn templates.

From-SVN: r173757

13 years agoRemove conflict marker
Eric Botcazou [Sat, 14 May 2011 10:38:45 +0000 (10:38 +0000)]
Remove conflict marker

From-SVN: r173756

13 years agore PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
Tobias Burnus [Sat, 14 May 2011 10:34:44 +0000 (12:34 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])

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

        PR fortran/18918
        * interface.c (compare_parameter): Skip diagnostic if
        actual argument is not an array; rank mismatch is diagnosted later.

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

        PR fortran/18918
        * gfortran.de/coarray_20.f90: New.

From-SVN: r173755

13 years agoPR 48915 Update mixed-language programming documentation
Janne Blomqvist [Sat, 14 May 2011 10:24:18 +0000 (13:24 +0300)]
PR 48915 Update mixed-language programming documentation

From-SVN: r173754

13 years agoPR 48915 Update mixed-language programming documentation
Janne Blomqvist [Sat, 14 May 2011 10:20:56 +0000 (13:20 +0300)]
PR 48915 Update mixed-language programming documentation

From-SVN: r173753

13 years agore PR fortran/22572 (Double occurrence of matmul intrinsic not optimised)
Thomas Koenig [Sat, 14 May 2011 09:48:08 +0000 (09:48 +0000)]
re PR fortran/22572 (Double occurrence of matmul intrinsic not optimised)

2011-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/22572
* frontend-passes.c (cfe_register_funcs):  Also register functions
for potential elimination if the rank is > 0, the shape is unknown
and reallocate on assignment is active.
(create_var):  For rank > 0 functions with unknown shape, create
an allocatable temporary.

2011-05-14  Thomas Koenig  <tkoenig@gcc.gnu.org>

PR fortran/22572
* function_optimize_7.f90:  New test case.

From-SVN: r173752

13 years agoinvoke.texi (-Ofast): Also enables -fstack-arrays.
Tobias Burnus [Sat, 14 May 2011 09:39:38 +0000 (11:39 +0200)]
invoke.texi (-Ofast): Also enables -fstack-arrays.

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

        * doc/invoke.texi (-Ofast): Also enables -fstack-arrays.

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

        * options.c (gfc_init_options, gfc_post_options): Enable
        -fstack-arrays by default if -Ofast is used.
        * invoke.texi (-fstack-arrays): Document this.

From-SVN: r173751

13 years agoPR 48915 Abort handling
Janne Blomqvist [Sat, 14 May 2011 08:44:09 +0000 (11:44 +0300)]
PR 48915 Abort handling

From-SVN: r173750

13 years agoError printing thread safety, remove GFORTRAN_USE_STDERR
Janne Blomqvist [Sat, 14 May 2011 07:55:51 +0000 (10:55 +0300)]
Error printing thread safety, remove GFORTRAN_USE_STDERR

From-SVN: r173749

13 years agore PR libfortran/48961 (EXECUTE_COMMAND_LINE(WAIT=.false.) fails on MinGW)
Tobias Burnus [Sat, 14 May 2011 06:35:18 +0000 (08:35 +0200)]
re PR libfortran/48961 (EXECUTE_COMMAND_LINE(WAIT=.false.) fails on MinGW)

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

        PR fortran/48961
        * intrinsics/execute_command_line.c (set_cmdstat): Don't abort if
        synchronously executing with WAIT=.false.
        (execute_command_line): Fix setting of cmdstat and exitstat.

From-SVN: r173748

13 years agoDaily bump.
GCC Administrator [Sat, 14 May 2011 00:19:21 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173747

13 years agoFix bug with multiple results returning structs with invalid sizes.
Ian Lance Taylor [Fri, 13 May 2011 22:34:56 +0000 (22:34 +0000)]
Fix bug with multiple results returning structs with invalid sizes.

* go-gcc.cc (Gcc_backend::function_type): When building a struct
for multiple results, check that all fields types have a size.
(Gcc_backend::placeholder_pointer_type): Permit name to be empty.

From-SVN: r173742

13 years agore PR c++/48969 (ICE with -std=c++0x)
Jason Merrill [Fri, 13 May 2011 22:25:12 +0000 (18:25 -0400)]
re PR c++/48969 (ICE with -std=c++0x)

PR c++/48969
* pt.c (deduction_tsubst_fntype): New.
(fn_type_unification): Use it.

From-SVN: r173741

13 years agocall.c (build_op_call): Use timevar_cond_start/stop.
Jason Merrill [Fri, 13 May 2011 22:25:01 +0000 (18:25 -0400)]
call.c (build_op_call): Use timevar_cond_start/stop.

* call.c (build_op_call): Use timevar_cond_start/stop.
(build_user_type_conversion): Likewise.

From-SVN: r173740

13 years agoipa-prop.c (ipa_cst_from_jfunc): New function.
Martin Jambor [Fri, 13 May 2011 22:01:59 +0000 (00:01 +0200)]
ipa-prop.c (ipa_cst_from_jfunc): New function.

2011-05-13  Martin Jambor  <mjambor@suse.cz>

* ipa-prop.c (ipa_cst_from_jfunc): New function.
* ipa-prop.h (ipa_cst_from_jfunc): Declare.
* ipa-inline-analysis.c (evaluate_conditions_for_edge): Use it.
(evaluate_conditions_for_ipcp_clone): Removed.
(estimate_ipcp_clone_size_and_time): Accept vector of known constants.
* ipa-cp.c (ipcp_estimate_growth): Build vector of known constants.
* ipa-inline.h (estimate_ipcp_clone_size_and_time): Update.

From-SVN: r173739

13 years agore PR fortran/48972 (OPEN with Unicode file name)
Tobias Burnus [Fri, 13 May 2011 20:59:07 +0000 (22:59 +0200)]
re PR fortran/48972 (OPEN with Unicode file name)

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

        PR fortran/48972
        PR fortran/48991
        * gfortran.dg/assign_8.f90: Update dg-error.

From-SVN: r173738

13 years agocfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
Eric Botcazou [Fri, 13 May 2011 20:02:42 +0000 (20:02 +0000)]
cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.

* cfgrtl.c (cfg_layout_redirect_edge_and_branch): Adjust dump message.
* regcprop.c (copyprop_hardreg_forward): Test MAY_HAVE_DEBUG_INSNS in
lieu of MAY_HAVE_DEBUG_STMTS.
* tree-cfgcleanup.c (remove_forwarder_block): Do not attempt to move
debug statements if !MAY_HAVE_DEBUG_STMTS.

From-SVN: r173737

13 years agore PR fortran/48972 (OPEN with Unicode file name)
Tobias Burnus [Fri, 13 May 2011 18:16:37 +0000 (20:16 +0200)]
re PR fortran/48972 (OPEN with Unicode file name)

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

        PR fortran/48972
        * io.c (resolve_tag_format, resolve_tag): Make sure
        that the string is of default kind.
        (gfc_resolve_inquire): Also resolve decimal tag.

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

        PR fortran/48972
        * gfortran.dg/io_constraints_8.f90: New.
        * gfortran.dg/io_constraints_9.f90: New.

From-SVN: r173736

13 years agore PR gcov-profile/47793 (Relative path in fprofile-use turns into absolute path)
Martin Thuresson [Fri, 13 May 2011 15:57:20 +0000 (15:57 +0000)]
re PR gcov-profile/47793 (Relative path in fprofile-use turns into absolute path)

2011-05-13  Martin Thuresson  <martint@google.com>

PR gcov-profile/47793
* libgcov.c (gcov_exit): Support relative profile paths.
* doc/invoke.texi (-fprofile-dir): Update for above change.

2011-05-13  Martin Thuresson  <martint@google.com>

PR gcov-profile/47793
* gcc.dg/pr47793.c: New.

From-SVN: r173735

13 years agogimple.c (gimple_canonical_types_compatible_p): Do not use type-pair caching, do...
Richard Guenther [Fri, 13 May 2011 14:02:42 +0000 (14:02 +0000)]
gimple.c (gimple_canonical_types_compatible_p): Do not use type-pair caching, do not compare hashes.

2011-05-13  Richard Guenther  <rguenther@suse.de>

* gimple.c (gimple_canonical_types_compatible_p): Do not use
type-pair caching, do not compare hashes.

From-SVN: r173734

13 years agoChange edge_to_cases_cleanup to return true.
Nathan Froyd [Fri, 13 May 2011 13:44:04 +0000 (13:44 +0000)]
Change edge_to_cases_cleanup to return true.

2011-05-13  Nathan Froyd  <froydnj@codesourcery.com>

PR middle-end/48965
* tree-cfg.c (edge_to_cases_cleanup): Return true.
(verify_expr) [CASE_LABEL_EXPR]: Add checking.

From-SVN: r173733

13 years agogimplify.c (gimplify_expr): Make sure operand is boolified.
Kai Tietz [Fri, 13 May 2011 13:37:16 +0000 (15:37 +0200)]
gimplify.c (gimplify_expr): Make sure operand is boolified.

2011-05-13  Kai Tietz  <ktietz@redhat.com>

        * gimplify.c (gimplify_expr): Make sure operand is boolified.
        * tree-cfg.c (verify_gimple_assign_unary): Check for boolean
        compatible type for TRUTH_NOT_EXPR.

From-SVN: r173732

13 years agoChange ix86_save_reg/ix86_hard_regno_mode_ok to return bool.
H.J. Lu [Fri, 13 May 2011 13:30:18 +0000 (13:30 +0000)]
Change ix86_save_reg/ix86_hard_regno_mode_ok to return bool.

2011-05-13  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_save_reg): Change return type to
bool.
(ix86_hard_regno_mode_ok): Change return value to bool.  Use
can_create_pseudo_p ().

From-SVN: r173731

13 years agore PR lto/48978 (excessive hash table allocation for large lto build)
Richard Guenther [Fri, 13 May 2011 11:02:28 +0000 (11:02 +0000)]
re PR lto/48978 (excessive hash table allocation for large lto build)

2011-05-13  Richard Guenther  <rguenther@suse.de>

PR lto/48978
* gimple.c (iterative_hash_gimple_type): Revert change in
pointer target and function result and argument hashing.

From-SVN: r173730

13 years agoi386.md (*movxf_internal): Use !can_create_pseudo ().
Uros Bizjak [Fri, 13 May 2011 10:16:43 +0000 (12:16 +0200)]
i386.md (*movxf_internal): Use !can_create_pseudo ().

* config/i386/i386.md (*movxf_internal): Use !can_create_pseudo ().
(*movxf_internal_nointeger): Ditto.
(*movdf_internal_rex64): Ditto.
(*movdf_internal): Ditto.
(*movdf_internal_nointeger): Ditto.
(*movsf_internal): Ditto.
(sincos splitters): Use can_create_pseudo ().

From-SVN: r173729

13 years agoi386-opts.h: New.
Joseph Myers [Fri, 13 May 2011 09:59:13 +0000 (10:59 +0100)]
i386-opts.h: New.

* config/i386/i386-opts.h: New.
* gcc/config/i386/i386.c (stringop_alg, ix86_cmodel,
ix86_asm_dialect, ix86_regparm, ix86_abi, ix86_branch_cost,
ix86_section_threshold): Remove.
(ix86_handle_option): Move MAX_CODE_ALIGN define here.  Handle
OPT_malign_loops_, OPT_malign_jumps_, OPT_malign_functions_ and
OPT_mbranch_cost_.
(ix86_option_override_internal): Don't decode strings for options
other than -march=, -mtune= and -mfpmath=.  Don't allow for
__attribute__ uses in remaining diagnostics for options with
string arguments.  Don't check for integer arguments being
negative.
* gcc/config/i386/i386.h (enum stringop_alg, enum calling_abi,
enum tls_dialect, enum cmodel, enum asm_dialect): Move to
i386-opts.h.
(ix86_abi, ix86_tls_dialect, ix86_cmodel, ix86_asm_dialect,
ix86_branch_cost, ix86_section_threshold): Remove.
* gcc/config/i386/i386.opt (config/i386/i386-opts.h): New
HeaderInclude.
(malign-functions=, malign-jumps=, malign-loops=): Use UInteger
but not Var.
(masm=): Use Enum and Init.
(asm_dialect): New Enum and EnumValue entries.
(mbranch-cost=): Use UInteger.
(mlarge-data-threshold=): Use UInteger and Init.
(mcmodel=): Use Enum and Init.
(cmodel): New Enum and EnumValue entries.
(mpc): Replace with separate mpc32, mpc64 and mpc80 entries.
(mpreferred-stack-boundary=, mincoming-stack-boundary=,
mregparm=): Use UInteger.
(mstringop-strategy=): Use Enum and Init.
(stringop_alg): New Enum and EnumValue entries.
(mtls-dialect=): Use Enum and Init.
(tls_dialect): New Enum and EnumValue entries.
(mabi=): Use Enum and Init.
(calling_abi): New Enum and EnumValue entries.
(mveclibabi=): Use Enum and Init.
(ix86_veclibabi): New Enum and EnumValue entries.

From-SVN: r173728

13 years agorx.md (mov expander): Fix use of rx_legitimate_constant_p.
Nick Clifton [Fri, 13 May 2011 09:35:28 +0000 (09:35 +0000)]
rx.md (mov expander): Fix use of rx_legitimate_constant_p.

* config/rx/rx.md (mov expander): Fix use of
rx_legitimate_constant_p.
* config/rx/rx-protos.h (rx_legitimate_constant_p): Rename
prototype.

From-SVN: r173727

13 years agore PR middle-end/48984 (Many testsuite failures)
Kai Tietz [Fri, 13 May 2011 09:21:36 +0000 (11:21 +0200)]
re PR middle-end/48984 (Many testsuite failures)

2011-05-13  Kai Tietz  <ktietz@redhat.com>

        PR middle-end/48984
        * gimplify.c (gimplify_expr): Check for boolean_type_node instead
        for BOOLEAN_TYPE for TRUTH-NOT/AND/OR/XOR.
        (gimple_boolify): Check for cast for boolean_type_node instead for
        BOOLEAN_TYPE.

From-SVN: r173726

13 years agore PR tree-optimization/48172 (incorrect vectorization of loop in GCC 4.5.* with...
Richard Guenther [Fri, 13 May 2011 08:31:18 +0000 (08:31 +0000)]
re PR tree-optimization/48172 (incorrect vectorization of loop in GCC 4.5.* with -O3)

2011-05-13  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/48172
* tree-vect-loop-manip.c (vect_vfa_segment_size): Avoid
multiplying by number of iterations for equal step.
(vect_create_cond_for_alias_checks): Likewise.

From-SVN: r173725

13 years agoconfigure.ac: Use AS_HELP_STRING throughout.
Andreas Schwab [Fri, 13 May 2011 08:09:25 +0000 (08:09 +0000)]
configure.ac: Use AS_HELP_STRING throughout.

* configure.ac: Use AS_HELP_STRING throughout.
* configure: Regenerate.

From-SVN: r173724

13 years agoobjc-next-runtime-abi-02.c (newabi_append_ro): Add const qualifier to constant variab...
Toon Moene [Fri, 13 May 2011 07:47:42 +0000 (07:47 +0000)]
objc-next-runtime-abi-02.c (newabi_append_ro): Add const qualifier to constant variable pointer declaration.

2011-05-13  Toon Moene  <toon@moene.org>

* objc-next-runtime-abi-02.c (newabi_append_ro):
Add const qualifier to constant variable pointer declaration.

From-SVN: r173723

13 years agoDaily bump.
GCC Administrator [Fri, 13 May 2011 00:19:31 +0000 (00:19 +0000)]
Daily bump.

From-SVN: r173722

13 years agoChange maybe_eh_return to bool.
H.J. Lu [Thu, 12 May 2011 21:36:48 +0000 (21:36 +0000)]
Change maybe_eh_return to bool.

2011-05-12  H.J. Lu  <hongjiu.lu@intel.com>

* config/i386/i386.c (ix86_save_reg): Change maybe_eh_return
to bool.
(ix86_emit_restore_regs_using_mov): Likewise.
(ix86_emit_restore_sse_regs_using_mov): Likewise.

From-SVN: r173716

13 years agoFix missing file name in changelog
DJ Delorie [Thu, 12 May 2011 20:52:32 +0000 (16:52 -0400)]
Fix missing file name in changelog

From-SVN: r173715

13 years agosparc.h (REG_OK_FOR_INDEX_P, [...]): Remove.
Anatoly Sokolov [Thu, 12 May 2011 20:36:31 +0000 (00:36 +0400)]
sparc.h (REG_OK_FOR_INDEX_P, [...]): Remove.

* config/sparc/sparc.h (REG_OK_FOR_INDEX_P, REG_OK_FOR_BASE_P,
SYMBOLIC_CONST, RTX_OK_FOR_BASE_P, RTX_OK_FOR_INDEX_P): Remove.
(RTX_OK_FOR_OFFSET_P, RTX_OK_FOR_OLO10_P): Move to...
* config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P,
RTX_OK_FOR_OLO10_P): ...here.
(sparc_mode_dependent_address_p): Use symbolic_operand instead of
SYMBOLIC_CONST.

From-SVN: r173714

13 years agoFix bug with taking address of a variable when address does not escape.
Ian Lance Taylor [Thu, 12 May 2011 18:35:05 +0000 (18:35 +0000)]
Fix bug with taking address of a variable when address does not escape.

* go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
parameter.
(Gcc_backend::parameter_variable): Likewise.

From-SVN: r173712

13 years agogimplify.c (gimple_boolify): Re-boolify expression arguments even if expression type...
Kai Tietz [Thu, 12 May 2011 18:19:07 +0000 (20:19 +0200)]
gimplify.c (gimple_boolify): Re-boolify expression arguments even if expression type is of kind BOOLEAN_TYPE.

2011-05-12  Kai Tietz  <ktietz@redhat.com>

* gimplify.c (gimple_boolify): Re-boolify expression
arguments even if expression type is of kind BOOLEAN_TYPE.
(gimplify_boolean_expr): Removed.
(gimplify_expr): Boolify truth opcodes AND, ANDIF, OR, ORIF,
and XOR. Additional take care that we keep expression's type.
* tree-cfg.c (verify_gimple_assign_binary): Adjust check for type
of TRUTH_AND|OR|XOR_EXPR.

From-SVN: r173711

13 years agore PR tree-optimization/48975 (ICE in execute_cse_reciprocals() with -fno-tree-slp...
Jakub Jelinek [Thu, 12 May 2011 17:44:23 +0000 (19:44 +0200)]
re PR tree-optimization/48975 (ICE in execute_cse_reciprocals() with -fno-tree-slp-vectorize)

PR tree-optimization/48975
* tree-if-conv.c (combine_blocks): Call free_bb_predicate
on all bbs here and free and clear ifc_bbs at the end.

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

From-SVN: r173709

13 years agore PR fortran/48972 (OPEN with Unicode file name)
Tobias Burnus [Thu, 12 May 2011 17:40:29 +0000 (19:40 +0200)]
re PR fortran/48972 (OPEN with Unicode file name)

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

        PR fortran/48972
        * resolve.c (resolve_intrinsic): Don't resolve module
        intrinsics multiple times.

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

        PR fortran/48972
        * gfortran.dg/iso_c_binding_compiler_3.f90: New.

From-SVN: r173708

13 years agocp-tree.h (DECL_DEFERRED_CONSTEXPR_CHECK): New.
Jason Merrill [Thu, 12 May 2011 17:33:53 +0000 (13:33 -0400)]
cp-tree.h (DECL_DEFERRED_CONSTEXPR_CHECK): New.

* cp-tree.h (DECL_DEFERRED_CONSTEXPR_CHECK): New.
* semantics.c (validate_constexpr_fundecl): Set it.
(check_deferred_constexpr_decls): Clear it.
(register_constexpr_fundef): Make sure it isn't set.
* decl.c (grok_special_member_properties): Check it.

From-SVN: r173707

13 years agotrans.c (call_to_gnu): In the by-reference case...
Eric Botcazou [Thu, 12 May 2011 14:54:09 +0000 (14:54 +0000)]
trans.c (call_to_gnu): In the by-reference case...

* gcc-interface/trans.c (call_to_gnu): In the by-reference case, if the
type of the parameter is an unconstrained array, convert the actual to
the type of the formal in the In Out and Out cases as well.

From-SVN: r173706

13 years agogimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle NULLPTR_TYPE similar to VOID_TYPE.
Richard Guenther [Thu, 12 May 2011 14:04:29 +0000 (14:04 +0000)]
gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle NULLPTR_TYPE similar to VOID_TYPE.

2011-05-12  Richard Guenther  <rguenther@suse.de>

* gimple.c (gtc_visit): Compare TREE_ADDRESSABLE, handle
NULLPTR_TYPE similar to VOID_TYPE.  Defer type-leader lookup
until after simple checks.
(gimple_types_compatible_p): Likewise.
(iterative_hash_gimple_type): Always hash pointer targets
and function return and argument types.
(iterative_hash_canonical_type): Do not hash TYPE_QUALS,
hash TYPE_ALIGN.  Do not hash TYPE_MIN/MAX_VALUE.
(gimple_canonical_types_compatible_p): Compare TREE_ADDRESSABLE,
handle NULLPTR_TYPE similar to VOID_TYPE.  Handle non-aggregates
completely in the simple compare section.
(gimple_register_canonical_type): Query the cache again after
registering.

From-SVN: r173704

13 years agore PR tree-optimization/48172 (incorrect vectorization of loop in GCC 4.5.* with...
Richard Guenther [Thu, 12 May 2011 12:14:45 +0000 (12:14 +0000)]
re PR tree-optimization/48172 (incorrect vectorization of loop in GCC 4.5.* with -O3)

2011-05-12  Richard Guenther  <rguenther@suse.de>

PR tree-optimization/48172
* tree-vect-loop-manip.c (vect_vfa_segment_size): Do not exclude
the number of iterations from the segment size calculation.
(vect_create_cond_for_alias_checks): Adjust.

* gcc.dg/vect/pr48172.c: New testcase.

From-SVN: r173703

13 years agore PR debug/48967 (ICE during use_narrower_mode)
Jakub Jelinek [Thu, 12 May 2011 11:54:33 +0000 (13:54 +0200)]
re PR debug/48967 (ICE during use_narrower_mode)

PR debug/48967
* var-tracking.c (use_narrower_mode_test) <case REG>: Return 1
if validate_subreg fails.

* g++.dg/opt/pr48967.C: New test.

From-SVN: r173701