Jason Merrill [Fri, 10 May 2013 14:17:37 +0000 (10:17 -0400)]
re PR c++/57047 ([C++11] stl_pair.h:137:64: internal compiler error: Segmentation fault in constexpr constructor)
PR c++/57047
* semantics.c (cxx_fold_indirect_ref): Fix thinko.
From-SVN: r198777
Jason Merrill [Fri, 10 May 2013 14:17:30 +0000 (10:17 -0400)]
re PR c++/55149 (capturing VLA in lambda)
PR c++/55149
* semantics.c (add_capture): Error rather than abort on copy
capture of VLA.
* typeck.c (maybe_warn_about_returning_address_of_local): Don't
warn about capture proxy.
From-SVN: r198776
Richard Biener [Fri, 10 May 2013 12:26:10 +0000 (12:26 +0000)]
Fix changelog entry
From-SVN: r198775
Richard Biener [Fri, 10 May 2013 12:20:36 +0000 (12:20 +0000)]
re PR tree-optimization/57214 (ice: tree check: expected ssa_name, have integer_cst in coalesce_partitions, at tree-ssa-coalesce.c:1194)
2013-05-10 Richard Biener <rguenther@suse.de>
PR tree-optimization/57214
* tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): Do
not propagate from SSA names that occur in abnormal PHI nodes.
From-SVN: r198773
Marc Glisse [Fri, 10 May 2013 11:15:14 +0000 (13:15 +0200)]
stor-layout.c (element_precision): New function.
2013-05-10 Marc Glisse <marc.glisse@inria.fr>
gcc/
* stor-layout.c (element_precision): New function.
* machmode.h (element_precision): Declare it.
* tree.c (build_minus_one_cst): New function.
(element_precision): Likewise.
* tree.h (build_minus_one_cst): Declare new function.
(element_precision): Likewise.
* fold-const.c (operand_equal_p): Use element_precision.
(fold_binary_loc): Handle vector types.
* convert.c (convert_to_integer): Use element_precision.
* gimple.c (iterative_hash_canonical_type): Handle complex and vectors
separately.
gcc/c-family/
* c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
vectors.
gcc/testsuite/
* gcc.dg/vector-shift.c: New testcase.
From-SVN: r198772
Richard Sandiford [Fri, 10 May 2013 10:52:55 +0000 (10:52 +0000)]
gcc/
* config/mips/mips-protos.h (m16_uimm3_b, m16_simm4_1, m16_nsimm4_1)
(m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4, m16_simm8_1)
(m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1, m16_uimm8_4)
(m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete.
* config/mips/mips.c (m16_check_op, m16_uimm3_b, m16_simm4_1)
(m16_nsimm4_1, m16_simm5_1, m16_nsimm5_1, m16_uimm5_4, m16_nuimm5_4)
(m16_simm8_1, m16_nsimm8_1, m16_uimm8_1, m16_nuimm8_1, m16_uimm8_m1_1)
(m16_uimm8_4, m16_nuimm8_4, m16_simm8_8, m16_nsimm8_8): Delete.
* config/mips/constraints.md (Udb8, Usb5, Usb8, Usd8, Uub8, Uuw5)
(Uuw8): New constraints.
(Usb4): Move into alphabetical order.
* config/mips/predicates.md (db8_operand, sb5_operand, sb8_operand)
(sd8_operand, ub8_operand, uw8_operand): New predicates.
* config/mips/mips.md (*xor<mode>3, *xor<mode>3_mips16): Name
previously unnamed patterns.
(*add<mode>3_mips16, *xor<mode>3_mips16, *<optab>si3_mips16)
(*ashldi3_mips16, *ashrdi3_mips16, *lshrdi3_mips16)
(*slt<u>_<GPR:mode><GPR2:mode>_mips16)
(*sle<u>_<GPR:mode><GPR2:mode>_mips16): Use constraints instead
of set_attr_alternative/if_then_else. Use extended_mips16 instead
of specific lengths.
From-SVN: r198771
Jakub Jelinek [Fri, 10 May 2013 08:41:17 +0000 (10:41 +0200)]
i386.md (rotateinv): New code attr.
* config/i386/i386.md (rotateinv): New code attr.
(*<rotate_insn><mode>3_1, *<rotate_insn>si3_1_zext,
*<rotate_insn>qi3_1_slp): Emit rorl %eax instead of
roll $31, %eax, etc.
* gcc.target/i386/rotate-1.c: Accept rolb or rorb instruction.
From-SVN: r198770
Jakub Jelinek [Fri, 10 May 2013 08:40:10 +0000 (10:40 +0200)]
re PR tree-optimization/45216 (Rotate expressions not recognized at tree level)
PR tree-optimization/45216
PR tree-optimization/57157
* tree-ssa-forwprop.c (simplify_rotate): New function.
(ssa_forward_propagate_and_combine): Call it.
* c-c++-common/rotate-1.c: New test.
* c-c++-common/rotate-1a.c: New test.
* c-c++-common/rotate-2.c: New test.
* c-c++-common/rotate-2a.c: New test.
* c-c++-common/rotate-3.c: New test.
* c-c++-common/rotate-3a.c: New test.
* c-c++-common/rotate-4.c: New test.
* c-c++-common/rotate-4a.c: New test.
From-SVN: r198769
Uros Bizjak [Fri, 10 May 2013 07:54:22 +0000 (09:54 +0200)]
testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
* testsuite/util/testsuite_abi.cc (check_version): Add CXXABI_1.3.8.
From-SVN: r198768
Richard Biener [Fri, 10 May 2013 07:52:25 +0000 (07:52 +0000)]
tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not disable peeling when we version for aliasing.
2013-05-10 Richard Biener <rguenther@suse.de>
* tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
disable peeling when we version for aliasing.
(vector_alignment_reachable_p): Honor explicit user alignment.
(vect_supportable_dr_alignment): Likewise.
* tree-vect-loop-manip.c (vect_can_advance_ivs_p): Use
STMT_VINFO_LOOP_PHI_EVOLUTION_PART instead of recomputing it.
* tree-vect-loop.c (vect_transform_loop): First apply versioning,
then peeling to arrange for the cost-model check to come first.
* gcc.target/i386/avx256-unaligned-load-2.c: Make well-defined.
* gcc.target/i386/l_fma_double_1.c: Adjust.
* gcc.target/i386/l_fma_double_2.c: Likewise.
* gcc.target/i386/l_fma_double_3.c: Likewise.
* gcc.target/i386/l_fma_double_4.c: Likewise.
* gcc.target/i386/l_fma_double_5.c: Likewise.
* gcc.target/i386/l_fma_double_6.c: Likewise.
* gcc.target/i386/l_fma_float_1.c: Likewise.
* gcc.target/i386/l_fma_float_2.c: Likewise.
* gcc.target/i386/l_fma_float_3.c: Likewise.
* gcc.target/i386/l_fma_float_4.c: Likewise.
* gcc.target/i386/l_fma_float_5.c: Likewise.
* gcc.target/i386/l_fma_float_6.c: Likewise.
From-SVN: r198767
Alan Modra [Fri, 10 May 2013 02:07:53 +0000 (11:37 +0930)]
configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
* configure.ac (HAVE_AS_TLS): Swap powerpc64 and powerpc cases.
(HAVE_LD_LARGE_TOC): Don't mention AIX in help text.
* configure: Regenerate.
From-SVN: r198766
Alan Modra [Fri, 10 May 2013 01:06:49 +0000 (10:36 +0930)]
re PR target/55033 (PowerPC section type conflict error)
PR target/55033
* varasm.c (default_elf_select_section): Move !DECL_P check..
(get_named_section): ..to here before calling get_section_name.
Adjust assertion.
(default_section_type_flags): Add DECL_P check.
* config/i386/winnt.c (i386_pe_section_type_flags): Likewise.
* config/rs6000/rs6000.c (rs6000_xcoff_section_type_flags): Likewise.
From-SVN: r198762
GCC Administrator [Fri, 10 May 2013 00:16:21 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198760
Jason Merrill [Thu, 9 May 2013 22:08:59 +0000 (18:08 -0400)]
* decl.c (cp_finish_decl): Only check VLA bound in C++1y mode.
From-SVN: r198756
Joern Rennecke [Thu, 9 May 2013 20:11:12 +0000 (20:11 +0000)]
epiphany.c (epiphany_expand_prologue): When using gen_stack_adjust_str with a register offset...
* config/epiphany/epiphany.c (epiphany_expand_prologue):
When using gen_stack_adjust_str with a register offset, add a
REG_FRAME_RELATED_EXPR note.
From-SVN: r198753
Uros Bizjak [Thu, 9 May 2013 19:36:56 +0000 (21:36 +0200)]
sse.md (*vec_extractv4si_0_zext): New pattern.
* config/i386/sse.md (*vec_extractv4si_0_zext): New pattern.
(*vec_extractv4si_zext_mem): Ditto.
(*vec_extractv2di): Add 0->x and x->x alternatives.
* config/i386/mmx.md (*vec_extractv2si_zext_mem): New pattern.
* config/i386/i386.md (*zero_extendsidi2): Add *Yj->?r alternative.
From-SVN: r198752
Jason Merrill [Thu, 9 May 2013 16:43:49 +0000 (12:43 -0400)]
re PR c++/57222 (Template alias not working in argument of template class template method)
PR c++/57222
* pt.c (lookup_template_class_1): Handle getting a template
template parameter as D1.
From-SVN: r198747
Jason Merrill [Thu, 9 May 2013 16:43:43 +0000 (12:43 -0400)]
N3639 C++1y VLA diagnostics
* decl.c (grokdeclarator): Complain about reference, pointer, or
typedef to VLA.
(create_array_type_for_decl): Complain about array of VLA.
* pt.c (tsubst): Likewise.
* rtti.c (get_tinfo_decl): Talk about "array of runtime bound".
* semantics.c (finish_decltype_type): Complain about decltype of VLA.
* typeck.c (cp_build_addr_expr_1): Complain about VLA.
(cxx_sizeof_or_alignof_type): Likewise.
From-SVN: r198746
Jason Merrill [Thu, 9 May 2013 16:43:36 +0000 (12:43 -0400)]
N3639 C++1y VLA support
gcc/
* gimplify.c (gimplify_vla_decl): Don't touch an existing
DECL_VALUE_EXPR.
gcc/cp/
* decl.c (compute_array_index_type): Allow VLAs in C++1y mode.
(check_array_initializer): Allow VLA init.
(reshape_init_array_1): Adjust.
(cp_finish_decl): Check for invalid VLA length.
* typeck2.c (process_init_constructor_array): Adjust.
(store_init_value): Use build_vec_init for VLAs.
* semantics.c (add_capture): Capture VLA as ptr+len.
(vla_capture_type): New.
(build_capture_proxy): Rebuild the VLA.
* typeck.c (build_simple_component_ref): Split out from...
(build_ptrmemfunc_access_expr): ...here.
* tree.c (array_of_runtime_bound_p): New.
* init.c (throw_bad_array_length): New.
(build_vec_init): Use it.
* parser.c (cp_convert_range_for): When iterating over a VLA,
use it directly rather than bind a reference.
* cp-tree.h: Declare new functions.
libstdc++-v3/
* libsupc++/new: Add std::bad_array_length.
* libsupc++/bad_array_length.cc: New.
* libsupc++/eh_aux_runtime.cc: Add __cxa_bad_array_length.
* libsupc++/Makefile.in: Build them.
* config/abi/pre/gnu.ver: Add new symbols.
* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
From-SVN: r198745
Jason Merrill [Thu, 9 May 2013 16:43:27 +0000 (12:43 -0400)]
tree.c (build_constructor_va): New.
* tree.c (build_constructor_va): New.
* tree.h: Declare it.
From-SVN: r198744
Martin Jambor [Thu, 9 May 2013 16:32:17 +0000 (18:32 +0200)]
re PR lto/57084 (483. xalancbmk run fails with -O2 -flto for i686)
2013-05-09 Martin Jambor <mjambor@suse.cz>
PR lto/57084
* gimple-fold.c (canonicalize_constructor_val): Call
cgraph_get_create_real_symbol_node instead of cgraph_get_create_node.
From-SVN: r198743
Jan Hubicka [Thu, 9 May 2013 15:37:12 +0000 (17:37 +0200)]
Jan Hubicka <jh@suse.cz>
Richard Biener <rguenther@suse.de>
PR lto/54095
* symtab.c (symtab_make_decl_local): Do not add private names.
* lto.c (lto_register_var_decl_in_symtab): Don't do renaming.
(lto_register_var_decl_in_symtab): Likewise.
(lto_main): Promote statics.
* lto-partition.c (privatize_symbol_name): New function.
(promote_symbol): Use it.
(may_need_named_section_p): New predicate.
(rename_statics): New functions.
(lto_promote_cross_file_statics): Simplify; do renaming.
(lto_promote_statics_nonwpa): New function.
* lto-partition.h (lto_promote_statics_nonwpa): New function.
Co-Authored-By: Richard Biener <rguenther@suse.de>
From-SVN: r198741
Jan Hubicka [Thu, 9 May 2013 09:51:52 +0000 (11:51 +0200)]
re PR lto/54095 (Unnecessary static variable renaming)
PR lto/54095
* symtab.c (insert_to_assembler_name_hash): Handle clones.
(unlink_from_assembler_name_hash): Likewise.
(symtab_prevail_in_asm_name_hash, symtab_register_node,
symtab_unregister_node, symtab_initialize_asm_name_hash,
change_decl_assembler_name): Update.
From-SVN: r198736
Sofiane Naci [Thu, 9 May 2013 08:25:30 +0000 (08:25 +0000)]
aarch64.md: New movtf split.
* config/aarch64/aarch64.md: New movtf split.
(*movtf_aarch64): Update.
(aarch64_movdi_tilow): Handle TF modes and rename to
aarch64_movdi_<mode>low.
(aarch64_movdi_tihigh): Handle TF modes and rename to
aarch64_movdi_<mode>high
(aarch64_movtihigh_di): Handle TF modes and rename to
aarch64_mov<mode>high_di
(aarch64_movtilow_di): Handle TF modes and rename to
aarch64_mov<mode>low_di
(aarch64_movtilow_tilow): Remove spurious whitespace.
* config/aarch64/aarch64.c (aarch64_split_128bit_move): Handle TFmode
splits.
(aarch64_print_operand): Update.
From-SVN: r198735
Alan Modra [Thu, 9 May 2013 07:26:56 +0000 (16:56 +0930)]
configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and powerpc64le.
* configure.ac (HAVE_AS_TLS): Enable tests for powerpcle and
powerpc64le.
* configure: Regenerate.
From-SVN: r198734
Andi Kleen [Thu, 9 May 2013 04:22:11 +0000 (04:22 +0000)]
Mark all member functions with memory models always inline v2
When a non constant memory model is passed to __atomic_*
gcc falls back to seq_cst. This drops any HLE acquire or release bits.
This can happen when <atomic> is used with -O0
as the member functions are not always inlined then and the memory
argument passed in ends up being non-constant.
v2: Use _GLIBCXX_ALWAYS_INLINE
libstdc++-v3/:
2013-05-08 Andi Kleen <ak@linux.intel.com>
PR target/55947
* libstdc++-v3/include/bits/atomic_base.h
(_GLIBCXX_ALWAYS_INLINE): Add new macro.
(atomic_thread_fence, atomic_signal_fence, test_and_set,
clear, store, load, exchange, compare_exchange_weak)
compare_exchange_strong, fetch_add, fetch_sub, fetch_and,
fetch_or, fetch_xor): Mark _GLIBCXX_ALWAYS_INLINE.
From-SVN: r198733
Jason Merrill [Thu, 9 May 2013 03:58:07 +0000 (23:58 -0400)]
except.c (is_admissible_throw_operand_or_catch_parameter): Check variably_modified_type_p.
* except.c (is_admissible_throw_operand_or_catch_parameter): Check
variably_modified_type_p.
(expand_start_catch_block): Mark the typeinfo used here.
* semantics.c (finish_handler_parms): Not here.
* error.c (dump_type_suffix): Try harder on VLA length.
From-SVN: r198732
Jason Merrill [Thu, 9 May 2013 03:58:00 +0000 (23:58 -0400)]
Core 624/N2932: Throw bad_array_new_length on overflow
in array new size calculation.
libstdc++-v3/
* libsupc++/new: Add std::bad_array_new_length.
* libsupc++/bad_array_new.cc: New.
* libsupc++/eh_aux_runtime.cc: Add __cxa_throw_bad_array_new_length.
* libsupc++/Makefile.in: Build them.
* config/abi/pre/gnu.ver: Add new symbols.
* config/abi/pre/gnu-versioned-namespace.ver: Add new symbols.
gcc/cp/
* init.c (throw_bad_array_new_length): New.
(build_new_1): Use it. Don't warn about braced-init-list.
(build_vec_init): Use it.
* call.c (build_operator_new_call): Use it.
From-SVN: r198731
Jason Merrill [Thu, 9 May 2013 03:57:53 +0000 (23:57 -0400)]
re PR c++/57068 (gcc prints warning "ref-qualifiers only available with -std=c++0x or -std=gnu++0x" for operator&)
PR c++/57068
* decl.c (grokdeclarator): Warn about ref-qualifiers here.
* parser.c (cp_parser_ref_qualifier_seq_opt): Not here.
* error.c (maybe_warn_cpp0x): s/0x/11/.
From-SVN: r198730
GCC Administrator [Thu, 9 May 2013 00:16:40 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198729
Uros Bizjak [Wed, 8 May 2013 20:52:46 +0000 (22:52 +0200)]
mmx.md (*vec_extract* splitters): Simplify post-reload splitter preparation statements.
* config/i386/mmx.md (*vec_extract* splitters): Simplify post-reload
splitter preparation statements.
* config/i386/sse.md (*vec_extract* splitters): Ditto.
(*avx_vperm_broadcast_<mode>): Use adjust_address instead of
adjust_address_nv.
From-SVN: r198723
Andoni Morales Alastruey [Wed, 8 May 2013 19:08:32 +0000 (19:08 +0000)]
re PR libstdc++/57212 (Don't use pe-coff weak support with mingw)
2013-05-08 Andoni Morales Alastruey <ylatuya@gmail.com>
PR libstdc++/57212
* include/Makefile.am (_GLIBCXX___MINGW32_GLIBCXX___): Modify
to __MINGW32__.
* include/Makefile.in: Regenerated.
From-SVN: r198720
Kai Tietz [Wed, 8 May 2013 18:33:52 +0000 (20:33 +0200)]
cygming-crtbegin.c (__register_frame_info): Make weak.
* config/i386/cygming-crtbegin.c (__register_frame_info): Make weak.
(__deregister_frame_info): Likewise.
From-SVN: r198719
Uros Bizjak [Wed, 8 May 2013 18:05:41 +0000 (20:05 +0200)]
mmx.md (*vec_extract* splitters): Simplify post-reload splitter preparation statements.
* config/i386/mmx.md (*vec_extract* splitters): Simplify post-reload
splitter preparation statements.
* config/i386/sse.md (*vec_extract* splitters): Ditto.
(*avx_vperm_broadcast_<mode>): Use adjust_address instead of
adjust_address_nv.
From-SVN: r198718
Bill Schmidt [Wed, 8 May 2013 17:05:59 +0000 (17:05 +0000)]
gimple-ssa-strength-reduction.c (count_candidates): Change return value to int.
2013-05-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (count_candidates): Change
return value to int.
(analyze_candidates_and_replace): Change type of length to int.
From-SVN: r198715
Paolo Carlini [Wed, 8 May 2013 15:22:03 +0000 (15:22 +0000)]
re PR c++/51226 ([c++0x] ICE with opaque enum and invalid template)
/cp
2013-05-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51226
* parser.c (cp_parser_enum_specifier): Handle nested_name_specifier
== error_mark_node.
/testsuite
2013-05-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/51226
* g++.dg/cpp0x/pr51226.C: New.
From-SVN: r198714
Uros Bizjak [Wed, 8 May 2013 14:43:01 +0000 (16:43 +0200)]
sse.md (PEXTR_MODE, [...]): Remove.
* config/i386/sse.md (PEXTR_MODE, PEXTR_MODEx): Remove.
(*vec_extract<mode>): Use VI12_128 mode iterator.
(*vec_extract<mode>_mem): Ditto.
(*vec_extract*_mem splitters): Merge splitters using VI_128 mode
attribute.
From-SVN: r198713
Diego Novillo [Wed, 8 May 2013 13:22:14 +0000 (09:22 -0400)]
re PR bootstrap/54659 (Bootstrap with --disable-nls broken under Windows)
PR bootstrap/54659
Revert:
2012-08-17 Diego Novillo <dnovillo@google.com>
PR bootstrap/54281
* configure.ac: Add libintl.h to AC_CHECK_HEADERS list.
* config.in: Regenerate.
* configure: Regenerate.
* intl.h: Always include libintl.h if HAVE_LIBINTL_H is
set.
From-SVN: r198711
Jan Hubicka [Wed, 8 May 2013 12:59:21 +0000 (14:59 +0200)]
re PR lto/54095 (Unnecessary static variable renaming)
PR lto/54095
* cgraph.c (cgraph_make_node_local_1): Se unique_name.
* cgraph.h (symtab_node_base): Add unique_name.
* lto-cgraph.c (lto_output_node, lto_output_varpool_node,
input_overwrite_node, input_varpool_node): Stream unique_name.
* cgraphclones.c (cgraph_create_virtual_clone,
cgraph_function_versioning): Set unique_name.
* ipa.c (function_and_variable_visibility): Set unique_name.
From-SVN: r198710
Bill Schmidt [Wed, 8 May 2013 12:22:32 +0000 (12:22 +0000)]
gimple-ssa-strength-reduction.c (find_phi_def): Revert former "fix."
2013-05-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (find_phi_def): Revert former "fix."
(alloc_cand_and_find_basis): Restrict conditional candidate
processing to CAND_MULTs.
From-SVN: r198709
Jan Hubicka [Wed, 8 May 2013 11:00:55 +0000 (13:00 +0200)]
re PR lto/54095 (Unnecessary static variable renaming)
PR lto/54095
lto-symtab.c (lto_symtab_symbol_p): New function.
(lto_symtab_resolve_can_prevail_p, lto_symtab_resolve_symbols,
lto_symtab_resolve_symbols, lto_symtab_merge_decls_2,
lto_symtab_merge_decls_1, lto_symtab_merge_cgraph_nodes_1):
Skip static symbols.
From-SVN: r198707
Eric Botcazou [Wed, 8 May 2013 09:51:25 +0000 (09:51 +0000)]
Minor tweaks
From-SVN: r198706
Paolo Carlini [Wed, 8 May 2013 09:09:52 +0000 (09:09 +0000)]
re PR tree-optimization/57200 (aggressive-loop-optimizations notes appear even when warning itself is suppressed)
2013-05-08 Paolo Carlini <paolo.carlini@oracle.com>
PR tree-optimization/57200
* tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
Only call inform if the preceding warning_at returns true.
From-SVN: r198704
GCC Administrator [Wed, 8 May 2013 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198703
Han Shen [Tue, 7 May 2013 23:33:40 +0000 (23:33 +0000)]
2013-05-07 Han Shen <shenhan@google.com>
Added 2 missing files that should be included in the previous
submitted patch trunk@r198699.
From-SVN: r198700
Han Shen [Tue, 7 May 2013 21:33:01 +0000 (21:33 +0000)]
cfgexpand.c (record_or_union_type_has_array_p): New function.
2013-05-07 Han Shen <shenhan@google.com>
gcc/
* cfgexpand.c (record_or_union_type_has_array_p): New function.
(expand_used_vars): Add logic handling '-fstack-protector-strong'.
* common.opt (fstack-protector-strong): New option.
* doc/cpp.texi (__SSP_STRONG__): New builtin "__SSP_STRONG__".
* doc/invoke.texi (Optimization Options): Document
"-fstack-protector-strong".
* gcc.c (LINK_SSP_SPEC): Add 'fstack-protector-strong'.
gcc/testsuite/
* gcc.dg/fstack-protector-strong.c: New.
* g++.dg/fstack-protector-strong.C: New.
gcc/c-family/
* c-cppbuiltin.c (c_cpp_builtins): Added "__SSP_STRONG__=3".
From-SVN: r198699
François Dumont [Tue, 7 May 2013 20:26:15 +0000 (20:26 +0000)]
unordered_base.h: New.
2013-05-07 François Dumont <fdumont@gcc.gnu.org>
* include/profile/unordered_base.h: New.
* include/Makefile.am: Add new profile header.
* include/Makefile.in: Regenerate.
* include/profile/impl/profiler.h
(__profcxx_inefficient_hash_is_on): New macro.
* include/profile/unordered_map (std::profile::unordered_map<>):
Use new _Unordered_profile base class. Use default implementations
for special functions.
(std::profile::unordered_multimap<>): Likewise.
* include/profile/unordered_set (std::profile::unordered_set<>):
Likewise.
(std::profile::unordered_multiset<>): Likewise.
* testsuite/23_containers/unordered_multiset/55043.cc: Fix
MoveOnly equality operator signature.
From-SVN: r198698
Steven Bosscher [Tue, 7 May 2013 19:34:35 +0000 (19:34 +0000)]
* config/mips/mips.c (mips_machine_reorg2): Return 0.
From-SVN: r198696
Vladimir Makarov [Tue, 7 May 2013 19:29:05 +0000 (19:29 +0000)]
ira.c (update_equiv_regs): Add insn having equiv memory even if it is not lhs of the insn.
2013-05-07 Vladimir Makarov <vmakarov@redhat.com>
* ira.c (update_equiv_regs): Add insn having equiv memory even if
it is not lhs of the insn.
(setup_reg_equiv): Remove insn having equiv memory which it is not
lhs of the insn.
* lra-constraints.c (process_address): Try to improve generation
code for address base + disp.
(lra_constraints): Make correct the code for checking insn setting
up backward equivalence. Remove insn only if it is in the init
insn list.
* lra-eliminations.c (update_reg_eliminate): Change return value.
(lra_eliminate): Use the result.
From-SVN: r198695
Uros Bizjak [Tue, 7 May 2013 17:57:10 +0000 (19:57 +0200)]
sse.md (ssescalarnummask): New mode attribute.
* config/i386/sse.md (ssescalarnummask): New mode attribute.
(PEXTR_MODE, PEXTR_MODEx): New mode iterators.
(*vec_extract<mode>): Merge from *sse4_1_pextrb_memory and
*sse4_1_pextrw_memory. Handle register target operands.
(*vec_extractv8hi_sse2): New pattern.
(*vec_extractv16qi_zext): Rename from *sse4_1_pextrb_<mode>.
(*vec_extractv8hi_zext): Rename from *sse2_pextrw_<mode>.
(*vec_extract<mode>_mem): New insn and split pattern.
From-SVN: r198691
Ian Bolton [Tue, 7 May 2013 14:41:17 +0000 (14:41 +0000)]
AArch64 testcases for ANDS instruction
From-SVN: r198684
Christophe Lyon [Tue, 7 May 2013 14:17:50 +0000 (14:17 +0000)]
arm.c (arm_asan_shadow_offset): New function.
2013-05-06 Christophe Lyon <christophe.lyon@linaro.org>
gcc/
* config/arm/arm.c (arm_asan_shadow_offset): New function.
(TARGET_ASAN_SHADOW_OFFSET): Define.
* config/arm/linux-eabi.h (ASAN_CC1_SPEC): Define.
(LINUX_OR_ANDROID_CC): Add ASAN_CC1_SPEC.
libsanitizer/
* configure.tgt: Add ARM pattern.
testsuite/
* lib/target-supports.exp (check_effective_target_hw): New
function.
* c-c++-common/asan/clone-test-1.c: Call
check_effective_target_hw.
* c-c++-common/asan/rlimit-mmap-test-1.c: Likewise.
* c-c++-common/asan/heap-overflow-1.c: Update regexps to accept
possible decorations.
* c-c++-common/asan/null-deref-1.c: Likewise.
* c-c++-common/asan/stack-overflow-1.c: Likewise.
* c-c++-common/asan/strncpy-overflow-1.c: Likewise.
* c-c++-common/asan/use-after-free-1.c: Likewise.
* g++.dg/asan/deep-thread-stack-1.C: Likewise.
* g++.dg/asan/large-func-test-1.C: Likewise.
From-SVN: r198683
Bill Schmidt [Tue, 7 May 2013 14:11:21 +0000 (14:11 +0000)]
gimple-ssa-strength-reduction.c (MAX_INCR_VEC_LEN): New constant.
2013-05-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (MAX_INCR_VEC_LEN): New constant.
(incr_vec_index): Return -1 if increment not found.
(create_add_on_incoming_edge): Assert if increment not found.
(record_increment): Limit number of increments recorded.
(all_phi_incrs_profitable): Return false if an increment not found.
(replace_profitable_candidates): Don't process increments that were
not recorded.
(analyze_candidates_and_replace): Limit size of incr_vec.
From-SVN: r198682
Richard Biener [Tue, 7 May 2013 13:02:36 +0000 (13:02 +0000)]
calls.c (special_function_p): setjmp-like functions are leaf.
2013-05-07 Richard Biener <rguenther@suse.de>
* calls.c (special_function_p): setjmp-like functions are leaf.
* builtins.def (BUILT_IN_SETJMP): setjmp is leaf.
* tree-inline.c (update_ssa_across_abnormal_edges): Remove assert.
From-SVN: r198681
Sofiane Naci [Tue, 7 May 2013 12:47:18 +0000 (12:47 +0000)]
aarch64-simd.md (*aarch64_simd_mov<mode>): call splitter.
gcc/
* config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>): call splitter.
(aarch64_simd_mov<mode>): New expander.
(aarch64_simd_mov_to_<mode>low): New instruction pattern.
(aarch64_simd_mov_to_<mode>high): Likewise.
(aarch64_simd_mov_from_<mode>low): Likewise.
(aarch64_simd_mov_from_<mode>high): Likewise.
(aarch64_dup_lane<mode>): Update.
(aarch64_dup_lanedi): New instruction pattern.
* config/aarch64/aarch64-protos.h (aarch64_split_simd_move): New prototype.
* config/aarch64/aarch64.c (aarch64_split_simd_move): New function.
testsuites/
* gcc.target/aarch64/scalar_intrinsics.c: Update.
From-SVN: r198680
Bill Schmidt [Tue, 7 May 2013 12:44:50 +0000 (12:44 +0000)]
gimple-ssa-strength-reduction.c (lazy_create_slsr_reg): Remove.
2013-05-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (lazy_create_slsr_reg): Remove.
(replace_mult_candidate): Remove unnecessary argument; remove
unnecessary parameter from call to introduce_cast_before_cand.
(replace_unconditional_candidate): Remove unnecessary parameter
from call to replace_mult_candidate.
(replace_conditional_candidate): Likewise.
(insert_initializers): Use make_temp_ssa_name.
(introduce_cast_before_cand): Remove unnecessary argument; use
make_temp_ssa_name.
(replace_one_candidate): Remove unnecessary argument; remove
unnecessary parameter from calls to introduce_cast_before_cand.
(replace_profitable_candidates): Remove unnecessary parameters
from calls to replace_one_candidate.
From-SVN: r198679
Bill Schmidt [Tue, 7 May 2013 12:39:32 +0000 (12:39 +0000)]
gimple-ssa-strength-reduction.c (find_phi_def): Don't record a phi def as possibly hiding a basis for a CAND_ADD whose operands...
2013-05-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
phi def as possibly hiding a basis for a CAND_ADD whose operands
have been commuted in the analysis.
(alloc_cand_and_find_basis): Add parms to call to find_phi_def.
From-SVN: r198678
Naveen H.S [Tue, 7 May 2013 12:20:24 +0000 (12:20 +0000)]
AArch64: Restrict the shift value in compare extended shift operation
2013-05-07 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
* config/aarch64/aarch64.md
(cmp_swp_<optab><ALLX:mode>_shft_<GPI:mode>): Restrict the
shift value between 0-4.
From-SVN: r198677
Richard Biener [Tue, 7 May 2013 11:26:58 +0000 (11:26 +0000)]
double-int.h (rshift): New overload.
2013-05-07 Richard Biener <rguenther@suse.de>
* double-int.h (rshift): New overload.
* double-int.c (rshift): New function.
* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Optimize.
(create_reference_ops_from_ref): Remove.
(vn_reference_insert): Use shared ops for constructing the
reference and copy it.
From-SVN: r198676
Richard Biener [Tue, 7 May 2013 11:23:39 +0000 (11:23 +0000)]
re PR tree-optimization/57190 (verify_ssa failed: SSA_NAME_OCCURS_IN_ABNORMAL_PHI should be set)
2013-05-07 Richard Biener <rguenther@suse.de>
PR middle-end/57190
* tree-eh.c (sink_clobbers): Properly propagate
SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
* g++.dg/torture/pr57190.C: New testcase.
From-SVN: r198675
Jakub Jelinek [Tue, 7 May 2013 10:30:13 +0000 (12:30 +0200)]
re PR tree-optimization/57149 (wrong -Wmaybe-uninitialized warning with -Os)
PR tree-optimization/57149
* tree-ssa-uninit.c (uninit_undefined_value_p): New inline.
(can_skip_redundant_opnd, compute_uninit_opnds_pos,
collect_phi_def_edges, execute_late_warn_uninitialized): Use
uninit_undefined_value_p instead of ssa_undefined_value_p.
* gcc.dg/pr57149.c: New test.
From-SVN: r198671
Jakub Jelinek [Tue, 7 May 2013 08:28:01 +0000 (10:28 +0200)]
re PR debug/57184 (ICE in expand_expr_real_1, at expr.c:10478)
PR debug/57184
* expr.c (expand_expr_addr_expr_1): Handle COMPOUND_LITERAL_EXPR
for modifier == EXPAND_INITIALIZER.
* gcc.dg/pr57184.c: New test.
From-SVN: r198666
Eric Botcazou [Tue, 7 May 2013 07:59:37 +0000 (07:59 +0000)]
re PR ada/56474 (bogus Storage_Error raised for record containing empty zero-based array)
PR ada/56474
* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Use
int_const_binop to shift bounds by 1 when they are integer constants.
From-SVN: r198663
Anton Blanchard [Tue, 7 May 2013 01:01:08 +0000 (01:01 +0000)]
configure.ac (HAVE_LD_LARGE_TOC): Use correct linker emulation for powerpc64 little endian.
* configure.ac (HAVE_LD_LARGE_TOC): Use correct linker emulation
for powerpc64 little endian.
* configure: Regenerate.
From-SVN: r198662
GCC Administrator [Tue, 7 May 2013 00:16:18 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198661
Graham Stott [Mon, 6 May 2013 22:26:53 +0000 (22:26 +0000)]
expmed.c (init_expmed_rtl): Remove unused fields reg_fld...
2013-05-06 Graham Stott <grahams@btinternet.com>
* expmed.c (init_expmed_rtl): Remove unused fields reg_fld, plus_fld,
mult_fld, sdiv_fld1, udiv_fld1, sdiv_32_fld1, smod_32_fld1,
wide_mult_fld1, wide_lshr_fld1, shift_fld1, shift_mult_fld1,
shift_add_fld1, shift_sub0_fld1, shift_sub1_fld1.
From-SVN: r198654
Graham Stott [Mon, 6 May 2013 22:08:56 +0000 (22:08 +0000)]
013-05-06 Graham Stott <grahams@btinternet.com>
* gensupport.c (add_predicate_code): Also exclude SCRATCH from rtx
codes which allow non-lvalues.
From-SVN: r198653
Marc Glisse [Mon, 6 May 2013 21:14:59 +0000 (23:14 +0200)]
tree.c (integer_all_onesp): Test that both components are all 1s.
2013-05-06 Marc Glisse <marc.glisse@inria.fr>
* tree.c (integer_all_onesp) <COMPLEX_CST>: Test that both
components are all 1s.
(integer_minus_onep): New function.
* tree.h (integer_minus_onep): Declare it.
* fold-const.c (fold_binary_loc) <MULT_EXPR>: Test
integer_minus_onep instead of integer_all_onesp.
From-SVN: r198649
Marc Glisse [Mon, 6 May 2013 21:11:24 +0000 (23:11 +0200)]
typeck.c (cp_build_binary_op): Call save_expr before build_vector_from_val.
2013-05-06 Marc Glisse <marc.glisse@inria.fr>
gcc/cp/
* typeck.c (cp_build_binary_op): Call save_expr before
build_vector_from_val.
gcc/testsuite/
* c-c++-common/vector-scalar-2.c: New testcase.
From-SVN: r198648
Oleg Endo [Mon, 6 May 2013 19:59:26 +0000 (19:59 +0000)]
re PR target/52933 (SH Target: Use div0s for integer sign comparisons)
PR target/52933
* config/sh/sh.md (*cmp_div0s_0, *cmp_div0s_1, *movsicc_div0s): Add
variations of these patterns.
From-SVN: r198646
Uros Bizjak [Mon, 6 May 2013 19:53:43 +0000 (21:53 +0200)]
i386.md (isa): Add x64_sse4 member.
* config/i386/i386.md (isa): Add x64_sse4 member.
(enabled): Handle x64_sse4.
(*movdi_internal): Add *x->?r alternative to emit pextrq $0,%xmm,%reg
instruction for 64bit SSE4_1 targets. Update insn attributes.
(*movsi_internal): Add *x->?r alternative to emit pextrd $0,%xmm,%reg
instruction for SSE4_1 targets. Update insn attributes.
* config/i386/sse.md (*vec_extract<ssevecmodelower>_0): Merge
with *sse4_1_pextrd and *sse4_1_pextrq having const_0 selector.
(*vec_extractv2di_1): Merge with *sse4_1_pextrq having
const_1 selector.
(*vec_extractv4si): Rename from *sse4_1_pextrd.
(*vec_extractv4si_zext): Rename from *sse4_1_pextrd_zext.
(*vec_extract<ssevecmodelower>_0 splitters): Merge splitters together.
From-SVN: r198643
Oleg Endo [Mon, 6 May 2013 19:49:57 +0000 (19:49 +0000)]
re PR target/57108 ([4.7/4.8/4.9] SH internal compiler error: in int_mode_for_mode, at stor-layout.c:395)
PR target/57108
* config/sh/sh.md (tstsi_t_zero_extract_eq): Use QIHISIDI mode iterator.
From-SVN: r198642
Maxim Kuznetsov [Mon, 6 May 2013 19:35:44 +0000 (19:35 +0000)]
Support {, } and | in assembly output
gcc/
2013-05-06 Maxim Kuznetsov <maks.kuznetsov@gmail.com>
* final.c (do_assembler_dialects): Don't handle curly braces and
vertical bar escaped by % as dialect delimiters.
(output_asm_insn): Print curly braces and vertical bar if escaped
by % and ASSEMBLER_DIALECT defined.
* doc/tm.texi.in (ASSEMBLER_DIALECT): Document new standard escapes.
* doc/tm.texi: Regenerated.
gcc/testsuite/
2013-05-06 Maxim Kuznetsov <maks.kuznetsov@gmail.com>
* gcc.target/i386/asm-dialect-2.c: New testcase.
From-SVN: r198641
Steven Bosscher [Mon, 6 May 2013 19:02:12 +0000 (19:02 +0000)]
mips.c: Include tree-pass.h.
* config/mips/mips.c: Include tree-pass.h.
(mips_reorg): Split in pre- and post-dbr_schedule parts.
(mips_machine_reorg2): Move mips_reorg post-dbr_schedule parts here.
(pass_mips_machine_reorg2): New machine specific pass.
(insert_pass_mips_machine_reorg2): New pass plugin definition.
(mips_option_override): Register the new pass.
* rtl.h (cleanup_barriers): Remove prototype.
(dbr_schedule): Likewise.
* jump.c (cleanup_barriers): Make static.
* reorg.c (dbr_schedule): Likewise.
From-SVN: r198640
Paolo Carlini [Mon, 6 May 2013 16:40:24 +0000 (16:40 +0000)]
re PR c++/57183 ([C++11] auto and -Wunused-variable)
/cp
2013-05-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57183
* decl.c (cp_finish_decl): After do_auto_deduction copy the
qualifers with cp_apply_type_quals_to_decl.
/testsuite
2013-05-06 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57183
* g++.dg/cpp0x/auto38.C: New.
From-SVN: r198636
Uros Bizjak [Mon, 6 May 2013 16:22:21 +0000 (18:22 +0200)]
ChangeLog: Add my last entry.
* ChangeLog: Add my last entry.
* testsuite/ChangLog: Ditto.
From-SVN: r198634
David Edelsohn [Mon, 6 May 2013 15:40:54 +0000 (15:40 +0000)]
hashtab.c (hash_pointer): Remove conditional and avoid unexecuted shift equal to wordsize.
2013-05-06 David Edelsohn <dje.gcc@gmail.com>
Peter Bergner <bergner@vnet.ibm.com>
Segher Boessenkool <segher@kernel.crashing.org>
Jakub Jelinek <jakub@redhat.com>
* hashtab.c (hash_pointer): Remove conditional and avoid
unexecuted shift equal to wordsize.
Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Peter Bergner <bergner@vnet.ibm.com>
Co-Authored-By: Segher Boessenkool <segher@kernel.crashing.org>
From-SVN: r198633
Jakub Jelinek [Mon, 6 May 2013 15:09:41 +0000 (17:09 +0200)]
re PR libgcj/57074 (libgcj regression on 32bit Power architecture)
PR libgcj/57074
* class.c (emit_symbol_table): Use array type of the
right size for the_syms_decl and its DECL_INITIAL, instead
of symbols_array_type. Set TREE_TYPE (the_syms_decl) to it.
(emit_assertion_table): Use array type of the right size
for table_decl and its DECL_INITIAL.
From-SVN: r198631
Richard Biener [Mon, 6 May 2013 15:06:41 +0000 (15:06 +0000)]
re PR tree-optimization/57185 (ICE: Segmentation fault in add_field_for_reduction with -ftree-parallelize-loops=2 -fipa-pta)
2013-05-06 Richard Biener <rguenther@suse.de>
PR tree-optimization/57185
* tree-parloops.c (add_field_for_reduction): Handle anonymous
SSA names properly.
* gcc.dg/autopar/pr57185.c: New testcase.
From-SVN: r198630
Uros Bizjak [Mon, 6 May 2013 14:53:03 +0000 (16:53 +0200)]
re PR target/57106 (-fcompare-debug failure with -O2 -fschedule-insns -funroll-all-loops)
PR target/57106
* config/i386/i386.c (add_parameter_dependencies): Add dependence
between "first_arg" and "insn", not "last" and "insn".
testsuite/ChangeLog:
PR target/57106
* gcc.target/i386/pr57106.c: New test.
From-SVN: r198629
William Schmidt [Mon, 6 May 2013 13:31:39 +0000 (13:31 +0000)]
gimple-ssa-strength-reduction.c (slsr_process_phi): Re-enable.
gcc:
2013-05-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gimple-ssa-strength-reduction.c (slsr_process_phi): Re-enable.
(find_candidates_in_block): Re-enable slsr_process_phi.
(create_phi_basis): Fix double counting of candidate adjustment.
gcc/testsuite:
2013-05-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/tree-ssa/slsr-32.c: Re-enable.
* gcc.dg/tree-ssa/slsr-33.c: Likewise.
* gcc.dg/tree-ssa/slsr-34.c: Likewise.
* gcc.dg/tree-ssa/slsr-35.c: Likewise.
* gcc.dg/tree-ssa/slsr-36.c: Likewise.
* gcc.dg/tree-ssa/slsr-37.c: Likewise.
* gcc.dg/tree-ssa/slsr-38.c: Likewise.
From-SVN: r198627
Teresa Johnson [Mon, 6 May 2013 12:46:53 +0000 (12:46 +0000)]
re PR bootstrap/57154 (Bootstrap broken for powerpc64-unknown-linux-gnu)
2013-05-03 Teresa Johnson <tejohnson@google.com>
PR bootstrap/57154
* gcc.dg/pr57154.c: New test.
From-SVN: r198626
Richard Biener [Mon, 6 May 2013 11:27:29 +0000 (11:27 +0000)]
re PR middle-end/57147 (setjmp call and if body wrongly elided (function runs off early end))
2013-05-06 Richard Biener <rguenther@suse.de>
PR middle-end/57147
* tree-cfg.c (gimple_purge_dead_abnormal_call_edges): If
the edge is also fallthru, preserve it and just clear the
abnormal flag.
* tree-cfgcleanup.c (remove_fallthru_edge): If the edge is
also complex, preserve that and just clear the fallthru flag.
* tree-inline.c (update_ssa_across_abnormal_edges): Also
update virtual operands.
* gcc.dg/torture/pr57147-1.c: New testcase.
* gcc.dg/torture/pr57147-2.c: Likewise.
* gcc.dg/torture/pr57147-3.c: Likewise.
From-SVN: r198625
Thomas Schwinge [Mon, 6 May 2013 08:23:02 +0000 (10:23 +0200)]
fp-bit.c (unpack_d, pack_d): Properly preserve and restore a NaN's payload.
libgcc/
* fp-bit.c (unpack_d, pack_d): Properly preserve and restore a
NaN's payload.
From-SVN: r198622
Thomas Schwinge [Mon, 6 May 2013 08:22:48 +0000 (10:22 +0200)]
fp-bit.h [FLOAT] (QUIET_NAN): Correct value.
libgcc/
* fp-bit.h [FLOAT] (QUIET_NAN): Correct value.
From-SVN: r198621
Alan Modra [Mon, 6 May 2013 02:57:43 +0000 (12:27 +0930)]
linux.h (DEFAULT_ASM_ENDIAN): Define.
* config/rs6000/linux.h (DEFAULT_ASM_ENDIAN): Define.
(LINK_OS_LINUX_EMUL): Use ENDIAN_SELECT.
* config/rs6000/linux64.h (DEFAULT_ASM_ENDIAN): Define.
* config/rs6000/sysv4le.h (DEFAULT_ASM_ENDIAN): Define.
(LINK_TARGET_SPEC): Use ENDIAN_SELECT.
* config/rs6000/sysv4.h (DEFAULT_ASM_ENDIAN): Define as -mbig.
From-SVN: r198620
Alan Modra [Mon, 6 May 2013 00:20:29 +0000 (09:50 +0930)]
sysv4.h (ENDIAN_SELECT): Define, extracted from
* config/rs6000/sysv4.h (ENDIAN_SELECT): Define, extracted from
(ASM_SPEC): ..here. Emit DEFAULT_ASM_ENDIAN too.
(DEFAULT_ASM_ENDIAN): Define.
(CC1_SPEC, LINK_TARGET_SPEC): Use ENDIAN_SELECT.
* config/rs6000/linux64.h (ASM_SPEC32): Remove endian options.
Update -K PIC clause from sysv4.h.
(ASM_SPEC_COMMON): Use ENDIAN_SELECT.
(LINK_OS_LINUX_EMUL32, LINK_OS_LINUX_EMUL64): Likewise.
From-SVN: r198619
Alan Modra [Mon, 6 May 2013 00:19:07 +0000 (09:49 +0930)]
rs6000.md (bswapdi 2nd splitter): Don't swap words twice for little-endian.
* config/rs6000/rs6000.md (bswapdi 2nd splitter): Don't swap words
twice for little-endian.
(ashrdi3_no_power, ashrdi3): Support little-endian.
From-SVN: r198618
Oleg Endo [Mon, 6 May 2013 00:16:55 +0000 (00:16 +0000)]
re PR target/55303 ([SH] Add support for clips / clipu instructions)
PR target/55303
* config/sh/sh.c (sh_rtx_costs): Handle SMIN and SMAX cases.
* config/sh/sh.md (*clips, uminsi3, *clipu, clipu_one): New insns and
related expanders.
* config/sh/iterators.md (SMIN_SMAX): New code iterator.
* config/sh/predicates.md (arith_reg_or_0_or_1_operand,
clips_min_const_int, clips_max_const_int, clipu_max_const_int):
New predicates.
PR target/55303
* gcc.target/sh/pr55303-1.c: New.
* gcc.target/sh/pr55303-2.c: New.
* gcc.target/sh/pr55303-3.c: New.
From-SVN: r198617
GCC Administrator [Mon, 6 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198616
David Edelsohn [Sun, 5 May 2013 23:47:22 +0000 (23:47 +0000)]
libcaf.h (_gfortran_caf_critical): Add a prototype.
* caf/libcaf.h (_gfortran_caf_critical): Add a prototype.
(_gfortran_caf_end_critical): Same.
From-SVN: r198613
Steven Bosscher [Sun, 5 May 2013 20:47:24 +0000 (20:47 +0000)]
config.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.
* config.gcc (hppa*-*-*): Remove MASK_BIG_SWITCH from CPU default.
* config/pa/pa.opt: Make mbig-switch a no-op.
* config/pa/pa.h (TARGET_DEFAULT): Remove MASK_BIG_SWITCH.
(CASE_VECTOR_MODE): Always return SImode.
(ASM_OUTPUT_ADDR_VEC_ELT, ASM_OUTPUT_ADDR_DIFF_ELT): Remove code
for the !TARGET_BIG_SWITCH case.
* config/pa/pa-linux.h: Likewise.
* config/pa/pa-openbsd.h: Likewise.
* config/pa/pa-hpux.h: Define TARGET_DEFAULT to 0.
* config/pa/pa.md (short_jump): Remove define_insn.
(casesi): Remove code for the !TARGET_BIG_SWITCH case.
(casesi0): Remove define_insn.
(type): Remove btable_branch.
(pa_combine_type): Likewise.
(in_nullified_branch_delay): Likewise.
(in_call_delay): Likewise.
(define_delay): Likewise.
(define_insn_reservation "Z3"): Likewise.
(define_insn_reservation "Z4"): Likewise.
* config/pa/pa.c (pa_reorg): Remove code for !TARGET_BIG_SWITCH.
(pa_adjust_insn_length): Remove adjustment for btable branches.
* doc/invoke.texi (HPPA Options): Delete documentation for mbig-switch
and mno-big-switch
Co-Authored-By: John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
From-SVN: r198612
Uros Bizjak [Sun, 5 May 2013 17:25:50 +0000 (19:25 +0200)]
sse.md (*vec_extract<ssevecmodelower>_0): Merge from sse2_stored and *sse2_storeq_rex64 using SWI48 mode iterator.
* config/i386/sse.md (*vec_extract<ssevecmodelower>_0): Merge
from sse2_stored and *sse2_storeq_rex64 using SWI48 mode iterator.
Add m->r,x alternatives.
(*vec_extract<ssevecmodelower>_0 splitters): Merge V2DI and V4SI
splitters using SWI48x mode iterator.
(*vec_extract_v2di_0_sse): Rename from *sse2_storeq. Disable for
TARGET_64BIT. Add m->x alternative.
(*vec_extractv4si_mem): Rename from *vec_ext_v4si_mem.
Add o->x alternative. Enable for TARGET_SSE.
(sse_storeq): Remove expander.
(*vec_extractv2di_1): Enable for TARGET_SSE. Split alternatives
with memory input operand.
(*vec_extractv2di_1 splitter): New.
(*vec_extractv4sf_mem): Rename from *vec_extract_v4sf_mem.
* config/i386/i386.md (ssevecmodelower): New mode attribute.
From-SVN: r198611
Tobias Burnus [Sun, 5 May 2013 14:04:07 +0000 (16:04 +0200)]
resolve.c (conformable_arrays): Avoid segfault when ar.start[i] == NULL.
2013-05-05 Tobias Burnus <burnus@net-b.de>
* resolve.c (conformable_arrays): Avoid segfault
when ar.start[i] == NULL.
2013-05-05 Tobias Burnus <burnus@net-b.de>
* gfortran.dg/allocate_with_source_3.f90: New.
From-SVN: r198610
Tobias Burnus [Sun, 5 May 2013 14:01:38 +0000 (16:01 +0200)]
re PR fortran/57141 (Cannot change attributes of USE-associated intrinsic)
2013-05-05 Tobias Burnus <burnus@net-b.de>
PR fortran/57141
* decl.c (gfc_match_null): Permit use-associated
NULL intrinsic.
2013-05-05 Tobias Burnus <burnus@net-b.de>
PR fortran/57141
* gfortran.dg/null_8.f90: New.
From-SVN: r198609
Paolo Carlini [Sun, 5 May 2013 11:36:27 +0000 (11:36 +0000)]
pt.c (convert_nontype_argument): Add missing whitespace in error message.
2013-05-05 Paolo Carlini <paolo.carlini@oracle.com>
* pt.c (convert_nontype_argument): Add missing whitespace in
error message.
From-SVN: r198608
Paolo Carlini [Sun, 5 May 2013 00:27:46 +0000 (00:27 +0000)]
re PR c++/53745 ([C++11] Poor diagnostic for ill-formed narrowing conversion in enumerator initializer)
/cp
2013-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53745
* decl.c (build_enumerator): Improve error message.
/testsuite
2013-05-04 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/53745
* g++.dg/cpp0x/enum27.C: New.
* g++.dg/cpp0x/enum_base.C: Adjust.
From-SVN: r198607
GCC Administrator [Sun, 5 May 2013 00:16:24 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r198606
David Edelsohn [Sat, 4 May 2013 21:23:11 +0000 (21:23 +0000)]
environ.c: Include unistd.h.
* runtime/environ.c: Include unistd.h.
* runtime/pause.c: Test HAVE_UNISTD_H.
* runtime/stop.c: Same.
* io/open.c: Same.
* io/unix.c: Same.
* io/read.c (si_max): Protect declaration of value.
From-SVN: r198603
Segher Boessenkool [Sat, 4 May 2013 21:22:09 +0000 (23:22 +0200)]
rs6000.c (INT_P): Reformat.
* config/rs6000/rs6000.c (INT_P): Reformat. Delete obsolete comment.
(INT_LOWPART): Delete.
(extract_MB): Adjust.
(extract_ME): Adjust.
(print_operand): Adjust.
From-SVN: r198602