Vladimir Makarov [Mon, 11 Apr 2011 19:23:13 +0000 (19:23 +0000)]
re PR middle-end/48464 (@171649: ICE in setup_pressure_classes, at ira.c:877)
2011-04-11 Vladimir Makarov <vmakarov@redhat.com>
PR middle-end/48464
* ira.c (setup_pressure_classes): Fix typo in loop condition.
(setup_allocno_and_important_classes): Ditto.
From-SVN: r172274
Joseph Myers [Mon, 11 Apr 2011 18:46:05 +0000 (19:46 +0100)]
linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
* config/alpha/linux-elf.h (LINUX_DYNAMIC_LINKER): Rename to
GNU_USER_DYNAMIC_LINKER.
* config/arm/linux-eabi.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Change
LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/bfin/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/bfin/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/cris/linux.h (CRIS_LINK_SUBTARGET_SPEC): Change
LINUX_DYNAMIC_LINKER to GNU_USER_DYNAMIC_LINKER.
(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/frv/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/i386/gnu-user.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/i386/gnu-user64.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/i386/linux.h (GNU_USER_DYNAMIC_LINKER): Remove.
* config/i386/linux64.h (GNU_USER_DYNAMIC_LINKER32,
GNU_USER_DYNAMIC_LINKER64): Remove.
* config/ia64/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/kfreebsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/knetbsd-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/kopensolaris-gnu.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename
to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/linux.h (LINUX_TARGET_OS_CPP_BUILTINS): Rename to
GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINUX_DYNAMIC_LINKER): Rename to GNU_USER_DYNAMIC_LINKER.
(LINUX_DYNAMIC_LINKER32): Rename to GNU_USER_DYNAMIC_LINKER32.
(LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
* config/lm32/uclinux-elf.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/m32r/linux.h (LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
(TARGET_OS_CPP_BUILTINS): Change LINUX_TARGET_OS_CPP_BUILTINS to
GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/m68k/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/m68k/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/mips/linux64.h (LINUX_DYNAMIC_LINKERN32): Rename to
GNU_USER_DYNAMIC_LINKERN32.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKERN32 to
GNU_USER_DYNAMIC_LINKERN32. Change LINUX_DYNAMIC_LINKER64 to
GNU_USER_DYNAMIC_LINKER64. Change LINUX_DYNAMIC_LINKER32 to
GNU_USER_DYNAMIC_LINKER32.
* config/mn10300/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/moxie/uclinux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/pa/pa-linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/rs6000/linux64.h (LINUX_DYNAMIC_LINKER32): Rename to
GNU_USER_DYNAMIC_LINKER32.
(LINUX_DYNAMIC_LINKER64): Rename to GNU_USER_DYNAMIC_LINKER64.
* config/rs6000/sysv4.h (LINUX_DYNAMIC_LINKER): Rename to
GNU_USER_DYNAMIC_LINKER.
* config/s390/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER32 to
GNU_USER_DYNAMIC_LINKER32. Change LINUX_DYNAMIC_LINKER64 to
GNU_USER_DYNAMIC_LINKER64.
* config/sh/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(SUBTARGET_LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/sparc/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
* config/sparc/linux64.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_ARCH32_SPEC): Change LINUX_DYNAMIC_LINKER32 to
GNU_USER_DYNAMIC_LINKER32.
(LINK_ARCH64_SPEC): Change LINUX_DYNAMIC_LINKER64 to
GNU_USER_DYNAMIC_LINKER64.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER64 to
GNU_USER_DYNAMIC_LINKER64.
* config/vax/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
* config/xtensa/linux.h (TARGET_OS_CPP_BUILTINS): Change
LINUX_TARGET_OS_CPP_BUILTINS to GNU_USER_TARGET_OS_CPP_BUILTINS.
(LINK_SPEC): Change LINUX_DYNAMIC_LINKER to
GNU_USER_DYNAMIC_LINKER.
From-SVN: r172273
Joseph Myers [Mon, 11 Apr 2011 18:44:32 +0000 (19:44 +0100)]
gnu-user.h: Copy from linux.h.
* config/i386/gnu-user.h: Copy from linux.h. Update comments.
(LINK_EMULATION, GLIBC_DYNAMIC_LINKER): Remove.
(SUBTARGET_EXTRA_SPECS): Use GNU_USER_LINK_EMULATION and
GNU_USER_DYNAMIC_LINKER.
(MD_UNWIND_SUPPORT, REG_NAME): Remove.
* config/i386/gnu-user64.h: Copy from linux64.h. Update comments.
(GLIBC_DYNAMIC_LINKER32, GLIBC_DYNAMIC_LINKER64): Remove.
(LINK_SPEC): Use GNU_USER_DYNAMIC_LINKER32 and
GNU_USER_DYNAMIC_LINKER64.
(MD_UNWIND_SUPPORT, REG_NAME): Remove.
* config/i386/kfreebsd-gnu.h (LINK_EMULATION): Change to
GNU_USER_LINK_EMULATION.
* config/i386/linux.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE,
DEFAULT_PCC_STRUCT_RETURN, TARGET_TLS_DIRECT_SEG_REFS_DEFAULT,
ASM_COMMENT_START, DBX_REGISTER_NUMBER, NO_PROFILE_COUNTERS,
MCOUNT_NAME, SUBTARGET_FRAME_POINTER_REQUIRED, SIZE_TYPE,
PTRDIFF_TYPE, WCHAR_TYPE, WCHAR_TYPE_SIZE, TARGET_OS_CPP_BUILTINS,
CPP_SPEC, CC1_SPEC): Remove.
(LINK_EMULATION): Change to GNU_USER_LINK_EMULATION.
(GNU_USER_DYNAMIC_LINKER): Define.
(ASM_SPEC, SUBTARGET_EXTRA_SPECS, LINK_SPEC, ENDFILE_SPEC,
ASM_OUTPUT_ALIGNED_BSS, ASM_OUTPUT_MAX_SKIP_ALIGN,
ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX, CRT_GET_RFIB_DATA,
LIBGCC2_HAS_TF_MODE, LIBGCC2_TF_CEXT, TF_SIZE,
TARGET_ASM_FILE_END, STACK_CHECK_MOVING_SP,
STACK_CHECK_STATIC_BUILTIN, TARGET_THREAD_SSP_OFFSET,
TARGET_CAN_SPLIT_STACK, TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
* config/i386/linux64.h (TARGET_OS_CPP_BUILTINS, CPP_SPEC,
CC1_SPEC, DEFAULT_PCC_STRUCT_RETURN,
TARGET_TLS_DIRECT_SEG_REFS_DEFAULT, SPEC_32, SPEC_64, ASM_SPEC,
LINK_SPEC, ENDFILE_SPEC, MULTILIB_DEFAULTS, LIBGCC2_HAS_TF_MODE,
LIBGCC2_TF_CEXT, TF_SIZE, TARGET_ASM_FILE_END): Remove.
(GNU_USER_DYNAMIC_LINKER32, GNU_USER_DYNAMIC_LINKER64): Define.
(STACK_CHECK_MOVING_SP, STACK_CHECK_STATIC_BUILTIN,
TARGET_THREAD_SSP_OFFSET, TARGET_CAN_SPLIT_STACK,
TARGET_THREAD_SPLIT_STACK_OFFSET): Remove.
* config/i386/gnu.h (GLIBC_DYNAMIC_LINKER): Change to
GNU_USER_DYNAMIC_LINKER.
* config/kfreebsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
* config/knetbsd-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
* config/kopensolaris-gnu.h (GLIBC_DYNAMIC_LINKER): Change to
GNU_USER_DYNAMIC_LINKER. Unconditionally undefine and redefine.
* config.gcc (i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
i[34567]86-*-knetbsd*-gnu | i[34567]86-*-gnu* |
i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux* |
x86_64-*-kfreebsd*-gnu | x86_64-*-knetbsd*-gnu): Use the new
headers.
From-SVN: r172271
Rainer Orth [Mon, 11 Apr 2011 18:14:23 +0000 (18:14 +0000)]
pr47917.c: Define _ISO_C_SOURCE=19990L for alpha*-dec-osf5*.
* gcc.dg/torture/pr47917.c: Define _ISO_C_SOURCE=19990L for
alpha*-dec-osf5*.
From-SVN: r172270
Paolo Carlini [Mon, 11 Apr 2011 17:50:39 +0000 (17:50 +0000)]
moveable.cc: Actually run it in parallel-mode for check-parallel.
2011-04-11 Paolo Carlini <paolo.carlini@oracle.com>
* testsuite/25_algorithms/inplace_merge/moveable.cc: Actually run
it in parallel-mode for check-parallel.
* testsuite/25_algorithms/rotate/moveable.cc: Likewise.
* testsuite/25_algorithms/stable_partition/moveable.cc: Likewise.
* testsuite/25_algorithms/remove/moveable.cc: Likewise.
* testsuite/25_algorithms/sort_heap/check_compare_by_value.cc:
Likewise.
* testsuite/25_algorithms/unique/moveable.cc: Likewise.
* testsuite/25_algorithms/remove_if/moveable.cc: Likewise.
* testsuite/25_algorithms/heap/moveable.cc: Likewise.
* testsuite/25_algorithms/next_permutation/moveable.cc: Only skip
the tests based on std::lexicographical_compare for check-parallel.
* testsuite/25_algorithms/prev_permutation/moveable.cc: Likewise.
From-SVN: r172269
Kai Tietz [Mon, 11 Apr 2011 17:44:04 +0000 (19:44 +0200)]
re PR target/9601 (-mrtd switch/stdcall attribute raises warnings for __buitltin functions)
2011-04-11 Kai Tietz <ktietz@redhat.com>
PR target/9601
PR target/11772
* config/i386/i386-protos.h (ix86_get_callcvt): New prototype.
* config/i386/i386.c (ix86_handle_cconv_attribute): Adjust
comment.
(ix86_is_msabi_thiscall): Removed.
(ix86_is_type_thiscall): Likewise.
(ix86_get_callcvt): New function.
(ix86_comp_type_attributes): Simplify check.
(ix86_function_regparm): Use ix86_get_callcvt for calling
convention attribute checks.
(ix86_return_pops_args): Likewise.
(ix86_static_chain): Likewise.
(x86_this_parameter): Likewise.
(x86_output_mi_thunk): Likewise.
(ix86_function_type_abi): Optimize check for types without attributes.
* config/i386/i386.h (IX86_CALLCVT_CDECL, IX86_CALLCVT_STDCALL,
IX86_CALLCVT_FASTCALL, IX86_CALLCVT_THISCALL, IX86_CALLCVT_REGPARM,
IX86_CALLCVT_SSEREGPARM): New macros to represent calling convention
by flag-values.
(IX86_BASE_CALLCVT): Helper macro.
* config/i386/netware.c (i386_nlm_maybe_mangle_decl_assembler_name):
Use ix86_get_callcvt for calling convention attribute checks and avoid
symbol-decoration for stdcall in TARGET_RTD case.
* config/i386/winnt.c (i386_pe_maybe_mangle_decl_assembler_name):
Likewise.
(gen_stdcall_or_fastcall_suffix): Adjust ident and use DECL_ORIGIN
for declaration.
From-SVN: r172268
Uros Bizjak [Mon, 11 Apr 2011 16:52:23 +0000 (18:52 +0200)]
* config/i386/sse.md: Fix unwanted commit.
From-SVN: r172266
Uros Bizjak [Mon, 11 Apr 2011 16:12:53 +0000 (18:12 +0200)]
sse.md (VI_128): New mode iterator.
* config/i386/sse.md (VI_128): New mode iterator.
(VI12_128): Rename from SSEMODE12.
(VI14_128): Rename from SSEMODE14.
(VI124_128): New mode iterator.
(VI24_128): Rename from SSEMODE248.
(VI248_128): Rename from SSEMODE248.
(SSEMODE124C8): Remove.
(*<plusminus_insn><mode>3): Merge with *avx_<plusminus_insn><mode>3.
(*sse2_<plusminus_insn><mode>3): Merge with
*avx_<plusminus_insn><mode>3.
(*mulv8hi3): Merge with *avx_mulv8hi3.
(*<s>mulv8hi3_highpart): Merge with *avx_<s>mulv8hi3_highpart.
(*sse2_umulv2siv2di3): Merge with *avx_umulv2siv2di3.
(*sse2_pmaddwd): Merge with *avx_pmaddwd.
(*sse4_1_mulv4si3): Merge with *avx_mulv4si3.
(ashr<mode>3): Merge with *avx_ashr<mode>3.
(lshr<mode>3): Merge with *avx_lshr<mode>3.
(ashl<mode>3): Merge with *avx_ashl<mode>3.
(sse2_ashlv1ti3): Merge with *avx_ashlv1ti3.
(sse2_lshrv1ti3): Merge with *avx_lshrv1ti3.
(*sse4_1_<smaxmin:code><mode>3): Merge with *avx_<smaxmin:code><mode>3.
(*<smaxmin:code>v8hi3): Ditto.
(*sse4_1_<umaxmin:code><mode>3): Merge with *avx_<umaxmin:code><mode>3.
(*<smaxmin:code>v16qi3): Ditto.
(*sse4_1_eqv2di3): Merge with *avx_eq<mode>3.
(*sse2_eq<mode>3): Ditto.
(*sse4_2_eqv2di3): Merge with *avx_gt<mode>3.
(*sse2_gt<mode>3): Ditto.
(vcondv2di): Split out of vcond<mode>.
(vconduv2di): Split out of vcondu<mode>.
From-SVN: r172264
Richard Guenther [Mon, 11 Apr 2011 15:50:57 +0000 (15:50 +0000)]
gimplify.c (gimple_fold_indirect_ref): Check host_integerp before calling tree_low_cst.
2011-04-11 Richard Guenther <rguenther@suse.de>
* gimplify.c (gimple_fold_indirect_ref): Check host_integerp
before calling tree_low_cst.
From-SVN: r172263
Tobias Burnus [Mon, 11 Apr 2011 15:50:47 +0000 (17:50 +0200)]
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
2011-04-11 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* simplify.c (simplify_bound_dim): Exit for
ucobound's last dimension unless -fcoarray=single.
* trans-array (gfc_conv_descriptor_size_1): Renamed from
gfc_conv_descriptor_size, made static, has now from_dim and
to_dim arguments.
(gfc_conv_descriptor_size): Call gfc_conv_descriptor_size.
(gfc_conv_descriptor_cosize): New function.
* trans-array.h (gfc_conv_descriptor_cosize): New prototype.
* trans-intrinsic.c (conv_intrinsic_cobound): Add input_location
and handle last codim of ucobound for when -fcoarray is not "single".
From-SVN: r172262
Richard Guenther [Mon, 11 Apr 2011 15:47:30 +0000 (15:47 +0000)]
stor-layout.c (layout_type): Compute all array index size operations in the original type.
2011-04-11 Richard Guenther <rguenther@suse.de>
* stor-layout.c (layout_type): Compute all array index size operations
in the original type.
(initialize_sizetypes): Add comment.
(set_sizetype): Do not set TREE_TYPE of a TREE_VEC.
c-family/
* c-common.c (complete_array_type): Build a range type of
proper type.
From-SVN: r172261
Joseph Myers [Mon, 11 Apr 2011 15:25:37 +0000 (16:25 +0100)]
* common.opt (Tbss=, Tdata=, Ttext=): New options.
From-SVN: r172259
Martin Jambor [Mon, 11 Apr 2011 15:17:44 +0000 (17:17 +0200)]
cgraph.c (cgraph_local_info): Call cgraph_get_node instead of cgraph_node, handle NULL return value.
2011-04-11 Martin Jambor <mjambor@suse.cz>
gcc/
* cgraph.c (cgraph_local_info): Call cgraph_get_node instead
of cgraph_node, handle NULL return value.
(cgraph_global_info): Likewise.
(cgraph_rtl_info): Likewise.
* tree-inline.c (estimate_num_insns): Likewise.
* gimplify.c (unshare_body): Likewise.
(unvisit_body): Likewise.
(gimplify_body): Likewise.
* predict.c (optimize_function_for_size_p): Likewise.
* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Likewise.
(call_may_clobber_ref_p_1): Likewise.
* varasm.c (function_section_1): Likewise.
(assemble_start_function): Likewise.
gcc/java/
* decl.c (java_mark_decl_local): Call cgraph_get_node instead of
cgraph_node and handle returned NULL.
From-SVN: r172258
Martin Jambor [Mon, 11 Apr 2011 14:57:06 +0000 (16:57 +0200)]
except.c (set_nothrow_function_flags): Call cgraph_get_node instead of cgraph_node.
2011-04-11 Martin Jambor <mjambor@suse.cz>
* except.c (set_nothrow_function_flags): Call cgraph_get_node instead
of cgraph_node.
* final.c (rest_of_clean_state): Likewise.
* gimple-iterator.c (update_call_edge_frequencies): Likewise.
* passes.c (pass_init_dump_file): Likewise.
(execute_all_ipa_transforms): Likewise.
(function_called_by_processed_nodes_p): Likewise.
* predict.c (maybe_hot_frequency_p): Likewise.
(probably_never_executed_bb_p): Likewise.
(compute_function_frequency): Likewise.
* tree-nested.c (check_for_nested_with_variably_modified): Likewise.
(unnest_nesting_tree_1): Likewise.
(lower_nested_functions): Likewise.
* tree-optimize.c (execute_fixup_cfg): Likewise.
(tree_rest_of_compilation): Likewise.
* tree-profile.c (gimple_gen_ic_func_profiler): Likewise.
* tree-sra.c (ipa_early_sra): Likewise.
* tree-ssa-loop-ivopts.c (computation_cost): Likewise.
* config/i386/i386.c (ix86_compute_frame_layout): Likewise.
* ipa.c (record_cdtor_fn): Likewise.
* ipa-inline.c (cgraph_early_inlining): Likewise.
(compute_inline_parameters_for_current): Likewise.
* ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
* ipa-pure-const.c (local_pure_const): Likewise.
* ipa-split.c (split_function): Likewise.
(execute_split_functions): Likewise.
* cgraphbuild.c (build_cgraph_edges): Likewise.
(rebuild_cgraph_edges): Likewise.
(cgraph_rebuild_references): Likewise.
(remove_cgraph_callee_edges): Likewise.
* cgraphunit.c (cgraph_mark_if_needed): Likewise.
(verify_cgraph_node): Likewise.
(cgraph_analyze_functions): Likewise.
(cgraph_preserve_function_body_p): Likewise.
(save_inline_function_body): Likewise.
(save_inline_function_body): Likewise.
* tree-inline.c (copy_bb): Likewise.
(optimize_inline_calls): Likewise.
From-SVN: r172257
Martin Jambor [Mon, 11 Apr 2011 14:25:55 +0000 (16:25 +0200)]
re PR tree-optimization/48195 (ICE: vector VEC(ipa_node_params_t,base) index domain error, in ipa_analyze_node at ipa-prop.c:1525 with -flto --param partial-inlining-entry-probability=101)
2011-04-11 Martin Jambor <mjambor@suse.cz>
PR tree-optimization/48195
* ipa-cp.c (ipcp_driver): Call ipa_check_create_node_params and
ipa_check_create_edge_args.
(ipcp_generate_summary): Do not call ipa_check_create_node_params and
ipa_check_create_edge_args.
* ipa-inline.c (inline_generate_summary): Do not call
ipa_check_create_node_params and ipa_check_create_edge_args.
* ipa-prop.c (ipa_analyze_node): Call ipa_check_create_node_params and
ipa_check_create_edge_args.
* testsuite/gcc.dg/ipa/pr48195.c: New test.
From-SVN: r172256
GCC Administrator [Mon, 11 Apr 2011 00:19:05 +0000 (00:19 +0000)]
Daily bump.
From-SVN: r172252
Mike Stump [Sun, 10 Apr 2011 18:46:45 +0000 (18:46 +0000)]
Remove doubled up words.
From-SVN: r172247
Jim Meyering [Sun, 10 Apr 2011 18:13:23 +0000 (18:13 +0000)]
Avoid memory overrun in a test leading to potential double-free.
2011-04-10 Jim Meyering <meyering@redhat.com>
Avoid memory overrun in a test leading to potential double-free.
* testsuite/test-expandargv.c (writeout_test): Fix off-by-one error:
i.e., do copy the trailing NUL byte.
From-SVN: r172246
Mike Stump [Sun, 10 Apr 2011 17:57:59 +0000 (17:57 +0000)]
Cleanup double words.
From-SVN: r172245
Jonathan Wakely [Sun, 10 Apr 2011 16:35:58 +0000 (16:35 +0000)]
re PR libstdc++/48541 (std::function(std::_Function_base) should use std::addressof)
2011-04-10 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/48541
* include/std/functional (_Base_manager::_M_get_pointer): Use
addressof.
* testsuite/20_util/function/48541.cc: New.
From-SVN: r172244
Jonathan Wakely [Sun, 10 Apr 2011 16:20:42 +0000 (16:20 +0000)]
re PR libstdc++/48465 (undefined reference to std::basic_string::_S_compare(unsigned long, unsigned long))
2011-04-10 Jonathan Wakely <jwakely.gcc@gmail.com>
PR libstdc++/48465
* configure.ac (libtool_VERSION): Bump library version to 6:16:0.
* configure: Regenerate.
* config/abi/pre/gnu.ver (GLIBCXX_3.4.16): Export missing symbols.
* testsuite/util/testsuite_abi.cc: Add GLIBCXX_3.4.16.
From-SVN: r172241
Eric Botcazou [Sun, 10 Apr 2011 10:31:14 +0000 (10:31 +0000)]
* gnat.dg/return3.adb: Remove unused switch.
From-SVN: r172239
GCC Administrator [Sun, 10 Apr 2011 00:18:43 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r172236
Anatoly Sokolov [Sat, 9 Apr 2011 19:10:45 +0000 (23:10 +0400)]
expr.c (expand_expr_real_1): Use add_to_hard_reg_set function instead of loop.
* expr.c (expand_expr_real_1): Use add_to_hard_reg_set function
instead of loop.
* sel-sched.c (mark_unavailable_hard_regs): Likewise.
* function.c (record_hard_reg_sets): Likewise.
* ira.c (compute_regs_asm_clobbered): Likewise.
* sched-deps.c (sched_analyze_1): Likewise.
* reload1.c (mark_reload_reg_in_use, choose_reload_regs): Likewise.
From-SVN: r172231
Xinliang David Li [Sat, 9 Apr 2011 16:29:08 +0000 (16:29 +0000)]
Fix PR48484
From-SVN: r172229
Duncan Sands [Sat, 9 Apr 2011 16:18:01 +0000 (18:18 +0200)]
Bail out rather than crashing in array_type_nelts if TYPE_MAX_VALUE is null.
From-SVN: r172227
GCC Administrator [Sat, 9 Apr 2011 00:18:46 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r172224
Mike Stump [Fri, 8 Apr 2011 23:53:59 +0000 (23:53 +0000)]
re PR testsuite/48506 (ssa-ccp-17.c = g.i fails)
PR testsuite/48506
* gcc.dg/tree-ssa/ssa-ccp-17.c: Robustify against ports that
default to fno-common.
From-SVN: r172218
Georg-Johann Lay [Fri, 8 Apr 2011 23:17:52 +0000 (23:17 +0000)]
sibcall-3.c: Don't xfail on AVR.
2011-04-08 Georg-Johann Lay <avr@gjlay.de>
* gcc.dg/sibcall-3.c: Don't xfail on AVR.
* gcc.dg/sibcall-4.c: Don't xfail on AVR.
From-SVN: r172217
Eric Botcazou [Fri, 8 Apr 2011 22:31:22 +0000 (22:31 +0000)]
combine.c (combine_validate_cost): Adjust comments.
* combine.c (combine_validate_cost): Adjust comments. Set registered
cost of I0 to zero at the end, if any.
From-SVN: r172216
Thomas Koenig [Fri, 8 Apr 2011 21:46:08 +0000 (21:46 +0000)]
re PR fortran/48448 (Implement -f(no-)frontend-optimization)
2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/48448
* gfortran.h (gfc_option_t): Add warn_function_elimination and
flag_frontend_optimize.
* lang.opt (Wfunction-elimination): Add.
(ffrontend-optimize): Add.
* invoke.texi: Add documentation for -Wfunction-elimination
and -ffrontend-optimize. Add -faggressive-function-elimination
to list of code generation options.
* frontend-passes.c (gfc_run_passes): Run optimizations if
flag_frontend_optimize is set.
(warn_function_elimination): New function.
(cfe_expr_0): Call it if requested to do so.
* options.c (gfc_init_options): Initiate warn_function_elimination
and flag_frontend_optimize.
(gfc_post_options): Set flag_frontend_optimize if not specified
by user, depending on the optimization level.
(gfc_handle_option): Handle -Wfunction-elimination and
-ffrontend-optimize.
2011-04-08 Thomas Koenig <tkoenig@gcc.gnu.org>
PR fortran/48448
* gfortran.dg/function_optimize_5.f90: New test.
From-SVN: r172215
Xinliang David Li [Fri, 8 Apr 2011 21:03:12 +0000 (21:03 +0000)]
FDO insane profile
From-SVN: r172213
Xinliang David Li [Fri, 8 Apr 2011 21:01:08 +0000 (21:01 +0000)]
-dA enhancement
From-SVN: r172212
Steven G. Kargl [Fri, 8 Apr 2011 20:57:44 +0000 (20:57 +0000)]
re PR target/47829 (no .eh_frame_hdr table will be created.)
2011-04-08 Steven G. Kargl <kargl@gcc.gnu.org>
PR 47829
gcc/config.gcc: disable unwind table generation for crtbegin/crtend
on i386-*-freebsd.
From-SVN: r172211
Eric Botcazou [Fri, 8 Apr 2011 20:30:14 +0000 (20:30 +0000)]
decl.c (gnat_to_gnu_entity): Set minimum alignment on fields of the RETURN type built for the Copy-In...
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set minimum
alignment on fields of the RETURN type built for the Copy-In Copy-Out
mechanism.
From-SVN: r172210
Eric Botcazou [Fri, 8 Apr 2011 20:21:36 +0000 (20:21 +0000)]
trans.c (Identifier_to_gnu): Do not return initializers of aggregate types that contain a placeholder.
* gcc-interface/trans.c (Identifier_to_gnu): Do not return initializers
of aggregate types that contain a placeholder.
From-SVN: r172209
Michael Matz [Fri, 8 Apr 2011 20:18:08 +0000 (20:18 +0000)]
re PR rtl-optimization/48389 (ICE: in make_edges, at cfgbuild.c:319 with -mtune=pentiumpro)
PR middle-end/48389
* jump.c (rebuild_jump_labels_1, rebuild_jump_labels_chain): New
functions.
(rebuild_jump_labels): Call rebuild_jump_labels_1.
* rtl.h (rebuild_jump_labels_chain): Declare.
* cfgexpand.c (gimple_expand_cfg): Initialize JUMP_LABEL also on
insns inserted on edges.
testsuite/
* gcc.target/i386/pr48389.c: New test.
From-SVN: r172208
Joseph Myers [Fri, 8 Apr 2011 19:39:48 +0000 (20:39 +0100)]
gcc_update (gcc/config/arm/arm-tables.opt): New dependencies.
contrib:
* gcc_update (gcc/config/arm/arm-tables.opt): New dependencies.
gcc:
* config.gcc (arm*-*-*): Add arm/arm-tables.opt to extra_options.
* config/arm/arm-arches.def: New.
* config/arm/arm-opts.h: New.
* config/arm/genopt.sh: New.
* config/arm/arm-tables.opt: New (generated).
* config/arm/arm.c (arm_handle_option, arm_target_help,
TARGET_HANDLE_OPTION, TARGET_HELP, arm_find_cpu): Remove.
(all_architectures): Get most table contents from arm-arches.def.
(arm_option_override): Set arm_selected_arch, arm_selected_cpu and
arm_selected_tune here.
* config/arm/arm.h (enum processor_type): Move to arm-opts.h.
* config/arm/arm.opt (config/arm/arm-opts.h): New HeaderInclude.
(march=, mcpu=, mtune=): Use Enum and Var.
* config/arm/t-arm ($(srcdir)/config/arm/arm-tables.opt): New.
(arm.o): Update dependencies.
From-SVN: r172205
Basile Starynkevitch [Fri, 8 Apr 2011 17:52:25 +0000 (17:52 +0000)]
gengtype.c (write_typed_alloc_def): New argument f.
2011-04-08  Basile Starynkevitch  <basile@starynkevitch.net>
* gengtype.c (write_typed_alloc_def): New argument f. Use it instead
of header_file.
(write_typed_struct_alloc_def, write_typed_typedef_alloc_def)
(write_typed_alloc_defns): Likewise.
(main): Calls write_typed_alloc_defns with output_header.
From-SVN: r172203
Vladimir Makarov [Fri, 8 Apr 2011 17:48:23 +0000 (17:48 +0000)]
Fix PR # 48435 instead of 4435
From-SVN: r172202
Vladimir Makarov [Fri, 8 Apr 2011 17:17:50 +0000 (17:17 +0000)]
re PR libstdc++/4435 (Object file has undefined basic_string symbol as local.)
2011-04-08 Vladimir Makarov <vmakarov@redhat.com>
PR 4435
* ira-color.c (setup_profitable_hard_regs): Add comments.
Don't take prohibited hard regs into account.
(setup_conflict_profitable_regs): Rename to
get_conflict_profitable_regs.
(check_hard_reg_p): Check prohibited hard regs.
From-SVN: r172201
Nathan Froyd [Fri, 8 Apr 2011 17:05:23 +0000 (17:05 +0000)]
utils.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES
gcc/ada/
* gcc-interface/utils.c (handle_sentinel_attribute): Don't use
TYPE_ARG_TYPES
(handle_type_generic_attribute): Likewise.
gcc/c-family/
* c-common.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
(handle_type_generic_attribute): Likewise.
gcc/lto/
* lto-lang.c (handle_sentinel_attribute): Don't use TYPE_ARG_TYPES.
(handle_type_generic_attribute): Likewise.
From-SVN: r172200
Nathan Froyd [Fri, 8 Apr 2011 16:48:52 +0000 (16:48 +0000)]
alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
* config/alpha/alpha.c (alpha_emit_xfloating_libcall): Call use_reg.
* config/xtensa/xtensa.c (xtensa_call_tls_desc): Likewise.
* config/sparc/sparc.c (sparc_legitimize_tls_address): Likewise.
From-SVN: r172199
John David Anglin [Fri, 8 Apr 2011 16:21:39 +0000 (16:21 +0000)]
re PR target/48366 (ICE in extract_constrain_insn_cached, at recog.c:2024)
PR target/48366
* config/pa/pa.c (hppa_register_move_cost): Increase to 18 cost of
move from floating point to shift amount register .
(emit_move_sequence): Remove secondary reload support for floating
point to shift amount amount register copies.
(pa_secondary_reload): Return GENERAL_REGS for floating point/shift
amount register copies.
* config/pa/pa32-regs.h (HARD_REGNO_MODE_OK): For shift amount
register, return false if mode isn't a scalar integer mode.
* config/pa/pa64-regs.h (HARD_REGNO_MODE_OK): Likewise.
From-SVN: r172197
Kai Tietz [Fri, 8 Apr 2011 16:12:14 +0000 (18:12 +0200)]
Missed part of regenerated file.
From-SVN: r172196
Richard Guenther [Fri, 8 Apr 2011 14:36:14 +0000 (14:36 +0000)]
gimple.c (gimple_call_flags): Remove kludge.
2011-04-08 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_call_flags): Remove kludge.
From-SVN: r172190
Joseph Myers [Fri, 8 Apr 2011 14:29:33 +0000 (15:29 +0100)]
* de.po: Update.
From-SVN: r172187
Kai Tietz [Fri, 8 Apr 2011 14:16:38 +0000 (16:16 +0200)]
configure.ac (libgcj_ld_export_all): Set for windows native targets to export-all-symbols.
2011-04-08 Kai Tietz <ktietz@redhat.com>
* configure.ac (libgcj_ld_export_all): Set for windows
native targets to export-all-symbols.
(LIBGCJ_LD_EXPORT_ALL): Export libgcj_ld_export_all.
* Makefile.am (libgcj_la_LDFLAGS): Add LIBGCJ_LD_EXPORT_ALL.
* sysdep/i386/backtrace.h (MAIN_FUNC): Define for windows
native targets to DllMain.
* gcj/javaprims.h (JNICALL): Define it dependent
for different windows targets.
* include/jni_md.h: Likewise.
* headers.txt (_Jv_JNI_ToReflectedField): Mark
JNICALLS for friends.
(_Jv_JNI_ToReflectedMethod): Likewise.
* java/lang/Class.h: Regenerated.
* java/lang/reflect/Field.h: Regenerated.
* java/lang/reflect/Constructor.h: Regenerated.
* java/lang/reflect/Method.h: Regenerated.
* configure: Regenerated.
* Makefile.in: Regenerated.
* include/Makefile.in: Regenerated.
* testsuite/Makefile.in: Regenerated.
* gcj/Makefile.in: Regenerated.
From-SVN: r172186
Alexander Monakov [Fri, 8 Apr 2011 14:10:10 +0000 (18:10 +0400)]
sel-sched.c (sel_region_init): Move call to sel_setup_region_sched_flags after setup_current_loop_nest.
* sel-sched.c (sel_region_init): Move call to
sel_setup_region_sched_flags after setup_current_loop_nest.
From-SVN: r172185
Andrey Belevantsev [Fri, 8 Apr 2011 13:25:29 +0000 (17:25 +0400)]
re PR rtl-optimization/48272 (internal compiler error: in setup_insn_reg_pressure_info, at haifa-sched.c:1124)
PR rtl-optimization/48272
* sched-deps.c (setup_insn_reg_pressure_info): Export and rename to
init_insn_reg_pressure_info. Adjust a caller.
* sched-int.h (init_insn_reg_pressure_info): Declare.
* haifa-sched.c (haifa_init_insn): Call init_insn_reg_pressure_info
when sched-pressure is enabled.
* g++.dg/opt/pr48272.C: New.
From-SVN: r172183
Richard Guenther [Fri, 8 Apr 2011 13:22:32 +0000 (13:22 +0000)]
gimple.c (gimple_set_modified): Do not queue calls to MODIFIED_NORETURN_CALLS here ...
2011-04-08 Richard Guenther <rguenther@suse.de>
* gimple.c (gimple_set_modified): Do not queue calls to
MODIFIED_NORETURN_CALLS here ...
* tree-ssa-operands.c (update_stmt_operands): ... but here.
From-SVN: r172182
Richard Guenther [Fri, 8 Apr 2011 13:10:27 +0000 (13:10 +0000)]
re PR lto/48467 ([LTO] Anomalous behavior of -save-temps)
2011-04-08 Richard Guenther <rguenther@suse.de>
PR lto/48467
* toplev.c (lang_dependent_init): Do not open asm_out_file
in WPA mode, nor perform debug machinery initialization.
(finalize): Do not unlink asm_out_file in WPA mode.
From-SVN: r172181
Richard Guenther [Fri, 8 Apr 2011 12:19:45 +0000 (12:19 +0000)]
gimple.h (gimple_call_fntype): New function.
2011-04-08 Richard Guenther <rguenther@suse.de>
* gimple.h (gimple_call_fntype): New function.
(gimple_call_return_type): Use it.
* expr.c (expand_expr_real_1): Use gimple_call_fntype.
* gimple-low.c (gimple_check_call_args): Likewise.
* gimple.c (gimple_call_flags): Likewise.
(gimple_call_arg_flags): Likewise.
(gimple_call_return_flags): Likewise.
* tree-cfg.c (verify_gimple_call): Likewise.
(do_warn_unused_result): Likewise.
* tree-ssa-ccp.c (ccp_fold_stmt): Likewise.
* value-prof.c (gimple_ic_transform): Fix fndecl check.
From-SVN: r172178
Dmitry Melnik [Fri, 8 Apr 2011 11:58:23 +0000 (11:58 +0000)]
re PR rtl-optimization/48235 (ICE: SIGSEGV in has_dependence_p (sel-sched-ir.c:3263) with -fselective-scheduling2 and custom flags)
PR rtl-optimization/48235
* sel-sched.c (code_motion_process_successors): Recompute the last
insn in basic block if control flow changed.
(code_motion_path_driver): Ditto. Recompute the first insn as well.
Update condition for ilist_remove.
testsuite:
* gcc.dg/pr48235.c: New.
From-SVN: r172177
Alexander Monakov [Fri, 8 Apr 2011 11:53:25 +0000 (15:53 +0400)]
re PR rtl-optimization/48302 (ICE: SIGSEGV in reposition_prologue_and_epilogue_notes (function.c:5662) with -fcrossjumping -fselective-scheduling2)
PR rtl-optimization/48302
* sel-sched-ir.h (sel_add_loop_preheaders): Update prototype.
* sel-sched-ir.c (sel_add_loop_preheaders): Add 'bbs' argument. Use
it to record added preheader blocks.
* sel-sched.c (setup_current_loop_nest): Add 'bbs' argument. Pass it
on to sel_add_loop_preheaders.
(sel_region_init): Move call to setup_current_loop_nest after
sel_init_bbs.
testsuite:
* g++.dg/opt/pr48302.C: New.
From-SVN: r172176
Alexander Monakov [Fri, 8 Apr 2011 11:49:43 +0000 (15:49 +0400)]
re PR target/48273 (ICE: in create_copy_of_insn_rtx, at sel-sched-ir.c:5604 with -fsel-sched-pipelining -fselective-scheduling2 -march=core2)
PR target/48273
* cfgloop.h (loop_has_exit_edges): New helper.
* sel-sched-ir.c (init_global_and_expr_for_insn): Make CALLs
non-clonable.
* sel-sched.c (sel_setup_region_sched_flags): Don't pipeline loops
that have no exit edges.
testsuite:
* g++.dg/opt/pr48273.C: New.
From-SVN: r172175
Alexander Monakov [Fri, 8 Apr 2011 11:44:51 +0000 (15:44 +0400)]
re PR rtl-optimization/48442 (ICE: in init_seqno, at sel-sched.c:6767 with -Os -fselective-scheduling2 --param max-sched-extend-regions-iters=100)
PR rtl-optimization/48442
* sel-sched.c (init_seqno): Remove number_of_insns argument. Update
all callers. Adjust assert.
testsuite:
* gcc.dg/pr48442.c: New.
From-SVN: r172173
Jakub Jelinek [Fri, 8 Apr 2011 11:38:19 +0000 (13:38 +0200)]
re PR tree-optimization/48377 (miscompilation at -O3)
PR tree-optimization/48377
* tree-vect-data-refs.c (vector_alignment_reachable_p): Set
is_packed to true even for types with smaller TYPE_ALIGN than
TYPE_SIZE.
* gcc.dg/vect/pr48377.c: New test.
From-SVN: r172172
Richard Guenther [Fri, 8 Apr 2011 11:28:23 +0000 (11:28 +0000)]
re PR bootstrap/48513 (Revision 172166 breaks bootstrap)
2011-04-08 Richard Guenther <rguenther@suse.de>
PR bootstrap/48513
* doc/tm.texi: Re-generate.
From-SVN: r172171
Wei Guozhi [Fri, 8 Apr 2011 09:17:42 +0000 (09:17 +0000)]
arm-protos.h (arm_attr_length_push_multi): New prototype.
* config/arm/arm-protos.h (arm_attr_length_push_multi): New prototype.
* config/arm/arm.c (arm_attr_length_push_multi): New function.
* config/arm/arm.md (*push_multi): Change the length computation to
call a C function.
From-SVN: r172169
Anatoly Sokolov [Fri, 8 Apr 2011 06:44:09 +0000 (10:44 +0400)]
tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
* doc/tm.texi.in (ASM_OUTPUT_BSS): Remove documentation.
(BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS): Update documentation.
* doc/tm.texi: Regenerate.
* system.h (ASM_OUTPUT_BSS): Poison.
* varasm.c (asm_output_bss): Remove function.
(emit_bss, init_varasm_once): Don't use ASM_OUTPUT_BSS macro.
* config/frv/frv.h (BSS_SECTION_ASM_OP): Remove comment.
* config/frv/fr30.h (BSS_SECTION_ASM_OP): Likewise.
* config/i386/djgpp.h (BSS_SECTION_ASM_OP): Likewise.
* config/i386/i386elf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
Likewise.
* config/sh/sh.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
Likewise.
* config/m68k/m68kelf.h (BSS_SECTION_ASM_OP, ASM_OUTPUT_ALIGNED_BSS):
Likewise.
* config/m68k/netbsd-elf.h (ASM_OUTPUT_ALIGNED_BSS): Likewise.
From-SVN: r172166
Jason Merrill [Fri, 8 Apr 2011 06:08:31 +0000 (02:08 -0400)]
re PR c++/48500 (Regression: Failing to convert template argument to concrete type, in C++0x mode.)
PR c++/48500
* semantics.c (potential_constant_expression_1) [CALL_EXPR]: Check
arguments even if we don't know the function.
From-SVN: r172165
Jason Merrill [Fri, 8 Apr 2011 06:08:21 +0000 (02:08 -0400)]
re PR c++/48481 (C++ overloading memory hog)
PR c++/48481
* tree.c (build_overload): Allow an unwrapped FUNCTION_DECL
at the end of the chain.
* pt.c (dependent_template_p): Use OVL_CURRENT/NEXT.
(iterative_hash_template_arg): Likewise.
From-SVN: r172164
Jason Merrill [Fri, 8 Apr 2011 06:08:13 +0000 (02:08 -0400)]
re PR c++/48481 (C++ overloading memory hog)
PR c++/48481
* cp-tree.h (OVL_ARG_DEPENDENT): New.
* name-lookup.c (add_function): Set it.
* semantics.c (finish_call_expr): Free OVERLOADs if it's set.
From-SVN: r172163
Jason Merrill [Fri, 8 Apr 2011 06:08:04 +0000 (02:08 -0400)]
re PR c++/48481 (C++ overloading memory hog)
PR c++/48481
* call.c (build_user_type_conversion_1): Use lookup_fnfields_slot.
Release unused vector.
From-SVN: r172162
Jason Merrill [Fri, 8 Apr 2011 02:03:25 +0000 (22:03 -0400)]
re PR c++/48451 ([C++0x][SFINAE] Failures with n-ary initialization expressions (with template default argument))
PR c++/48451
* pt.c (fn_type_unification): Don't clear incomplete pack flag.
(type_unification_real): Clear it here instead.
From-SVN: r172159
GCC Administrator [Fri, 8 Apr 2011 00:18:51 +0000 (00:18 +0000)]
Daily bump.
From-SVN: r172155
Joseph Myers [Thu, 7 Apr 2011 21:48:01 +0000 (22:48 +0100)]
rx.opt (rx610, [...]): Use Enum not Name on EnumValue lines.
* config/rx/rx.opt (rx610, rx200, rx600): Use Enum not Name on
EnumValue lines.
From-SVN: r172149
Jason Merrill [Thu, 7 Apr 2011 21:48:00 +0000 (17:48 -0400)]
re PR c++/48468 ([C++0x][SFINAE] noexcept operator does not handle function templates well)
PR c++/48468
* except.c (build_noexcept_spec): Propagate error_mark_node.
(finish_noexcept_expr): Likewise.
From-SVN: r172148
Jason Merrill [Thu, 7 Apr 2011 21:47:53 +0000 (17:47 -0400)]
re PR c++/48452 ([C++0x][SFINAE] Failures with n-ary initialization expressions (in return type))
PR c++/48452
* typeck.c (build_x_compound_expr_from_list): Return error_mark_node
in SFINAE context.
From-SVN: r172147
Jason Merrill [Thu, 7 Apr 2011 21:47:45 +0000 (17:47 -0400)]
re PR c++/48450 ([C++0x][SFINAE] Hard errors with static_cast expressions)
PR c++/48450
* call.c (resolve_args): Take complain.
(build_new_function_call, build_operator_new_call): Pass it.
(build_op_call, build_new_op, build_new_method_call): Pass it.
From-SVN: r172146
Jason Merrill [Thu, 7 Apr 2011 21:47:38 +0000 (17:47 -0400)]
re PR c++/48450 ([C++0x][SFINAE] Hard errors with static_cast expressions)
PR c++/48450
* typeck.c (check_for_casting_away_constness): Take complain.
(build_static_cast_1, build_reinterpret_cast_1): Pass it.
(build_const_cast_1): Pass it. Take full complain parm.
(build_const_cast, cp_build_c_cast): Adjust.
From-SVN: r172145
Jason Merrill [Thu, 7 Apr 2011 21:47:31 +0000 (17:47 -0400)]
tree.c (build_aggr_init_expr): Always return error_mark_node on abstract violation.
* tree.c (build_aggr_init_expr): Always return error_mark_node
on abstract violation.
From-SVN: r172144
Jason Merrill [Thu, 7 Apr 2011 21:47:24 +0000 (17:47 -0400)]
re PR c++/48450 ([C++0x][SFINAE] Hard errors with static_cast expressions)
PR c++/48450
* tree.c (build_cplus_new, build_aggr_init_expr): Take complain.
(bot_manip): Adjust.
* cp-tree.h: Adjust.
* call.c (convert_like_real, build_cxx_call): Adjust.
(perform_direct_initialization_if_possible): Adjust.
* cvt.c (ocp_convert): Adjust.
* init.c (build_value_init): Adjust.
* semantics.c (maybe_add_lambda_conv_op): Adjust.
* typeck.c (unary_complex_lvalue, cp_build_modify_expr): Adjust.
* typeck2.c (build_functional_cast): Adjust.
From-SVN: r172143
Jason Merrill [Thu, 7 Apr 2011 21:47:17 +0000 (17:47 -0400)]
init.c (build_value_init_noctor): Handle REFERENCE_TYPE at top level.
* init.c (build_value_init_noctor): Handle REFERENCE_TYPE at top
level.
(perform_member_init): Not here.
* typeck2.c (build_functional_cast): Limit REFERENCE_TYPE special
case to templates.
(abstract_virtuals_error_sfinae): Remove RESULT_DECL special case.
From-SVN: r172142
Jason Merrill [Thu, 7 Apr 2011 21:47:10 +0000 (17:47 -0400)]
re PR c++/48449 ([C++0x][SFINAE] Hard errors during value-initialization expressions)
PR c++/48449
* typeck2.c (build_functional_cast): Check complain consistently.
Use build_value_init and abstract_virtuals_error_sfinae.
(abstract_virtuals_error_sfinae): Split out.
* cp-tree.h: Declare it.
* init.c (build_new_1): Use it.
(build_value_init_noctor): Handle FUNCTION_TYPE.
From-SVN: r172141
Jason Merrill [Thu, 7 Apr 2011 21:47:03 +0000 (17:47 -0400)]
semantics.c (finish_decltype_type): Simplify handling of unknown type.
* semantics.c (finish_decltype_type): Simplify handling of unknown
type.
From-SVN: r172140
Jason Merrill [Thu, 7 Apr 2011 21:46:57 +0000 (17:46 -0400)]
semantics.c (finish_decltype_type): Add complain parm.
* semantics.c (finish_decltype_type): Add complain parm.
* cp-tree.h: Adjust.
* parser.c (cp_parser_decltype): Adjust.
* pt.c (tsubst): Adjust.
From-SVN: r172139
Jason Merrill [Thu, 7 Apr 2011 21:46:48 +0000 (17:46 -0400)]
re PR c++/48450 ([C++0x][SFINAE] Hard errors with static_cast expressions)
PR c++/48450
* c-family/c-common.c (c_common_truthvalue_conversion): Don't ignore
conversion from C++0x scoped enum.
* cp/cvt.c (ocp_convert): Handle converting scoped enum to bool.
From-SVN: r172138
Joseph Myers [Thu, 7 Apr 2011 21:25:55 +0000 (22:25 +0100)]
m68k.c (m68k_handle_option): Don't handle OPT_m68000...
* config/m68k/m68k.c (m68k_handle_option): Don't handle
OPT_m68000, OPT_mc68000, OPT_m68010, OPT_m68020, OPT_mc68020,
OPT_m68030, OPT_m68040, OPT_m68060, OPT_m68302, OPT_m68332 and
OPT_mcpu32.
* config/m68k/m68k.h (OPTION_DEFAULT_SPECS, ASM_CPU_SPEC): Don't
handle -mc68000, -m68000, -m68302, -m68010, -mc68020, -m68020,
-m68030, -m68040, -m68060, -mcpu32 and -m68332.
* config/m68k/m68k.opt (m68000, m68010, m68020, m68030, m68040,
m68060, m68302, m68332, mc68000, mc68020, mcpu32): Use Alias.
* config/m68k/t-mlibs (CANONICALIZE_OPTIONS): Remove.
(MULTILIB_OPTIONS): Don't use $(CANONICALIZE_OPTIONS).
(MULTILIB_MATCHES): Map -march= options to corresponding -mcpu=
options. Don't map other m68k options manually. Don't handle
old-style options as canonical.
(MULTILIB_EXCEPTIONS): Don't use $(CANONICALIZE_OPTIONS).
* doc/install.texi (m68k-*-*): Document binutils version
requirement.
From-SVN: r172130
Eric Botcazou [Thu, 7 Apr 2011 21:11:51 +0000 (21:11 +0000)]
basic-block.h (force_nonfallthru): Move to...
* basic-block.h (force_nonfallthru): Move to...
* cfghooks.h (struct cfg_hooks): Add force_nonfallthru hook.
(force_nonfallthru): ...here.
* cfghooks.c (force_nonfallthru): New function.
* cfgrtl.c (force_nonfallthru): Rename into...
(rtl_force_nonfallthru): ...this.
(commit_one_edge_insertion): Do not set AUX field.
(commit_edge_insertions): Do not discover new basic blocks.
(rtl_cfg_hooks): Add rtl_force_nonfallthru.
(cfg_layout_rtl_cfg_hooks): Likewise.
* function.c (thread_prologue_and_epilogue_insns): Remove bogus
ATTRIBUTE_UNUSED. Discover new basic blocks in the prologue insns.
* tree-cfg.c (gimple_cfg_hooks): Add NULL for force_nonfallthru.
From-SVN: r172128
Mike Stump [Thu, 7 Apr 2011 20:55:01 +0000 (20:55 +0000)]
non-local-goto-5.c: Fix for targets with no trampolines.
* gcc.dg/torture/stackalign/non-local-goto-5.c: Fix for targets
with no trampolines.
From-SVN: r172127
Anatoly Sokolov [Thu, 7 Apr 2011 19:58:24 +0000 (23:58 +0400)]
mips.h (REG_MODE_OK_FOR_BASE_P, [...]): Remove macros.
* config/mips/mips.h (REG_MODE_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P):
Remove macros.
From-SVN: r172125
Uros Bizjak [Thu, 7 Apr 2011 18:47:16 +0000 (20:47 +0200)]
sse.md: Update copyright year.
* config/i386/sse.md: Update copyright year.
(avxcvtvecmode): Remove.
(sse_movhlps): Merge with *avx_movhlps.
(sse_movlhps): Merge with *avx_movlhps.
(vec_interleave_highv4sf): Merge with *avx_interleave_highv4sf.
(vec_interleave_lowv4sf): Merge with *avx_interleave_lowv4sf.
(sse_shufps_<mode>): Merge with *avx_shufps_<mode>.
(sse_loadhps): Merge with *avx_loadhps.
(sse_storelps): Merge with *avx_storelps.
(sse_loadlps): Merge with *avx_loadlps.
(sse_movss): Merge with *avx_movss.
(*vec_concatv2sf_sse4_1): Merge with *vec_concatv2sf_avx.
(*vec_concatv4sf_sse): Merge with *vec_concatv4sf_avx.
(*vec_set<mode>_0_sse4_1): Merge with *vec_set<mode>_0_avx.
(*vec_set<mode>_0_sse2): Split multi-unit alternative.
(vec_set<mode>_0): Ditto.
(*vec_setv4sf_sse4_1): Merge with *vec_setv4sf_avx.
(sse4_1_insertps): Merge with *avx_insertps.
(*sse3_interleave_highv2df): Merge with *avx_interleave_highv2df.
(*sse3_interleave_lowv2df): Merge with *avx_interleave_lowv2df.
(vec_interleave_highv2di): Merge with *avx_interleave_highv2di.
(sse2_shufpd_<mode>): Merge with *avx_shufpd_<mode>.
(sse2_storehpd): Merge with *avx_storehpd.
(sse2_loadhpd): Merge with *avx_loadhpd.
(sse2_loadlpd): Merge with *avx_loadlpd.
(sse2_movsd): Merge with *avx_movsd.
(*vec_concatv2df): Merge with *vec_concatv2df.
From-SVN: r172123
Jakub Jelinek [Thu, 7 Apr 2011 18:31:43 +0000 (20:31 +0200)]
re PR fortran/48117 (ICE: OpenMP; in build_int_cst_wide, at tree.c:1178)
PR fortran/48117
* gfortran.dg/gomp/pr48117.f90: New test.
From-SVN: r172119
Jakub Jelinek [Thu, 7 Apr 2011 17:58:05 +0000 (19:58 +0200)]
re PR debug/48343 (ICE compiling i586 linux-2.6.38/drivers/staging/wlan-ng/p80211wep.c: in form_sum, at reload.c:5338)
PR debug/48343
* combine.c (combine_instructions): Add last_combined_insn,
update it if insn is after it, pass it to all try_combine
calls.
(try_combine): Add last_combined_insn parameter, pass it instead of
i3 to propagate_for_debug.
* gcc.dg/torture/pr48343.c: New test.
From-SVN: r172109
Jakub Jelinek [Thu, 7 Apr 2011 17:57:26 +0000 (19:57 +0200)]
re PR debug/48343 (ICE compiling i586 linux-2.6.38/drivers/staging/wlan-ng/p80211wep.c: in form_sum, at reload.c:5338)
PR debug/48343
* combine.c (combine_instructions): Add last_combined_insn,
update it if insn is after it, pass it to all try_combine
calls.
(try_combine): Add last_combined_insn parameter, pass it instead of
i3 to propagate_for_debug.
* gcc.dg/torture/pr48343.c: New test.
From-SVN: r172108
Rainer Orth [Thu, 7 Apr 2011 17:11:30 +0000 (17:11 +0000)]
* gcc.target/i386/asm-6.c: Remove dg-xfail-if.
From-SVN: r172107
Ian Lance Taylor [Thu, 7 Apr 2011 17:09:10 +0000 (17:09 +0000)]
libgo: Update to current Go library.
From-SVN: r172106
Joseph Myers [Thu, 7 Apr 2011 16:30:42 +0000 (17:30 +0100)]
* de.po: Update.
From-SVN: r172103
Eric Botcazou [Thu, 7 Apr 2011 16:07:44 +0000 (16:07 +0000)]
Fix typos
From-SVN: r172102
Maxim Kuvyrkov [Thu, 7 Apr 2011 14:53:50 +0000 (14:53 +0000)]
* gcc.dg/lto/20090210_0.c: Require tls_runtime target.
From-SVN: r172101
Nick Clifton [Thu, 7 Apr 2011 14:02:37 +0000 (14:02 +0000)]
mn10300.md (movqi_internal): Add alternatives to handle MDR <-> data register transfers.
* config/mn10300/mn10300.md (movqi_internal): Add alternatives
to handle MDR <-> data register transfers.
(movhi_internal): Likewise.
From-SVN: r172099
Alan Modra [Thu, 7 Apr 2011 11:17:05 +0000 (20:47 +0930)]
rs6000.c (rs6000_stack_info): Don't compare against previous stack info.
* config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
previous stack info.
From-SVN: r172096
Stuart Henderson [Thu, 7 Apr 2011 11:09:02 +0000 (11:09 +0000)]
MAINTAINERS (Write After Approval): Add myself.
2011-04-07 Stuart Henderson <shenders@gcc.gnu.org>
* MAINTAINERS (Write After Approval): Add myself.
From-SVN: r172095
Tom de Vries [Thu, 7 Apr 2011 09:48:39 +0000 (09:48 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-07 Tom de Vries <tom@codesourcery.com>
PR target/43920
* cfgcleanup.c (try_crossjump_to_edge): Add dir parameter. Pass dir to
flow_find_cross_jump. Swap variables to implement backward replacement.
(try_crossjump_bb): Add argument to try_crossjump_to_edge.
From-SVN: r172094
Tom de Vries [Thu, 7 Apr 2011 09:28:11 +0000 (09:28 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-07 Tom de Vries <tom@codesourcery.com>
PR target/43920
* lib/scanasm.exp (object-size): New proc.
* gcc.target/arm/pr43920-2.c: New test.
From-SVN: r172093
Tom de Vries [Thu, 7 Apr 2011 08:35:23 +0000 (08:35 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-07 Tom de Vries <tom@codesourcery.com>
PR target/43920
* cfgcleanup.c (walk_to_nondebug_insn): New function.
(flow_find_cross_jump): Use walk_to_nondebug_insn. Recalculate bb1 and
bb2.
(try_crossjump_to_edge): Handle case that newpos1 or newpos2 is not src1
or src2. Redirect edges to the last basic block. Update frequency and
count on multiple basic blocks in case of fallthru.
From-SVN: r172091
Tom de Vries [Thu, 7 Apr 2011 08:10:34 +0000 (08:10 +0000)]
re PR target/43920 (Choosing conditional execution over conditional branches for code size in some cases.)
2011-04-07 Tom de Vries <tom@codesourcery.com>
PR target/43920
* cfgcleanup.c (equal_different_set_p, can_replace_by, merge_dir): New
function.
(old_insns_match_p): Change return type. Replace return false/true with
return dir_none/dir_both. Use can_replace_by.
(flow_find_cross_jump): Add dir_p parameter. Init replacement direction
from dir_p. Register replacement direction in dir, last_dir and
afterlast_dir. Handle new return type of old_insns_match_p using
merge_dir. Return replacement direction in dir_p.
(flow_find_head_matching_sequence, outgoing_edges_match): Handle new
return type of old_insns_match_p.
(try_crossjump_to_edge): Add argument to call to flow_find_cross_jump.
* ifcvt.c ( cond_exec_process_if_block): Add argument to call to
flow_find_cross_jump.
* basic-block.h (enum replace_direction): New type.
(flow_find_cross_jump): Add parameter to declaration.
From-SVN: r172090
Jeffrey Yasskin [Thu, 7 Apr 2011 04:11:12 +0000 (04:11 +0000)]
In C++0x mode, import iota and is_sorted from namespace std into namespace __gnu_cxx to avoid ambiguous call errors.
In C++0x mode, import iota and is_sorted from namespace std into
namespace __gnu_cxx to avoid ambiguous call errors. copy_n would be a
good candidate for this too, except it was standardized with a
different return type.
Tested:
`make -k check-c++` on x86_64-unknown-linux-gnu.
libstdc++-v3/ChangeLog:
2011-04-06 Jeffrey Yasskin <jyasskin@google.com>
* include/ext/algorithm (is_sorted): In C++0x mode import from
namespace std.
* include/ext/numeric (iota): In C++0x mode import from
namespace std.
* testsuite/ext/is_sorted/cxx0x.cc: New.
* testsuite/ext/iota/cxx0x.cc: New.
From-SVN: r172073