Walter Lee [Mon, 24 Feb 2014 15:08:00 +0000 (15:08 +0000)]
TILE-Gx big endian support.
/:
* configure.ac (tilepro-*-*) Change to tilepro*-*-*.
(tilegx-*-*): Change to tilegx*-*-*.
* configure: Regenerate.
contrib/:
* config-list.mk (LIST): Add tilegxbe-linux-gnu.
libcpp/:
* configure.ac: Change "tilepro" triplet to "tilepro*".
* configure: Regenerate.
libgcc/:
* config.host: Support "tilegx*" and "tilepro*" triplets.
* config/tilegx/sfp-machine32.h (__BYTE_ORDER): Handle big endian.
* config/tilegx/sfp-machine64.h (__BYTE_ORDER): Handle big endian.
gcc/:
* config.gcc (tilepro-*-*): Change to tilepro*-*-*.
(tilegx-*-linux*): Change to tilegx*-*-linux*; Support tilegxbe
triplet.
* common/config/tilegx/tilegx-common.c
(TARGET_DEFAULT_TARGET_FLAGS): Define.
* config/tilegx/linux.h (ASM_SPEC): Add endian_spec.
(LINK_SPEC): Ditto.
* config/tilegx/sync.md (atomic_test_and_set): Handle big endian.
* config/tilegx/tilegx.c (tilegx_return_in_msb): New.
(tilegx_gimplify_va_arg_expr): Handle big endian.
(tilegx_expand_unaligned_load): Ditto.
(tilegx_expand_unaligned_store): Ditto.
(TARGET_RETURN_IN_MSB): New.
* config/tilegx/tilegx.h (TARGET_DEFAULT): New.
(TARGET_ENDIAN_DEFAULT): New.
(TARGET_BIG_ENDIAN): Handle big endian.
(BYTES_BIG_ENDIAN): Ditto.
(WORDS_BIG_ENDIAN): Ditto.
(FLOAT_WORDS_BIG_ENDIAN): Ditto.
(ENDIAN_SPEC): New.
(EXTRA_SPECS): New.
* config/tilegx/tilegx.md (extv): Handle big endian.
(extzv): Ditto.
(insn_st<n>): Ditto.
(insn_st<n>_add<bitsuffix>): Ditto.
(insn_stnt<n>): Ditto.
(insn_stnt<n>_add<bitsuffix>):Ditto.
(vec_interleave_highv8qi): Handle big endian.
(vec_interleave_highv8qi_be): New.
(vec_interleave_highv8qi_le): New.
(insn_v1int_h): Handle big endian.
(vec_interleave_lowv8qi): Handle big endian.
(vec_interleave_lowv8qi_be): New.
(vec_interleave_lowv8qi_le): New.
(insn_v1int_l): Handle big endian.
(vec_interleave_highv4hi): Handle big endian.
(vec_interleave_highv4hi_be): New.
(vec_interleave_highv4hi_le): New.
(insn_v2int_h): Handle big endian.
(vec_interleave_lowv4hi): Handle big endian.
(vec_interleave_lowv4hi_be): New.
(vec_interleave_lowv4hi_le): New.
(insn_v2int_l): Handle big endian.
(vec_interleave_highv2si): Handle big endian.
(vec_interleave_highv2si_be): New.
(vec_interleave_highv2si_le): New.
(insn_v4int_h): Handle big endian.
(vec_interleave_lowv2si): Handle big endian.
(vec_interleave_lowv2si_be): New.
(vec_interleave_lowv2si_le): New.
(insn_v4int_l): Handle big endian.
* config/tilegx/tilegx.opt (mbig-endian): New option.
(mlittle-endian): New option.
* doc/install.texi: Document tilegxbe-linux.
* doc/invoke.texi: Document -mbig-endian and -mlittle-endian.
From-SVN: r208069
Arnaud Charlet [Mon, 24 Feb 2014 15:07:09 +0000 (16:07 +0100)]
2014-02-24 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi: Misc updates.
2014-02-24 Hristian Kirtchev <kirtchev@adacore.com>
* exp_prag.adb (Expand_Old): Set the type of the generated temporary.
2014-02-24 Gary Dismukes <dismukes@adacore.com>
* layout.adb (Layout_Variant_Record): Instantiate
Generic_Check_Choices and call Check_Choices before calling
Build_Discr_Checking_Funcs, since we need Others_Discrete_Choices
set to prevent generating incorrect discriminant-checking
functions for 'others' variants (functions that unconditionally
return True rather than accounting for the values covered by the
'others' choice).
* sem_eval.ads (Subtypes_Statically_Compatible): Add formal
Formal_Derived_Matching.
(Subtypes_Statically_Match): Add formal Formal_Derived_Matching.
* sem_eval.adb (Subtypes_Statically_Compatible): Pass new
Formal_Derived_Matching formal to Subtypes_Statically_Match.
(Subtypes_Statically_Match): Suppress the Object_Size matching
test in the case where Formal_Derived_Matching is True.
* sem_ch12.adb (Validate_Derived_Type_Instance): Pass
True for Formal_Derived_Matching_Formal on the call to
Subtypes_Statically_Compatible.
From-SVN: r208068
Martin Jambor [Mon, 24 Feb 2014 12:39:52 +0000 (13:39 +0100)]
re PR ipa/60266 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:261 during LibreOffice LTO build)
2014-02-24 Martin Jambor <mjambor@suse.cz>
PR ipa/60266
* ipa-cp.c (propagate_constants_accross_call): Bail out early if
there are no parameter descriptors.
From-SVN: r208067
Andrey Belevantsev [Mon, 24 Feb 2014 05:57:02 +0000 (09:57 +0400)]
re PR rtl-optimization/60268 (ICE: in rank_for_schedule, at haifa-sched.c:2557)
gcc/
2014-02-24 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/60268
* sched-rgn.c (haifa_find_rgns): Move the nr_regions_initial variable
initialization to ...
(sched_rgn_init): ... here.
(schedule_region): Check for SCHED_PRESSURE_NONE earlier.
testsuite/
2014-02-24 Andrey Belevantsev <abel@ispras.ru>
PR rtl-optimization/60268
* gcc.c-torture/compile/pr60268.c: New test.
From-SVN: r208066
GCC Administrator [Mon, 24 Feb 2014 00:16:52 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208065
David Holsgrove [Sun, 23 Feb 2014 18:58:40 +0000 (18:58 +0000)]
microblaze.md: Correct ashrsi_reg / lshrsi_reg names
2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
* config/microblaze/microblaze.md: Correct ashrsi_reg / lshrsi_reg names
From-SVN: r208061
Michael Eager [Sun, 23 Feb 2014 18:53:47 +0000 (18:53 +0000)]
[multiple changes]
2014-02-23 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
* config/microblaze/microblaze.h: Remove SECONDARY_MEMORY_NEEDED
definition.
2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
* gcc/testsuite/gcc.target/microblaze/others/mem_reload.c: New test.
From-SVN: r208059
David Holsgrove [Sun, 23 Feb 2014 18:44:27 +0000 (18:44 +0000)]
microblaze.c: Add microblaze_asm_output_mi_thunk and define TARGET_ASM_OUTPUT_MI_THUNK and...
2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
* /config/microblaze/microblaze.c: Add microblaze_asm_output_mi_thunk
and define TARGET_ASM_OUTPUT_MI_THUNK and
TARGET_ASM_CAN_OUTPUT_MI_THUNK.
From-SVN: r208057
David Holsgrove [Sun, 23 Feb 2014 18:36:38 +0000 (18:36 +0000)]
predicates.md: Add cmp_op predicate.
2014-02-23 David Holsgrove <david.holsgrove@xilinx.com>
* config/microblaze/predicates.md: Add cmp_op predicate.
* config/microblaze/microblaze.md: Add branch_compare instruction
which uses cmp_op predicate and emits cmp insn before branch.
* config/microblaze/microblaze.c (microblaze_emit_compare): Rename
to microblaze_expand_conditional_branch and consolidate logic.
(microblaze_expand_conditional_branch): emit branch_compare
insn instead of handling cmp op separate from branch insn.
From-SVN: r208055
Eric Botcazou [Sun, 23 Feb 2014 16:30:11 +0000 (16:30 +0000)]
Makefile.in (TOOLS_FLAGS_TO_PASS_CROSS): Robustify.
gnattools/
* Makefile.in (TOOLS_FLAGS_TO_PASS_CROSS): Robustify.
gcc/ada/
* gcc-interface/Make-lang.in (ADA_TOOLS_FLAGS_TO_PASS): Likewise.
From-SVN: r208053
Bill Schmidt [Sun, 23 Feb 2014 16:28:32 +0000 (16:28 +0000)]
rs6000.c (rs6000_emit_le_vsx_move): Relax assert to permit subregs.
2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_emit_le_vsx_move): Relax assert
to permit subregs.
From-SVN: r208052
Eric Botcazou [Sun, 23 Feb 2014 16:26:32 +0000 (16:26 +0000)]
utils2.c (build_simple_component_ref): Fix formatting.
* gcc-interface/utils2.c (build_simple_component_ref): Fix formatting.
Look through a conversion between original and packable version to get
the base object.
(build_component_ref): Rework comment and fix formatting.
From-SVN: r208051
Bill Schmidt [Sun, 23 Feb 2014 15:27:48 +0000 (15:27 +0000)]
altivec.md (altivec_lve<VI_char>x): Replace define_insn with define_expand and new define_insn...
gcc:
2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/altivec.md (altivec_lve<VI_char>x): Replace
define_insn with define_expand and new define_insn
*altivec_lve<VI_char>x_internal.
(altivec_stve<VI_char>x): Replace define_insn with define_expand
and new define_insn *altivec_stve<VI_char>x_internal.
* config/rs6000/rs6000-protos.h (altivec_expand_stvex_be): New
prototype.
* config/rs6000/rs6000.c (altivec_expand_lvx_be): Document use by
lve*x built-ins.
(altivec_expand_stvex_be): New function.
gcc/testsuite:
2014-02-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* gcc.dg/vmx/lde.c: New test.
* gcc.dg/vmx/lde-be-order.c: New test.
* gcc.dg/vmx/ste.c: New test.
* gcc.dg/vmx/ste-be-order.c: New test.
From-SVN: r208049
GCC Administrator [Sun, 23 Feb 2014 00:16:39 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208048
Joern Rennecke [Sat, 22 Feb 2014 20:24:08 +0000 (20:24 +0000)]
avr.c (avr_can_eliminate): Allow elimination from ARG_POINTER_REGNUM to STACK_POINTER_REGNUM if...
* config/avr/avr.c (avr_can_eliminate): Allow elimination from
ARG_POINTER_REGNUM
to STACK_POINTER_REGNUM if !frame_pointer_needed.
* config/avr/avr.c (ELIMINABLE_REGS): Add elimination from
ARG_POINTER_REGNUM to STACK_POINTER_REGNUM.
From-SVN: r208045
Hans-Peter Nilsson [Sat, 22 Feb 2014 16:58:06 +0000 (16:58 +0000)]
re PR testsuite/60173 (gcc.dg/binop-xor1.c scan-tree-dump-times)
PR testsuite/60173
* lib/target-supports.exp
(check_effective_target_logical_op_short_circuit): Add cris-*-*
and crisv32-*-* to list.
From-SVN: r208044
Marc Glisse [Sat, 22 Feb 2014 10:24:11 +0000 (11:24 +0100)]
re PR libstdc++/60308 (std::deque leaks memory)
2014-02-22 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/60308
* include/bits/stl_deque.h (_Deque_base::_Deque_base(const
allocator_type&)): Remove redundant call to _M_initialize_map.
(deque::deque(const allocator_type&)): Initialize _Base with a
constructor that calls _M_initialize_map.
Partial revert:
2013-09-20 Marc Glisse <marc.glisse@inria.fr>
PR libstdc++/58338
(_Deque_base) [_Deque_base(const allocator_type&)]: Add missing call to
_M_initialize_map.
From-SVN: r208041
Jason Merrill [Sat, 22 Feb 2014 05:50:12 +0000 (00:50 -0500)]
re PR c++/58170 ([c++11] Crash when aliasing a template class that is a member of its template base class.)
PR c++/58170
* parser.c (cp_parser_type_name): Always check dependency.
(cp_parser_type_specifier_seq): Call
cp_parser_parse_and_diagnose_invalid_type_name.
From-SVN: r208040
GCC Administrator [Sat, 22 Feb 2014 00:16:58 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r208037
Janus Weil [Fri, 21 Feb 2014 22:54:50 +0000 (23:54 +0100)]
re PR fortran/60302 (ICE with c_f_pointer and android cross compiler)
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
Jason Merrill [Fri, 21 Feb 2014 21:57:49 +0000 (16:57 -0500)]
re PR c++/60108 ([C++11] ICE in use_thunk, at cp/method.c:340)
PR c++/60108
* semantics.c (expand_or_defer_fn_1): Check DECL_DEFAULTED_FN.
From-SVN: r208030
Jason Merrill [Fri, 21 Feb 2014 21:53:46 +0000 (16:53 -0500)]
re PR c++/60185 (ICE with invalid default parameter)
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 [Fri, 21 Feb 2014 21:50:52 +0000 (16:50 -0500)]
re PR c++/60252 ([c++11] ICE with invalid variable-length array in lambda parameter)
PR c++/60252
* lambda.c (maybe_resolve_dummy): Check lambda_function rather
than current_binding_level.
From-SVN: r208028
Jason Merrill [Fri, 21 Feb 2014 21:49:05 +0000 (16:49 -0500)]
re PR c++/60186 ([c++11] ICE with invalid value in constexpr array initializer)
PR c++/60186
* typeck2.c (massage_init_elt): Call fold_non_dependent_expr_sfinae.
From-SVN: r208027
Jason Merrill [Fri, 21 Feb 2014 21:47:30 +0000 (16:47 -0500)]
re PR c++/60187 ([c++11] ICE with parameter pack as underlying type for enum)
PR c++/60187
* parser.c (cp_parser_enum_specifier): Call
check_for_bare_parameter_packs.
From-SVN: r208026
Jason Merrill [Fri, 21 Feb 2014 21:43:29 +0000 (16:43 -0500)]
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 [Fri, 21 Feb 2014 21:41:16 +0000 (16:41 -0500)]
re PR c++/60241 (internal compiler error: in finish_member_declaration, at cp/semantics.c:2617)
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
Vladimir Makarov [Fri, 21 Feb 2014 21:23:48 +0000 (21:23 +0000)]
re PR target/60298 ([ARM/Thumb1] ICE caused by LRA for case pr54713-1.c)
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
Bill Schmidt [Fri, 21 Feb 2014 21:01:01 +0000 (21:01 +0000)]
altivec.md (altivec_vsumsws): Replace second vspltw with vsldoi.
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
William Schmidt [Fri, 21 Feb 2014 20:46:52 +0000 (20:46 +0000)]
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 [Fri, 21 Feb 2014 20:45:09 +0000 (20:45 +0000)]
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
Uros Bizjak [Fri, 21 Feb 2014 19:24:43 +0000 (20:24 +0100)]
i386-2.C (dg-options): Add -mavx512pf.
* 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
Jason Merrill [Fri, 21 Feb 2014 15:53:43 +0000 (10:53 -0500)]
re PR c++/60227 ([C++11] ICE using brace-enclosed initializer list to initialize array)
PR c++/60227
Fix ChangeLog
From-SVN: r208009
Jason Merrill [Fri, 21 Feb 2014 14:57:07 +0000 (09:57 -0500)]
re PR c++/60216 ([c++11] Trouble with deleted template functions)
PR c++/60216
* pt.c (register_specialization): Copy DECL_DELETED_FN to clones.
(check_explicit_specialization): Don't clone.
From-SVN: r208004
Jason Merrill [Fri, 21 Feb 2014 14:57:00 +0000 (09:57 -0500)]
re PR c++/60219 ([c++11] ICE invalid use of variadic template)
PR c++/60219
* pt.c (coerce_template_parms): Bail if argument packing fails.
From-SVN: r208003
Jason Merrill [Fri, 21 Feb 2014 14:56:53 +0000 (09:56 -0500)]
re PR c++/60224 (ICE using invalid initializer for array)
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 [Fri, 21 Feb 2014 14:56:46 +0000 (09:56 -0500)]
re PR c++/60277 (Bogus "inline function virtual ..." used but never defined)
PR c++/60277
* call.c (build_array_conv): Don't crash on VLA.
From-SVN: r208001
Jason Merrill [Fri, 21 Feb 2014 14:56:38 +0000 (09:56 -0500)]
re PR c++/60248 ([C++11] ICE specializing variadic template)
PR c++/60248
* mangle.c (mangle_decl): Don't make an alias for a TYPE_DECL.
From-SVN: r208000
Jason Merrill [Fri, 21 Feb 2014 14:56:31 +0000 (09:56 -0500)]
re PR c++/60252 ([c++11] ICE with invalid variable-length array in lambda parameter)
PR c++/60252
* lambda.c (maybe_resolve_dummy): Don't try to capture this
in declaration context.
From-SVN: r207999
Jason Merrill [Fri, 21 Feb 2014 14:56:20 +0000 (09:56 -0500)]
DR 1591 PR c++/60051
DR 1591
PR c++/60051
* pt.c (unify): Only unify if deducible. Handle 0-length list.
From-SVN: r207998
Ed Smith-Rowland [Fri, 21 Feb 2014 14:40:26 +0000 (14:40 +0000)]
Rename testsuite directory shared_mutex to shared_timed_mutex for consistency.
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
Jason Merrill [Fri, 21 Feb 2014 14:01:29 +0000 (09:01 -0500)]
re PR c++/60250 ([c++1y] ICE using lambda for array size)
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 [Fri, 21 Feb 2014 14:01:20 +0000 (09:01 -0500)]
re PR c++/60251 ([c++11] ICE capturing variable-length array)
PR c++/60251
* lambda.c (is_normal_capture_proxy): Handle VLA capture.
From-SVN: r207995
Jason Merrill [Fri, 21 Feb 2014 14:00:44 +0000 (09:00 -0500)]
re PR c++/60167 (Bogus error: conflicting declaration)
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
Catherine Moore [Fri, 21 Feb 2014 13:30:47 +0000 (08:30 -0500)]
invoke.texi (mvirt, mno-virt): Document.
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
Richard Biener [Fri, 21 Feb 2014 13:18:54 +0000 (13:18 +0000)]
re PR tree-optimization/60276 (-O3 autovectorizer breaks on a particular loop)
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 [Fri, 21 Feb 2014 13:14:23 +0000 (13:14 +0000)]
re PR middle-end/60291 (slow compile times for any mode (-O0/-O1/-O2) on large .c source file (30MBs))
2014-02-21 Richard Biener <rguenther@suse.de>
PR middle-end/60291
* tree-ssa-live.c (mark_all_vars_used_1): Do not walk
DECL_INITIAL for globals not in the current function context.
From-SVN: r207991
Rainer Orth [Fri, 21 Feb 2014 11:55:14 +0000 (11:55 +0000)]
Added forgotten ChangeLog entry.
From-SVN: r207989
Jakub Jelinek [Fri, 21 Feb 2014 09:53:56 +0000 (10:53 +0100)]
re PR tree-optimization/56490 (-Wall triggering infinite loop)
PR tree-optimization/56490
* params.def (PARAM_UNINIT_CONTROL_DEP_ATTEMPTS): New param.
* tree-ssa-uninit.c: Include params.h.
(compute_control_dep_chain): Add num_calls argument, return false
if it exceed PARAM_UNINIT_CONTROL_DEP_ATTEMPTS param, pass
num_calls to recursive call.
(find_predicates): Change dep_chain into normal array,
cur_chain into auto_vec<edge, MAX_CHAIN_LEN + 1>, add num_calls
variable and adjust compute_control_dep_chain caller.
(find_def_preds): Likewise.
From-SVN: r207988
Thomas Schwinge [Fri, 21 Feb 2014 09:18:15 +0000 (10:18 +0100)]
Correct TDF_RAW pretty-printing of GIMPLE_OMP_FOR's GF_OMP_FOR_KIND_CILKSIMD.
gcc/
* gimple-pretty-print.c (dump_gimple_omp_for) [flags & TDF_RAW]
<case GF_OMP_FOR_KIND_CILKSIMD>: Add missing break statement.
From-SVN: r207987
Janus Weil [Fri, 21 Feb 2014 09:06:57 +0000 (10:06 +0100)]
re PR fortran/60234 ([OOP] ICE in generate_finalization_wrapper at fortran/class.c:1883)
2014-02-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/60234
* gfortran.h (gfc_build_class_symbol): Removed argument.
* class.c (gfc_add_component_ref): Fix up missing vtype if necessary.
(gfc_build_class_symbol): Remove argument 'delayed_vtab'. vtab is always
delayed now, except for unlimited polymorphics.
(comp_is_finalizable): Procedure pointer components are not finalizable.
* decl. (build_sym, build_struct, attr_decl1): Removed argument of
'gfc_build_class_symbol'.
* match.c (copy_ts_from_selector_to_associate, select_type_set_tmp):
Ditto.
* symbol.c (gfc_set_default_type): Ditto.
2014-02-21 Janus Weil <janus@gcc.gnu.org>
PR fortran/60234
* gfortran.dg/finalize_23.f90: New.
From-SVN: r207986
Nick Clifton [Fri, 21 Feb 2014 08:11:10 +0000 (08:11 +0000)]
stormy16.md (pushdqi1): Add mode to post_inc.
* config/stormy16/stormy16.md (pushdqi1): Add mode to post_inc.
(pushhi1): Likewise.
(popqi1): Add mode to pre_dec.
(pophi1): Likewise.
From-SVN: r207984
Jakub Jelinek [Fri, 21 Feb 2014 07:48:07 +0000 (08:48 +0100)]
i386.c (ix86_expand_vec_perm): Use V8SImode mode for mask of V8SFmode permutation.
* config/i386/i386.c (ix86_expand_vec_perm): Use V8SImode
mode for mask of V8SFmode permutation.
From-SVN: r207981
Adam Butcher [Fri, 21 Feb 2014 07:47:55 +0000 (07:47 +0000)]
Fix PR c++/60052 and PR c++/60053.
PR c++/60052
PR c++/60053
* parser.c (cp_parser_parameter_declaration_list): Correctly reset
implicit_template_scope upon leaving an out-of-line generic member
function definition.
PR c++/60052
PR c++/60053
* g++.dg/cpp1y/pr60052.C: New testcase.
* g++.dg/cpp1y/pr60053.C: New testcase.
From-SVN: r207980
Tobias Burnus [Fri, 21 Feb 2014 07:37:06 +0000 (08:37 +0100)]
re PR fortran/60286 (INQUIRE reports STDOUT as not writable)
2014-02-21 Tobias Burnus <burnus@net-b.de>
PR fortran/60286
* libgfortran/io/inquire.c (yes, no): New static const char
* vars.
(inquire_via_unit): Use them. Use OPEN mode instead of using
POSIX's access to query about write=, read= and readwrite=.
2014-02-21 Tobias Burnus <burnus@net-b.de>
PR fortran/60286
* gfortran.dg/inquire_16.f90: New.
From-SVN: r207979
Ian Lance Taylor [Fri, 21 Feb 2014 03:24:03 +0000 (03:24 +0000)]
runtime: Use a better heap location on arm64 systems.
Before this, the heap location used on a 64-bit system was not
available to user-space on arm64, so the "32-bit" strategy ended up
being used. So use somewhere that is available, and for bonus points
is far away from where the kernel allocates address space by default.
From-SVN: r207977
GCC Administrator [Fri, 21 Feb 2014 00:16:45 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r207976
Richard Henderson [Fri, 21 Feb 2014 00:11:43 +0000 (16:11 -0800)]
re PR c++/60272 (atomic<>::compare_exchange_weak has spurious store and can cause race conditions)
PR c++/60272
* builtins.c (expand_builtin_atomic_compare_exchange): Always make
a new pseudo for OLDVAL.
From-SVN: r207972
Jakub Jelinek [Thu, 20 Feb 2014 20:39:46 +0000 (21:39 +0100)]
re PR target/57896 (ICE in expand_expr_real_2)
PR target/57896
* config/i386/i386.c (expand_vec_perm_interleave2): Don't call
gen_reg_rtx if d->testing_p.
(expand_vec_perm_pshufb2, expand_vec_perm_broadcast_1): Return early
if d->testing_p and we will certainly return true.
(expand_vec_perm_even_odd_1): Likewise. Don't call gen_reg_rtx
if d->testing_p.
From-SVN: r207969
Uros Bizjak [Thu, 20 Feb 2014 20:21:42 +0000 (21:21 +0100)]
emit-rtl.c (gen_reg_rtx): Assert that crtl->emit.regno_pointer_align_length is non-zero.
* emit-rtl.c (gen_reg_rtx): Assert that
crtl->emit.regno_pointer_align_length is non-zero.
From-SVN: r207968
Jan Hubicka [Thu, 20 Feb 2014 19:40:14 +0000 (20:40 +0100)]
lto-partition.c (add_symbol_to_partition_1, [...]): Aliases have no defined size.
* lto-partition.c (add_symbol_to_partition_1,
undo_partition, lto_balanced_map): Aliases have no
defined size.
(lto_balanced_map): Do not follow refering variables
if they can be optimized out.
From-SVN: r207967
Richard Henderson [Thu, 20 Feb 2014 17:43:53 +0000 (09:43 -0800)]
re PR c++/60272 (atomic<>::compare_exchange_weak has spurious store and can cause race conditions)
PR c++/60272
gcc/
* builtins.c (expand_builtin_atomic_compare_exchange): Conditionalize
on failure the store back into EXPECT.
libatomic/
* cas_n.c (libat_compare_exchange): Conditionalize on failure
the store back to EPTR.
From-SVN: r207966
Chung-Lin Tang [Thu, 20 Feb 2014 16:35:10 +0000 (16:35 +0000)]
nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
2014-02-20 Chung-Lin Tang <cltang@codesourcery.com>
Sandra Loosemore <sandra@codesourcery.com>
gcc/
* config/nios2/nios2.md (unspec): Add UNSPEC_PIC_GOTOFF_SYM enum.
* config/nios2/nios2.c (nios2_function_profiler):
Add -fPIC (flag_pic == 2) support.
(nios2_handle_custom_fpu_cfg): Fix warning parameter.
(nios2_large_offset_p): New function.
(nios2_unspec_reloc_p): Move up position, update to use
nios2_large_offset_p.
(nios2_unspec_address): Remove function.
(nios2_unspec_offset): New function.
(nios2_large_got_address): New function.
(nios2_got_address): Add large offset support.
(nios2_legitimize_tls_address): Update usage of removed and new
functions.
(nios2_symbol_binds_local_p): New function.
(nios2_load_pic_address): Add -fPIC (flag_pic == 2) support.
(nios2_legitimize_address): Update to use nios2_large_offset_p.
(nios2_emit_move_sequence): Avoid legitimizing (const (unspec ...)).
(nios2_print_operand): Merge H/L processing, add hiadj/lo
processing for (const (unspec ...)).
(nios2_unspec_reloc_name): Add UNSPEC_PIC_GOTOFF_SYM case.
gcc/testsuite/
* gcc.target/nios2/biggot-1.c: New.
* gcc.target/nios2/biggot-2.c: New.
libgcc/
* config/nios2/t-nios2 (CRTSTUFF_T_CFLAGS): Add -mno-gpopt.
* config/nios2/crti.S: Remove .file directive.
* config/nios2/crtn.S: Likewise.
From-SVN: r207965
Ed Smith-Rowland [Thu, 20 Feb 2014 16:06:40 +0000 (16:06 +0000)]
Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
2014-02-20 Ed Smith-Rowland <3dw4rd@verizon.net>
Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891.
* include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex.
* testsuite/30_threads/shared_lock/locking/2.cc: Ditto.
* testsuite/30_threads/shared_lock/locking/4.cc: Ditto.
* testsuite/30_threads/shared_lock/locking/1.cc: Ditto.
* testsuite/30_threads/shared_lock/locking/3.cc: Ditto.
* testsuite/30_threads/shared_lock/requirements/
explicit_instantiation.cc: Ditto.
* testsuite/30_threads/shared_lock/requirements/typedefs.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/2.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/4.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/1.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/6.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/3.cc: Ditto.
* testsuite/30_threads/shared_lock/cons/5.cc: Ditto.
* testsuite/30_threads/shared_lock/modifiers/2.cc: Ditto.
* testsuite/30_threads/shared_lock/modifiers/1.cc: Ditto.
* testsuite/30_threads/shared_mutex/requirements/
standard_layout.cc: Ditto.
* testsuite/30_threads/shared_mutex/cons/copy_neg.cc: Ditto.
* testsuite/30_threads/shared_mutex/cons/1.cc: Ditto.
* testsuite/30_threads/shared_mutex/cons/assign_neg.cc: Ditto.
* testsuite/30_threads/shared_mutex/try_lock/2.cc: Ditto.
* testsuite/30_threads/shared_mutex/try_lock/1.cc: Ditto.
From-SVN: r207964
Kai Tietz [Thu, 20 Feb 2014 16:02:24 +0000 (17:02 +0100)]
re PR c++/58873 ([c++11] ICE with __underlying_type for broken enum)
PR c++/58873
* parser.c (cp_parser_functional_cast): Treat NULL_TREE
valued type argument as error_mark_node.
From-SVN: r207961
Ian Lance Taylor [Thu, 20 Feb 2014 15:20:26 +0000 (15:20 +0000)]
re PR go/60288 (gccgo crashes compiling '*func_ptr(0)')
PR go/60288
compiler: Avoid crash, give error for *&x when x is not addressable.
From-SVN: r207960
Richard Biener [Thu, 20 Feb 2014 14:56:27 +0000 (14:56 +0000)]
tree-cfg.c (replace_uses_by): Mark altered BBs before doing the substitution.
2014-02-20 Richard Biener <rguenther@suse.de>
* tree-cfg.c (replace_uses_by): Mark altered BBs before
doing the substitution.
(verify_gimple_assign_single): Also verify bare MEM_REFs
on the lhs.
From-SVN: r207958
Kai Tietz [Thu, 20 Feb 2014 14:28:16 +0000 (15:28 +0100)]
re PR c++/58835 (ICE with __PRETTY_FUNCTION__ in broken function)
PR c++/58835
* semantics.c (finish_fname): Handle error_mark_node.
From-SVN: r207955
Arnaud Charlet [Thu, 20 Feb 2014 14:21:35 +0000 (15:21 +0100)]
2014-02-20 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi, vms_data.ads (gnatelim): Add description of
project-specific options.
2014-02-20 Ed Schonberg <schonberg@adacore.com>
* a-cbdlli.adb (Insert): When capacity exceeded, raise Capacity_Error,
not Constraint_Error.
* a-cbmutr.adb (Append_Child, Insert_Child, Prepend_Child): Ditto.
* sem_ch5.adb: Code clean up.
From-SVN: r207954
Arnaud Charlet [Thu, 20 Feb 2014 14:19:23 +0000 (15:19 +0100)]
[multiple changes]
2014-02-20 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Usage_Error): Remove local
constant Typ. Remove the specialized diagnostics for unconstrained
or tagged items as those are not part of the explicit input set
of the related subprogram and should not be flagged.
2014-02-20 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb: Add guard to preserve all errors.
2014-02-20 Vincent Celier <celier@adacore.com>
* switch-m.adb (Normalize_Compiler_Switches): Take into account
switches that are recorded in ALI files: -gnateA, -gnateE,
-gnateF, -gnateinn, -gnateu, -gnateV and -gnateY.
2014-02-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Specification): Check legality
of an element iterator form over a formal container with an
Iterable aspect.
* exp_ch5.adb (Build_Formal_Container_Iteration): Utility
to create declaration and loop statements for both forms of
container iterators.
(Expand_Formal_Container_Element_Iterator): New procedure
to handle loops of the form "for E of C" when C is a formal
container.
(Expand_Formal_Container_Iterator): Code cleanup.
From-SVN: r207953
Arnaud Charlet [Thu, 20 Feb 2014 14:08:31 +0000 (15:08 +0100)]
[multiple changes]
2014-02-20 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Add_Item_To_Name_Buffer): New routine.
(Analyze_Contract_Case): Remove the use of
"may". Replace "aspect Contract_Cases" to avoid categorization
of aspect vs pragma.
(Analyze_External_Property_In_Decl_Part): Remove the use of "formal".
(Analyze_Global_Item): Remove
the use of "formal", specify the subprogram. Split the
error message about a state with visible refinement into
two. Remove the use of "global" from "volatile global item".
(Analyze_Initialization_Item): Ensure that the SPARK RM reference
is on one line.
(Analyze_Input_Output): Update the call to
Check_Mode. Specify the duplicated item. Reword the error
message concerning an input of a null output list. Use "\"
for error message continuation.
(Analyze_Part_Of): Remove
the use of "may". Use "\" for error message continuation.
(Analyze_Refined_Depends_In_Decl_Part): Update the error
message concerning a useless refinement to match the format
of Refined_Global.
(Analyze_Refined_Global_In_Decl_Part): Reword the error message
concerning a useless refinement.
(Analyze_Refinement_Clause): Use "\" for error message continuation.
(Check_Constituent_Usage): Use "\" for error message continuation.
(Check_Dependency_Clause): Use "\" for error message continuation.
(Check_Matching_Constituent): Use "\" for error message continuation.
(Check_Missing_Part_Of): Use "\" for error message continuation.
(Check_Mode): Renamed to
Check_Role. Update the comment on usage. Redo the error reporting
to use Role_Error.
(Check_Mode_Restriction_In_Enclosing_Context): Use "\" for error
message continuation.
(Find_Mode): Renamed to Find_Role. Update the parameter profile along
with comment on usage. Update all occurrences of Is_Input and Is_Output.
(Inconsistent_Mode_Error): Use "\" for error message continuation.
(Input_Match): Use "\" for error message continuation.
(Role_Error): New routine.
(Set_Convention_From_Pragma): Use "\" for error message continuation.
(Usage_Error): Add local variable Error_Msg. Build specialized error
message showcasing the offending item kind. Redo the diagnostics for
unconstrained types.
2014-02-20 Ed Schonberg <schonberg@adacore.com>
* exp_util.adb (Is_Iterated_Container): Use high-level primitives
to determine whether a type is a container type, rather than
examining only its type declaration, so that subtypes and derived
types are handled properly.
2014-02-20 Sergey Rybin <rybin@adacore.com frybin>
* gnat_ugn.texi: gnatmetric: add description of project-specific
options.
2014-02-20 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute, case 'Update): Verify that
all choices in an association for a record type have the same
type, as is done for record aggregates.
From-SVN: r207952
Rainer Orth [Thu, 20 Feb 2014 14:04:53 +0000 (14:04 +0000)]
XFAIL sourcelocation (PR libgcj/55637)
PR libgcj/55637
* testsuite/libjava.lang/sourcelocation.xfail: New file.
From-SVN: r207951
Arnaud Charlet [Thu, 20 Feb 2014 14:04:38 +0000 (15:04 +0100)]
[multiple changes]
2014-02-20 Robert Dewar <dewar@adacore.com>
* a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb: Use pragma
Unmodified rather than Warnings (Off). Make comments
uniform in the four affected units.
2014-02-20 Robert Dewar <dewar@adacore.com>
* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
Object_Size): For non-scalar types allow any value that is a
multiple of 8.
* gnat_rm.texi: Document Object_Size for composites more clearly.
2014-02-20 Yannick Moy <moy@adacore.com>
* sem_util.ads, sem_util.adb (Default_Initialization): Remove function.
2014-02-20 Ed Schonberg <schonberg@adacore.com>
* stand.ads: Raise_Type: new predefined entity, used as the type
of a Raise_Expression prior to resolution.
* cstand.adb: Build entity for Raise_Type.
* sem_ch11.adb (Analyze_Raise_Expression): use Raise_Type as the
initial type of the node.
* sem_type.adb (Covers): Raise_Type is compatible with all
other types.
* sem_res.adb (Resolve): Remove special handling of Any_Type on
Raise_Expression nodes.
(Resolve_Raise_Expression): Signal ambiguity if the type of the
context is still Raise_Type.
From-SVN: r207950
Arnaud Charlet [Thu, 20 Feb 2014 14:02:27 +0000 (15:02 +0100)]
[multiple changes]
2014-02-20 Robert Dewar <dewar@adacore.com>
* sem_ch12.adb (Validate_Access_Type_Instance): Add message if
mismatching predicates.
* sem_ch6.adb (Check_Conformance): Give better messages on
predicate mismatch.
* sem_eval.adb (Predicates_Match): Move to spec.
* sem_eval.ads (Predicates_Match): Moved here from body.
2014-02-20 Ed Schonberg <schonberg@adacore.com>
* a-cbmutr.adb: Use default value in Insert_Child.
From-SVN: r207949
Arnaud Charlet [Thu, 20 Feb 2014 13:54:18 +0000 (14:54 +0100)]
[multiple changes]
2014-02-20 Vincent Celier <celier@adacore.com>
* gnatcmd.adb, make.adb, prj-makr.adb, clean.adb: Call
Stringt.Initialize in all project aware tools.
2014-02-20 Doug Rupp <rupp@adacore.com>
* gnat_ugn.texi: Document gnatbind -X option.
* vms_data.ads: Minor warnings documentation reformatting.
2014-02-20 Ed Schonberg <schonberg@adacore.com>
* exp_ch3.adb (Expand_Freeze_Array_Type): Only create invariant
procedure for a base type.
2014-02-20 Robert Dewar <dewar@adacore.com>
* sem_ch4.adb (Analyze_Case_Expression): Get type from first
expression with type info.
* sem_ch13.adb: Minor reformatting.
* sem_eval.adb (Subtypes_Statically_Match): Make sure we return
False if predicates do not match on the two types.
2014-02-20 Arnaud Charlet <charlet@adacore.com>
* sem_prag.adb (Analyze_Pragma [pragma Attach_Handler]):
In Relaxed_RM_Semantics mode, allow any static integer value,
for compatibility with other compilers.
From-SVN: r207948
Arnaud Charlet [Thu, 20 Feb 2014 13:52:08 +0000 (14:52 +0100)]
[multiple changes]
2014-02-20 Vincent Celier <celier@adacore.com>
* errutil.adb (Initialize): Properly initialize entry in table
Warnings when warnings are suppressed.
2014-02-20 Robert Dewar <dewar@adacore.com>
* s-os_lib.ads: Add warning about non-portability of Rename_File.
* sem_util.ads, sem_util.adb (Is_Junk_Name): New function.
* sem_warn.adb: Use Is_Junk_Name to suppress some warnings.
* gnat_ugn.texi: Document no warnings on junk variable names.
* layout.adb: Minor code reorganization (use Ekind_In).
* stringt.adb: Move initialization of Null_String_Id to Initialize
routine.
2014-02-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch13.adb: Initialize optional Element_Id.
From-SVN: r207947
Arnaud Charlet [Thu, 20 Feb 2014 13:48:32 +0000 (14:48 +0100)]
[multiple changes]
2014-02-20 Robert Dewar <dewar@adacore.com>
* s-os_lib.ads (Rename_File): Minor commment addition.
2014-02-20 Thomas Quinot <quinot@adacore.com>
* einfo.ads: Minor reformatting.
2014-02-20 Hristian Kirtchev <kirtchev@adacore.com>
* aspects.adb (Exchange_Aspects): New routine.
* aspects.ads (Exchange_Aspects): New routine.
* atree.adb (Rewrite): Do not check whether the save node has
aspects as it never will, instead check the node about to be clobbered.
* einfo.adb (Write_Field25_Name): Abstract_States can appear in
entities of generic packages.
* sem_ch6.adb (Analyze_Expression_Function): Fix the parent
pointer of an aspect specification list after rewriting takes place.
* sem_ch7.adb (Analyze_Package_Body_Helper): Swap the aspect
specifications of the generic template and the copy used for analysis.
* sem_ch12.adb (Analyze_Generic_Package_Declaration): Swap
the aspect specifications of the generic template and the
copy used for analysis.
(Analyze_Package_Instantiation): Propagate the aspect specifications
from the generic template to the instantiation.
(Build_Instance_Compilation_Unit_Nodes): Propagate the aspect
specifications from the generic template to the instantiation.
* sem_ch13.adb (Analyze_Aspect_Specifications): Handle aspects
Abstract_State, Initializes and Initial_Condition when they
apply to a package instantiation.
2014-02-20 Robert Dewar <dewar@adacore.com>
* stringt.adb: Add call to Initialize in package initialization.
From-SVN: r207946
Arnaud Charlet [Thu, 20 Feb 2014 13:46:15 +0000 (14:46 +0100)]
[multiple changes]
2014-02-20 Robert Dewar <dewar@adacore.com>
* a-crbtgk.adb, a-cihama.adb, a-coinve.adb, a-ciorse.adb, a-crbtgo.adb,
a-cidlli.adb, a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-coorse.adb,
a-chtgke.adb, a-chtgop.adb, a-comutr.adb, a-ciorma.adb, a-cobove.adb,
a-convec.adb, a-cohase.adb, a-chtgbk.adb, a-chtgbo.adb: Minor
reformatting.
2014-02-20 Bob Duff <duff@adacore.com>
* s-os_lib.ads: Minor: Remove incorrect comment.
2014-02-20 Robert Dewar <dewar@adacore.com>
* sem_elab.adb (Check_Elab_Assign): Clearer warning message.
2014-02-20 Vincent Celier <celier@adacore.com>
* gnat_rm.texi: Minor syntax error fix.
2014-02-20 Ed Schonberg <schonberg@adacore.com>
* a-cborma.adb (Assign): When creating a node without a specified
element, insert an uninitialized element in the map, because
the instance may provide an element type with a default
initialization, e.g a scalar with a Default_Value aspect.
* a-cbhama.adb (Assign_Key): Remove useless Allocate procedure.
(Insert): In the version without explicit element, provide an
uninitialized element, as above.
* a-cbdlli.adb (Append): In the version without explicit element,
provide an uninitalized element, as above.
(Allocate): Remove unused version.
From-SVN: r207945
Arnaud Charlet [Thu, 20 Feb 2014 13:44:20 +0000 (14:44 +0100)]
[multiple changes]
2014-02-20 Robert Dewar <dewar@adacore.com>
* sem_elab.adb: Minor code reorganization (use Nkind_In).
* stringt.adb: Remove temporary pragma Warnings (Off).
* stringt.ads: Add pragma Elaborate_Body to ensure initialization
of Null_String_Id.
2014-02-20 Matthew Heaney <heaney@adacore.com>
* a-chtgbk.adb (Replace): Use correct offset when calculating bucket
index.
From-SVN: r207944
Arnaud Charlet [Thu, 20 Feb 2014 13:42:58 +0000 (14:42 +0100)]
[multiple changes]
2014-02-20 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Specification): Initialize
properly the cursor type for subsequent volatile testing in SPARK
mode, when domain is a formal container with an Iterabe aspect.
2014-02-20 Robert Dewar <dewar@adacore.com>
* errout.adb (Set_Warnings_Mode_Off): Add Reason argument.
(Set_Specific_Warning_Off): Add Reason argument.
* errout.ads (Set_Warnings_Mode_Off): Add Reason argument.
(Set_Specific_Warning_Off): Add Reason argument.
* erroutc.adb (Warnings_Entry): Add Reason field
(Specific_Warning_Entry): Add Reason field.
(Warnings_Suppressed): return String_Id for Reason.
(Warning_Specifically_Suppressed): return String_Id for Reason.
* erroutc.ads (Warnings_Entry): Add Reason field.
(Specific_Warning_Entry): Add Reason field.
(Set_Specific_Warning_Off): Add Reason argument.
(Set_Warnings_Mode_Off): Add Reason argument.
(Warnings_Suppressed): return String_Id for Reason.
(Warning_Specifically_Suppressed): return String_Id for Reason.
* errutil.adb (Warnings_Suppressed): returns String_Id for Reason
(Warning_Specifically_Suppressed): returns String_Id for Reason
* gnat_rm.texi: Document that Warning parameter is string literal
or a concatenation of string literals.
* par-prag.adb: New handling for Reason argument.
* sem_prag.adb (Analyze_Pragma, case Warning): New handling
for Reason argument.
* sem_util.ads, sem_util.adb (Get_Reason_String): New procedure.
* sem_warn.ads (Warnings_Off_Entry): Add reason field.
* stringt.adb: Set Null_String_Id.
* stringt.ads (Null_String_Id): New constant.
From-SVN: r207943
Robert Dewar [Thu, 20 Feb 2014 13:38:06 +0000 (13:38 +0000)]
einfo.ads: Minor comment addition: Etype of package is Standard_Void_Type.
2014-02-20 Robert Dewar <dewar@adacore.com>
* einfo.ads: Minor comment addition: Etype of package is
Standard_Void_Type.
* checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch13.adb,
exp_ch2.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb,
exp_ch7.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_imgv.adb,
exp_intr.adb, exp_prag.adb, exp_sel.adb, exp_strm.adb, exp_util.adb,
freeze.adb, rtsfind.adb, sem_aggr.adb, sem_attr.adb, sem_ch10.adb,
sem_ch12.adb, sem_ch13.adb, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb,
sem_ch6.adb, sem_ch8.adb, sem_dim.adb, sem_prag.adb, sem_res.adb,
sem_util.adb, tbuild.adb, tbuild.ads: Remove New_Reference_To.
Replace all calls with calls to New_Occurrence_Of.
2014-02-20 Robert Dewar <dewar@adacore.com>
* par-util.adb (Ignore, case of right paren): Make this a
serious error.
From-SVN: r207942
Martin Jambor [Thu, 20 Feb 2014 13:28:34 +0000 (14:28 +0100)]
re PR tree-optimization/55260 (ICE: in ipa_get_parm_lattices, at ipa-cp.c:263 with -O2 -fno-inline -fipa-cp-clone)
2014-02-20 Martin Jambor <mjambor@suse.cz>
PR ipa/55260
* ipa-cp.c (cgraph_edge_brings_all_agg_vals_for_node): Uce correct
info when checking whether lattices are bottom.
testsuite/
* gcc.dg/ipa/pr55260.c: New test.
From-SVN: r207941
Bin Cheng [Thu, 20 Feb 2014 10:41:03 +0000 (10:41 +0000)]
crossmodule-indircall-1.c: Return 0 for execution test case.
* gcc.dg/tree-prof/crossmodule-indircall-1.c: Return 0
for execution test case.
From-SVN: r207939
Richard Biener [Thu, 20 Feb 2014 09:00:23 +0000 (09:00 +0000)]
re PR middle-end/60221 (gcc -fexceptions generates unnecessary cleanup code)
2014-02-20 Richard Biener <rguenther@suse.de>
PR middle-end/60221
* tree-eh.c (execute_cleanup_eh_1): Also cleanup empty EH
regions at -O0.
From-SVN: r207937
Richard Biener [Thu, 20 Feb 2014 08:43:04 +0000 (08:43 +0000)]
re PR java/60261 (Weird java install with --enable-version-specific-runtime-libs)
2014-02-20 Richard Biener <rguenther@suse.de>
PR libjava/60261
* configure.ac (dbexecdir): Remove redundant multilib addition.
* Makefile.am (gcc_version): Export.
* configure: Regenerate.
* Makefile.in: Likewise.
From-SVN: r207936
Jan Hubicka [Thu, 20 Feb 2014 06:40:07 +0000 (07:40 +0100)]
re PR middle-end/58555 (Floating point exception in want_inline_self_recursive_call_p)
PR ipa/58555
* ipa-inline-transform.c (clone_inlined_nodes): Add freq_scale parameter
specifying the scaling.
(inline_call): Update.
(want_inline_recursively): Guard division by zero.
(recursive_inlining): Update.
* ipa-inline.h (clone_inlined_nodes): Update.
* testsuite/g++.dg/torture/pr58555.C: New testcase.
From-SVN: r207934
Ilya Tocar [Thu, 20 Feb 2014 06:32:21 +0000 (06:32 +0000)]
re PR target/60204 (struct with __m512i is mishandled in function parameter passing and return)
gcc/
PR target/60204
* config/i386/i386.c (classify_argument): Pass structures of size
64 bytes or less in register.
tessuite/gcc/
PR target/60204
* gcc.target/x86_64/abi/avx512f/test_passing_structs.c: Update to
reflect abi fix.
* gcc.target/x86_64/abi/avx512f/test_passing_unions.c: Ditto.
From-SVN: r207933
Ilya Tocar [Thu, 20 Feb 2014 06:26:38 +0000 (06:26 +0000)]
avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
gcc/
* config/i386/avx512erintrin.h (_mm_rcp28_round_sd): Swap operands.
(_mm_rcp28_round_ss): Ditto.
(_mm_rsqrt28_round_sd): Ditto.
(_mm_rsqrt28_round_ss): Ditto.
* config/i386/avx512erintrin.h (_mm_rcp14_round_sd): Ditto.
(_mm_rcp14_round_ss): Ditto.
(_mm_rsqrt14_round_sd): Ditto.
(_mm_rsqrt14_round_ss): Ditto.
* config/i386/sse.md (rsqrt14<mode>): Put nonimmediate operand as
the first input operand, get rid of match_dup.
(avx512er_exp2<mode><mask_name><round_saeonly_name>): Set type
attribute to sse.
(<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>):
Ditto.
(avx512er_vmrcp28<mode><round_saeonly_name>): Put nonimmediate
operand as the first input operand, set type attribute.
(<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>):
Set type attribute.
(avx512er_vmrsqrt28<mode><round_saeonly_name>): Put nonimmediate
operand as the first input operand, set type attribute.
testsuite/gcc/
* gcc.target/i386/avx512er-vrcp28sd-2.c: Distinguish src1 and src2.
* gcc.target/i386/avx512er-vrcp28ss-2.c: Call correct intrinsic.
* gcc.target/i386/avx512er-vrsqrt28sd-2.c: Distinguish src1 and src2.
* gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto.
* gcc.target/i386/avx512f-vrcp14sd-2.c: Fix reference calculation.
* gcc.target/i386/avx512f-vrcp14ss-2.c: Fix reference calculation.
Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com>
From-SVN: r207932
GCC Administrator [Thu, 20 Feb 2014 00:17:08 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r207930
Jakub Jelinek [Wed, 19 Feb 2014 22:27:40 +0000 (23:27 +0100)]
re PR c/37743 (Bogus printf format warning with __builtin_bswap32.)
PR c/37743
* c-common.c (c_common_nodes_and_builtins): When initializing
c_uint{16,32,64}_type_node, also set corresponding
uint{16,32,64}_type_node to the same value.
* g++.dg/ext/builtin-bswap1.C: New test.
* c-c++-common/pr37743.c: New test.
From-SVN: r207924
Bill Schmidt [Wed, 19 Feb 2014 19:43:13 +0000 (19:43 +0000)]
rs6000.c (vspltis_constant): Fix most significant bit of zero.
2014-02-19 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (vspltis_constant): Fix most significant
bit of zero.
From-SVN: r207919
Jason Merrill [Wed, 19 Feb 2014 19:03:19 +0000 (14:03 -0500)]
re PR c++/60046 (internal compiler error: in nothrow_spec_p, at cp/except.c:1280)
PR c++/60046
* pt.c (maybe_instantiate_noexcept): Don't instantiate exception
spec from template context.
From-SVN: r207917
Prathamesh Kulkarni [Wed, 19 Feb 2014 18:51:57 +0000 (18:51 +0000)]
c-parser.c (c_parser_declspecs): Replace call to error by error_at.
* c-parser.c (c_parser_declspecs): Replace call to error by error_at.
(c_parser_parameter_declaration): Likewise.
From-SVN: r207916
Jakub Jelinek [Wed, 19 Feb 2014 18:12:31 +0000 (19:12 +0100)]
re PR debug/56563 (no debuginfo for "explicit" operator)
PR debug/56563
* cp-objcp-common.c (cp_function_decl_explicit_p): Remove
FUNCTION_FIRST_USER_PARMTYPE (decl) != void_list_node check.
From-SVN: r207915
Jakub Jelinek [Wed, 19 Feb 2014 18:11:54 +0000 (19:11 +0100)]
re PR c++/60267 (ICE in c_pp_lookup_pragma, at c-family/c-pragma.c:1232; ICE in tsubst_copy, at cp/pt.c:12887)
PR c++/60267
* pt.c (tsubst_expr): Handle ANNOTATE_EXPR.
* g++.dg/ext/ivdep-1.C: New test.
From-SVN: r207914
H.J. Lu [Wed, 19 Feb 2014 18:10:04 +0000 (18:10 +0000)]
Remove TFmode check for X86_64_INTEGER_CLASS
PR target/60207
* config/i386/i386.c (construct_container): Remove TFmode check
for X86_64_INTEGER_CLASS.
From-SVN: r207913
Jakub Jelinek [Wed, 19 Feb 2014 16:45:21 +0000 (17:45 +0100)]
re PR c++/60267 (ICE in c_pp_lookup_pragma, at c-family/c-pragma.c:1232; ICE in tsubst_copy, at cp/pt.c:12887)
PR c++/60267
* c-pragma.c (init_pragma): Don't call cpp_register_deferred_pragma
for PRAGMA_IVDEP if flag_preprocess_only.
* gcc.dg/pr60267.c: New test.
From-SVN: r207911
Uros Bizjak [Wed, 19 Feb 2014 15:53:59 +0000 (16:53 +0100)]
re PR target/59794 (i386 backend fails to detect MMX/SSE/AVX ABI changes)
PR target/59794
* config/i386/i386.c (type_natural_mode): Warn for ABI changes
only when -Wpsabi is enabled.
testsuite/ChangeLog:
PR target/59794
* gcc.target/i386/pr39162.c: Add dg-prune-output.
(dg-options): Remove -Wno-psabi.
* gcc.target/i386/59794-2.c: Ditto.
* gcc.target/i386/60205-1.c: Ditto.
* gcc.target/i386/sse-5.c: Ditto.
From-SVN: r207910
Nick Clifton [Wed, 19 Feb 2014 15:44:11 +0000 (15:44 +0000)]
pr46966.c: Only run on 32-bit+ targets.
* gcc.dg/graphite/pr46966.c: Only run on 32-bit+ targets.
* gcc.dg/pr23623.c: Likewise.
* gcc.dg/pr48784-1.c: Likewise.
* gcc.dg/pr48784-2.c: Likewise.
* gcc.dg/pr56997-2.c: Likewise.
* gcc.dg/sms-6.c: Likewise.
* gcc.dg/torture/pr60183.c: Likewise.
* gcc.dg/torture/vec-cvt-1.c: Likewise.
* gcc.c-torture/execute/
20061220-1.x: New.
* gcc.c-torture/execute/pr43220.x: New.
* gcc.c-torture/execute/pr51581-1.x: New.
* gcc.c-torture/execute/pr51581-2.x: New.
* gcc.c-torture/execute/pr58570.x: New.
* gcc.c-torture/unsorted/DFcmp.x: New.
* gcc.c-torture/unsorted/SFset.x: New.
From-SVN: r207909
Michael Hudson-Doyle [Wed, 19 Feb 2014 15:32:54 +0000 (15:32 +0000)]
re PR target/59799 (aarch64_pass_by_reference never passes arrays by value, contrary to ABI documentation)
2014-02-19 Michael Hudson-Doyle <michael.hudson@linaro.org>
PR target/59799
* config/aarch64/aarch64.c (aarch64_pass_by_reference): The rules for
passing arrays in registers are the same as for structs, so remove the
special case for them.
From-SVN: r207908