1. 23 Feb, 2014 8 commits
  2. 22 Feb, 2014 5 commits
  3. 21 Feb, 2014 27 commits
    • re PR fortran/60302 (ICE with c_f_pointer and android cross compiler) · f1ed9e15
      2014-02-21  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/60302
      	* check.c (gfc_check_c_f_pointer): Only clear 'size' if 'gfc_array_size'
      	is successful.
      
      
      2014-02-21  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/60302
      	* gfortran.dg/c_f_pointer_shape_tests_6.f90: New.
      
      From-SVN: r208033
      Janus Weil committed
    • re PR c++/60108 ([C++11] ICE in use_thunk, at cp/method.c:340) · d723358d
      	PR c++/60108
      	* semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN.
      
      From-SVN: r208030
      Jason Merrill committed
    • re PR c++/60185 (ICE with invalid default parameter) · c754ffcc
      	PR c++/60185
      	* parser.c (cp_parser_default_argument): Clear
      	current_class_ptr/current_class_ref like tsubst_default_argument.
      
      From-SVN: r208029
      Jason Merrill committed
    • re PR c++/60252 ([c++11] ICE with invalid variable-length array in lambda parameter) · e7b67047
      	PR c++/60252
      	* lambda.c (maybe_resolve_dummy): Check lambda_function rather
      	than current_binding_level.
      
      From-SVN: r208028
      Jason Merrill committed
    • re PR c++/60186 ([c++11] ICE with invalid value in constexpr array initializer) · b98fb363
      	PR c++/60186
      	* typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae.
      
      From-SVN: r208027
      Jason Merrill committed
    • re PR c++/60187 ([c++11] ICE with parameter pack as underlying type for enum) · 3e9e24ab
      	PR c++/60187
      	* parser.c (cp_parser_enum_specifier): Call
      	check_for_bare_parameter_packs.
      
      From-SVN: r208026
      Jason Merrill committed
    • re PR c++/59347 (ICE on invalid: tree check: expected class 'type', have… · 71b735a5
      re PR c++/59347 (ICE on invalid: tree check: expected class 'type', have 'exceptional' (error_mark) in tsubst_decl, at cp/pt.c:10798)
      
      	PR c++/59347
      	* pt.c (tsubst_decl) [TYPE_DECL]: Don't try to instantiate an
      	erroneous typedef.
      
      From-SVN: r208025
      Jason Merrill committed
    • re PR c++/60241 (internal compiler error: in finish_member_declaration, at cp/semantics.c:2617) · 2671a8ef
      	PR c++/60241
      	* pt.c (lookup_template_class_1): Update DECL_TEMPLATE_INSTANTIATIONS
      	of the partial instantiation, not the most general template.
      	(maybe_process_partial_specialization): Reassign everything on
      	that list.
      
      From-SVN: r208024
      Jason Merrill committed
    • re PR target/60298 ([ARM/Thumb1] ICE caused by LRA for case pr54713-1.c) · a810ee82
      2014-02-21  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR target/60298
      	* lra-constraints.c (inherit_reload_reg): Use lra_emit_move
      	instead of emit_move_insn.
      
      From-SVN: r208023
      Vladimir Makarov committed
    • altivec.md (altivec_vsumsws): Replace second vspltw with vsldoi. · b90ab1ba
      gcc:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.md (altivec_vsumsws): Replace second
      	vspltw with vsldoi.
      	(reduc_uplus_v16qi): Use gen_altivec_vsumsws_direct instead of
      	gen_altivec_vsumsws.
      
      gcc/testsuite:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.dg/vmx/vsums.c: Check entire result vector.
      	* gcc.dg/vmx/vsums-be-order.c: Likewise.
      
      From-SVN: r208021
      Bill Schmidt committed
    • altivec.md (altivec_lvxl): Rename as *altivec_lvxl_<mode>_internal and use VM2… · 4b3a6bcb
      altivec.md (altivec_lvxl): Rename as *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
      
      gcc:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.md (altivec_lvxl): Rename as
      	*altivec_lvxl_<mode>_internal and use VM2 iterator instead of
      	V4SI.
      	(altivec_lvxl_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	(altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
      	(altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
      	semantics where needed.
      	(altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
      	(altivec_stvx_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	(altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
      	VM2 iterator instead of V4SI.
      	(altivec_stvxl_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	* config/rs6000/rs6000-builtin.def: Add new built-in definitions
      	LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
      	LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI,
      	STVX_V2DF, STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI,
      	STVXL_V2DF, STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI,
      	STVXL_V16QI.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
      	ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
      	similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
      	ALTIVEC_BUILTIN_STVXL.
      	* config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New
      	prototype.
      	(altivec_expand_stvx_be): Likewise.
      	* config/rs6000/rs6000.c (swap_selector_for_mode): New function.
      	(altivec_expand_lvx_be): Likewise.
      	(altivec_expand_stvx_be): Likewise.
      	(altivec_expand_builtin): Add cases for
      	ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
      	ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
      	(altivec_init_builtins): Add definitions for
      	__builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
      	__builtin_altivec_stvx_<mode>, and
      	__builtin_altivec_stvxl_<mode>.
      
      
      gcc/testsuite:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.dg/vmx/ld.c: New test.
      	* gcc.dg/vmx/ld-be-order.c: New test.
      	* gcc.dg/vmx/ld-vsx.c: New test.
      	* gcc.dg/vmx/ld-vsx-be-order.c: New test.
      	* gcc.dg/vmx/ldl.c: New test.
      	* gcc.dg/vmx/ldl-be-order.c: New test.
      	* gcc.dg/vmx/ldl-vsx.c: New test.
      	* gcc.dg/vmx/ldl-vsx-be-order.c: New test.
      	* gcc.dg/vmx/st.c: New test.
      	* gcc.dg/vmx/st-be-order.c: New test.
      	* gcc.dg/vmx/st-vsx.c: New test.
      	* gcc.dg/vmx/st-vsx-be-order.c: New test.
      	* gcc.dg/vmx/stl.c: New test.
      	* gcc.dg/vmx/stl-be-order.c: New test.
      	* gcc.dg/vmx/stl-vsx.c: New test.
      	* gcc.dg/vmx/stl-vsx-be-order.c: New test.
      
      From-SVN: r208019
      William Schmidt committed
    • altivec.md (altivec_lvxl): Rename as *altivec_lvxl_<mode>_internal and use VM2… · 1af73690
      altivec.md (altivec_lvxl): Rename as *altivec_lvxl_<mode>_internal and use VM2 iterator instead of V4SI.
      
      gcc:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.md (altivec_lvxl): Rename as
      	*altivec_lvxl_<mode>_internal and use VM2 iterator instead of
      	V4SI.
      	(altivec_lvxl_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	(altivec_lvx): Rename as *altivec_lvx_<mode>_internal.
      	(altivec_lvx_<mode>): New define_expand incorporating -maltivec=be
      	semantics where needed.
      	(altivec_stvx): Rename as *altivec_stvx_<mode>_internal.
      	(altivec_stvx_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	(altivec_stvxl): Rename as *altivec_stvxl_<mode>_internal and use
      	VM2 iterator instead of V4SI.
      	(altivec_stvxl_<mode>): New define_expand incorporating
      	-maltivec=be semantics where needed.
      	* config/rs6000/rs6000-builtin.def: Add new built-in definitions
      	LVXL_V2DF, LVXL_V2DI, LVXL_V4SF, LVXL_V4SI, LVXL_V8HI, LVXL_V16QI,
      	LVX_V2DF, LVX_V2DI, LVX_V4SF, LVX_V4SI, LVX_V8HI, LVX_V16QI,
      	STVX_V2DF, STVX_V2DI, STVX_V4SF, STVX_V4SI, STVX_V8HI, STVX_V16QI,
      	STVXL_V2DF, STVXL_V2DI, STVXL_V4SF, STVXL_V4SI, STVXL_V8HI,
      	STVXL_V16QI.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Replace
      	ALTIVEC_BUILTIN_LVX with ALTIVEC_BUILTIN_LVX_<MODE> throughout;
      	similarly for ALTIVEC_BUILTIN_LVXL, ALTIVEC_BUILTIN_STVX, and
      	ALTIVEC_BUILTIN_STVXL.
      	* config/rs6000/rs6000-protos.h (altivec_expand_lvx_be): New
      	prototype.
      	(altivec_expand_stvx_be): Likewise.
      	* config/rs6000/rs6000.c (swap_selector_for_mode): New function.
      	(altivec_expand_lvx_be): Likewise.
      	(altivec_expand_stvx_be): Likewise.
      	(altivec_expand_builtin): Add cases for
      	ALTIVEC_BUILTIN_STVX_<MODE>, ALTIVEC_BUILTIN_STVXL_<MODE>,
      	ALTIVEC_BUILTIN_LVXL_<MODE>, and ALTIVEC_BUILTIN_LVX_<MODE>.
      	(altivec_init_builtins): Add definitions for
      	__builtin_altivec_lvxl_<mode>, __builtin_altivec_lvx_<mode>,
      	__builtin_altivec_stvx_<mode>, and
      	__builtin_altivec_stvxl_<mode>.
      
      
      gcc/testsuite:
      
      2014-02-21  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.dg/vmx/ld.c: New test.
      	* gcc.dg/vmx/ld-be-order.c: New test.
      	* gcc.dg/vmx/ld-vsx.c: New test.
      	* gcc.dg/vmx/ld-vsx-be-order.c: New test.
      	* gcc.dg/vmx/ldl.c: New test.
      	* gcc.dg/vmx/ldl-be-order.c: New test.
      	* gcc.dg/vmx/ldl-vsx.c: New test.
      	* gcc.dg/vmx/ldl-vsx-be-order.c: New test.
      	* gcc.dg/vmx/st.c: New test.
      	* gcc.dg/vmx/st-be-order.c: New test.
      	* gcc.dg/vmx/st-vsx.c: New test.
      	* gcc.dg/vmx/st-vsx-be-order.c: New test.
      	* gcc.dg/vmx/stl.c: New test.
      	* gcc.dg/vmx/stl-be-order.c: New test.
      	* gcc.dg/vmx/stl-vsx.c: New test.
      	* gcc.dg/vmx/stl-vsx-be-order.c: New test.
      
      From-SVN: r208018
      William Schmidt committed
    • i386-2.C (dg-options): Add -mavx512pf. · c11581c9
      	* g++.dg/other/i386-2.C (dg-options): Add -mavx512pf.
      	* g++.dg/other/i386-3.C (dg-options): Ditto.
      	* gcc.target/i386/sse-12.c (dg-options): Add -msha.
      	* gcc.target/i386/sse-13.c (dg-options): Add -mavx512er, -mavx512cd,
      	-mavx512pf and -msha.
      
      From-SVN: r208012
      Uros Bizjak committed
    • re PR c++/60227 ([C++11] ICE using brace-enclosed initializer list to initialize array) · f611c78a
      	PR c++/60227
      	Fix ChangeLog
      
      From-SVN: r208009
      Jason Merrill committed
    • re PR c++/60216 ([c++11] Trouble with deleted template functions) · 0d4af074
      	PR c++/60216
      	* pt.c (register_specialization): Copy DECL_DELETED_FN to clones.
      	(check_explicit_specialization): Don't clone.
      
      From-SVN: r208004
      Jason Merrill committed
    • re PR c++/60219 ([c++11] ICE invalid use of variadic template) · 07874b24
      	PR c++/60219
      	* pt.c (coerce_template_parms): Bail if argument packing fails.
      
      From-SVN: r208003
      Jason Merrill committed
    • re PR c++/60224 (ICE using invalid initializer for array) · 843633f8
      	PR c++/60224
      	* decl.c (cp_complete_array_type, maybe_deduce_size_from_array_init):
      	Don't get confused by a CONSTRUCTOR that already has a type.
      
      From-SVN: r208002
      Jason Merrill committed
    • re PR c++/60277 (Bogus "inline function virtual ..." used but never defined) · cd3ef6f7
      	PR c++/60277
      	* call.c (build_array_conv): Don't crash on VLA.
      
      From-SVN: r208001
      Jason Merrill committed
    • re PR c++/60248 ([C++11] ICE specializing variadic template) · 1ea32974
      	PR c++/60248
      	* mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.
      
      From-SVN: r208000
      Jason Merrill committed
    • re PR c++/60252 ([c++11] ICE with invalid variable-length array in lambda parameter) · 1c195d2a
      	PR c++/60252
      	* lambda.c (maybe_resolve_dummy): Don't try to capture this
      	in declaration context.
      
      From-SVN: r207999
      Jason Merrill committed
    • DR 1591 PR c++/60051 · e9cd6551
      	DR 1591
      	PR c++/60051
      	* pt.c (unify): Only unify if deducible.  Handle 0-length list.
      
      From-SVN: r207998
      Jason Merrill committed
    • Rename testsuite directory shared_mutex to shared_timed_mutex for consistency. · 94ff3384
      2014-02-21  Ed Smith-Rowland  <3dw4rd@verizon.net>
      
      	Rename testsuite directory shared_mutex to shared_timed_mutex
      	for consistency.
      	* testsuite/30_threads/shared_mutex: Moved to...
      	* testsuite/30_threads/shared_timed_mutex: ...here
      
      From-SVN: r207997
      Ed Smith-Rowland committed
    • re PR c++/60250 ([c++1y] ICE using lambda for array size) · 9e01a71f
      	PR c++/60250
      	* parser.c (cp_parser_direct_declarator): Don't wrap a
      	type-dependent expression in a NOP_EXPR.
      
      From-SVN: r207996
      Jason Merrill committed
    • re PR c++/60251 ([c++11] ICE capturing variable-length array) · e429bc35
      	PR c++/60251
      	* lambda.c (is_normal_capture_proxy): Handle VLA capture.
      
      From-SVN: r207995
      Jason Merrill committed
    • re PR c++/60167 (Bogus error: conflicting declaration) · a866509a
      	PR c++/60167
      	PR c++/60222
      	PR c++/58606
      	* parser.c (cp_parser_template_argument): Restore dereference.
      	* pt.c (template_parm_to_arg): Dereference non-pack expansions too.
      	(process_partial_specialization): Handle deref.
      	(unify): Likewise.
      
      From-SVN: r207994
      Jason Merrill committed
    • invoke.texi (mvirt, mno-virt): Document. · 0a39d07b
      2014-02-21  Catherine Moore  <clm@codesourcery.com>
      
      	* doc/invoke.texi (mvirt, mno-virt): Document.
      	* config/mips/mips.opt (mvirt): New option.
      	* config/mips/mips.h (ASM_SPEC): Pass mvirt to the assembler.
      
      From-SVN: r207993
      Catherine Moore committed
    • re PR tree-optimization/60276 (-O3 autovectorizer breaks on a particular loop) · f2556b68
      2014-02-21  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/60276
      	* tree-vectorizer.h (struct _stmt_vec_info): Add min_neg_dist field.
      	(STMT_VINFO_MIN_NEG_DIST): New macro.
      	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Record
      	STMT_VINFO_MIN_NEG_DIST.
      	* tree-vect-stmts.c (vectorizable_load): Verify if assumptions
      	made for negative dependence distances still hold.
      
      	* gcc.dg/vect/pr60276.c: New testcase.
      
      From-SVN: r207992
      Richard Biener committed