Paolo Carlini [Wed, 18 May 2011 18:05:17 +0000 (18:05 +0000)]
initializer_list: Use noexcept specifier.
2011-05-18 Paolo Carlini <paolo.carlini@oracle.com>
* libsupc++/initializer_list: Use noexcept specifier.
(initializer_list<>::size, begin, end): Qualify as const.
* include/bits/move.h (__addressof, forward, move, addressof): Specify
as noexcept.
* include/std/bitset: Use noexcept specifier throughout.
* include/debug/bitset: Update.
* include/profile/bitset: Likewise.
From-SVN: r173871
Uros Bizjak [Wed, 18 May 2011 17:32:59 +0000 (19:32 +0200)]
i386.md (*tls_global_dynamic_32_gnu): Split asm template.
* config/i386/i386.md (*tls_global_dynamic_32_gnu): Split asm template.
(*tls_global_dynamic_64): Ditto.
(*tls_local_dynamic_base_32_gnu): Ditto.
(*tls_local_dynamic_base_64): Ditto.
(tls_initial_exec_64_sun): Ditto.
From-SVN: r173870
Jason Merrill [Wed, 18 May 2011 17:19:15 +0000 (13:19 -0400)]
re PR c++/48948 ([C++0x] constexpr friend function cannot be defined in-class)
PR c++/48948
PR c++/49015
* class.c (finalize_literal_type_property): Do check
for constexpr member functions of non-literal class.
(finish_struct): Don't call check_deferred_constexpr_decls.
* cp-tree.h: Don't declare it.
(DECL_DEFERRED_CONSTEXPR_CHECK): Remove.
* decl.c (grok_special_member_properties): Don't check it
(grokfnedcl): Don't call validate_constexpr_fundecl.
(start_preparsed_function): Do call it.
* pt.c (tsubst_decl): Don't call it.
(instantiate_class_template_1): Don't call
check_deferred_constexpr_decls.
* semantics.c (literal_type_p): Check for any incompleteness.
(ensure_literal_type_for_constexpr_object): Likewise.
(is_valid_constexpr_fn): Revert deferral changes.
(validate_constexpr_fundecl): Likewise.
(register_constexpr_fundef): Likewise.
(check_deferred_constexpr_decls): Remove.
From-SVN: r173869
Stuart Henderson [Wed, 18 May 2011 16:36:13 +0000 (16:36 +0000)]
mcpu-bf592.c: New test.
2011-05-18 Stuart Henderson <shenders@gcc.gnu.org>
* gcc.target/bfin/mcpu-bf592.c: New test.
From-SVN: r173868
Stuart Henderson [Wed, 18 May 2011 16:31:57 +0000 (16:31 +0000)]
invoke.texi (Blackfin Options): -mcpu accepts bf592.
2011-05-18 Stuart Henderson <shenders@gcc.gnu.org>
* doc/invoke.texi (Blackfin Options): -mcpu accepts bf592.
* config/bfin/t-bfin-elf (MULTILIB_MATCHES): Select bf532-none for
bf592-none.
* config/bfin/t-bfin-linux (MULTILIB_MATCHES): Likewise.
* config/bfin/t-bfin-uclinux (MULTILIB_MATCHES): Likewise.
* config/bfin/bfin.c (bfin_cpus): Add bf592.
* config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Define
__ADSPBF592__ and __ADSPBF59x__ for BFIN_CPU_BF592.
* config/bfin/bfin-opts.h (bfin_cpu_type): Add BFIN_CPU_BF592.
* config/bfin/elf.h (LIB_SPEC): Add bf592.
From-SVN: r173867
Joseph Myers [Wed, 18 May 2011 14:54:23 +0000 (15:54 +0100)]
arm-opts.h (enum arm_fp16_format_type, [...]): Move from arm.h.
* config/arm/arm-opts.h (enum arm_fp16_format_type, enum
arm_abi_type, enum float_abi_type, enum arm_tp_type): Move from
arm.h.
* config/arm/arm.c (arm_float_abi, arm_fp16_format, arm_abi,
target_thread_pointer, arm_structure_size_boundary, struct
float_abi, all_float_abis, struct fp16_format, all_fp16_formats,
struct abi_name, arm_all_abis): Remove.
(arm_option_override) Don't process most enumerated option values
here. Don't process target_fpe_name here. Work with integer not
string for structure size boundary; use separate diagnostics for
each case.
* config/arm/arm.h (enum float_abi_type, enum
arm_fp16_format_type, enum arm_abi_type, enum arm_tp_type): Move
to arm-opts.h.
(arm_float_abi, arm_fp16_format, arm_abi, target_thread_pointer,
arm_structure_size_boundary): Remove.
* config/arm/arm.opt (mabi=): Use Enum and Init.
(arm_abi_type): New Enum and EnumValue entries.
(mfloat-abi=): Use Enum and Init.
(float_abi_type): New Enum and EnumValue entries.
(mfp=, mfpe=): Replace by separate Alias entries for each
argument.
(mfp16-format=): Use Enum and Init.
(arm_fp16_format_type): New Enum and EnumValue entries.
(mstructure-size-boundary=): Use UInteger and Init.
(mtp=): Use Enum and Init.
(arm_tp_type): New Enum and EnumValue entries.
From-SVN: r173864
Richard Guenther [Wed, 18 May 2011 13:33:21 +0000 (13:33 +0000)]
re PR tree-optimization/49018 (Inline assembly block executed outside conditional check with "-O1 -ftree-vrp")
2011-05-18 Richard Guenther <rguenther@suse.de>
PR tree-optimization/49018
* gimple.c (gimple_has_side_effects): Volatile asms have side-effects.
* tree-ssa-ifcombine.c (bb_no_side_effects_p): Use
gimple_has_side_effects.
From-SVN: r173861
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
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
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
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
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
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
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
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
GCC Administrator [Wed, 18 May 2011 00:18:15 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r173843
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
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
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
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
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
Eric Botcazou [Tue, 17 May 2011 13:53:26 +0000 (13:53 +0000)]
* gnat.dg/invalid1.adb: New test.
From-SVN: r173831
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Tue, 17 May 2011 00:19:44 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173814
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
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
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
Uros Bizjak [Mon, 16 May 2011 18:55:44 +0000 (20:55 +0200)]
* config/i386/i386.md (TLS patterns): Fix whitespace.
From-SVN: r173802
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
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
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
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
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
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
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
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
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
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
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
Revital Eres [Mon, 16 May 2011 06:11:46 +0000 (06:11 +0000)]
Fix condition in doloop_register_get
From-SVN: r173786
GCC Administrator [Mon, 16 May 2011 00:19:17 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173785
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
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
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
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
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
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
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
Janne Blomqvist [Sun, 15 May 2011 10:23:53 +0000 (13:23 +0300)]
PR 48915 Clarify _gfortran_set_options documentation
From-SVN: r173770
GCC Administrator [Sun, 15 May 2011 00:18:21 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r173768
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
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
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
Joseph Myers [Sat, 14 May 2011 16:00:34 +0000 (17:00 +0100)]
* zh_CN.po: Update.
From-SVN: r173758
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
Eric Botcazou [Sat, 14 May 2011 10:38:45 +0000 (10:38 +0000)]
Remove conflict marker
From-SVN: r173756
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
Janne Blomqvist [Sat, 14 May 2011 10:24:18 +0000 (13:24 +0300)]
PR 48915 Update mixed-language programming documentation
From-SVN: r173754
Janne Blomqvist [Sat, 14 May 2011 10:20:56 +0000 (13:20 +0300)]
PR 48915 Update mixed-language programming documentation
From-SVN: r173753
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
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
Janne Blomqvist [Sat, 14 May 2011 08:44:09 +0000 (11:44 +0300)]
PR 48915 Abort handling
From-SVN: r173750
Janne Blomqvist [Sat, 14 May 2011 07:55:51 +0000 (10:55 +0300)]
Error printing thread safety, remove GFORTRAN_USE_STDERR
From-SVN: r173749
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
GCC Administrator [Sat, 14 May 2011 00:19:21 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173747
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GCC Administrator [Fri, 13 May 2011 00:19:31 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r173722
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
DJ Delorie [Thu, 12 May 2011 20:52:32 +0000 (16:52 -0400)]
Fix missing file name in changelog
From-SVN: r173715
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
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
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