Commit Graph

128711 Commits

Author SHA1 Message Date
Gary Dismukes
97027f64df sem_ch5.adb, [...]: Change spelling 'parametrization' to 'parameterization'.
2014-02-24  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch5.adb, sem_aux.ads, sem_ch12.adb, gnat_ugn.texi, par.adb,
	par-ch12.adb: Change spelling 'parametrization' to 'parameterization'.

From-SVN: r208075
2014-02-24 17:01:26 +01:00
Ed Schonberg
5f50020ac1 sinfo.ads, sinfo.adb: New attribute Generalized_Indexing...
2014-02-24  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads, sinfo.adb: New attribute Generalized_Indexing, for
	indexed_components that are instances of Ada 2012 container
	indexing operations. Analysis and resolution of such nodes
	is performed on the attribute, and the original source is
	preserved for ASIS operations. If expansion is enabled, the
	indexed component is replaced by the value of this attribute,
	which is in a call to an Indexing aspect, in most case wrapped
	in a dereference operation.
	* sem_ch4.adb (Analyze_Indexed_Component): Create
	Generalized_Indexing attribute when appropriate.
	(Analyze_Call): If prefix is not overloadable and has an indexing
	aspect, transform into an indexed component so it can be analyzed
	as a potential container indexing.
	(Analyze_Expression): If node is an indexed component with a
	Generalized_ Indexing, do not re-analyze.
	* sem_res.adb (Resolve_Generalized_Indexing): Complete resolution
	of an indexed_component that has been transformed into a container
	indexing operation.
	(Resolve_Indexed_Component): Call the above when required.
	(Resolve): Do not insert an explicit dereference operation on
	an indexed_component whose type has an implicit dereference:
	the operation is inserted when resolving the related
	Generalized_Indexing.

From-SVN: r208074
2014-02-24 16:57:59 +01:00
Arnaud Charlet
ec4e8e9a4d [multiple changes]
2014-02-24  Olivier Ramonat  <ramonat@adacore.com>

	* gnat_rm.texi, gnat_ugn.texi: Replace Ada Compiler by Ada Development
	Environment.

2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Check_Constituent_Usage): Remove leading spaces in
	error messages.
	(Inconsistent_Mode_Error): Remove leading spaces in error messages.
	Merge the expected and available mode errors.
	(Report_Unused_Constituents): Remove leading spaces in error messages.
	(Report_Unused_States): Remove leading spaces in error messages.

From-SVN: r208073
2014-02-24 16:56:14 +01:00
Arnaud Charlet
e19137bce2 [multiple changes]
2014-02-24  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb (Traverse_One): Refine categorization of statement
	SCOs.

2014-02-24  Robert Dewar  <dewar@adacore.com>

	* aspects.ads, aspects.adb: Remove aspects Ada_2005 and Ada_2012,
	Pure_05, Pure_12 and Preelaborate_05.
	* gnat_rm.texi: Update accordingly.
	* sem_prag.adb: Document one argument form of Ada_05/Ada_2005
	pragmas Document one argument form of Ada_12/Ada_2012 pragmas
	Recognize one argument form of these pragmas only in GNAT mode
	(-gnatg).

From-SVN: r208072
2014-02-24 16:52:45 +01:00
Arnaud Charlet
1037b0f462 [multiple changes]
2014-02-24  Ed Schonberg  <schonberg@adacore.com>

	* s-dimmks.ads: Replace symbol for temperature, previously the
	Greek letter Theta, by the ASCII @ sign.
	* s-diflio.ads: ditto.

2014-02-24  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb: Minor code reorganization (use OR for boolean
	variables).
	* sem_ch3.adb, sem_prag.adb, freeze.adb: Minor reformatting.

2014-02-24  Ben Brosgol  <brosgol@adacore.com>

	* gnat_ugn.texi, projects.texi: Added the necessary conditionalization
	so that references to gnatmem and ASIS tools do not appear in the FSF
	edition of the GNAT User's Guide.

From-SVN: r208071
2014-02-24 16:49:39 +01:00
Arnaud Charlet
ebb6b0bd98 [multiple changes]
2014-02-24  Yannick Moy  <moy@adacore.com>

	* freeze.adb (Freeze_Entity): Do not issue warning
	for pre/post being ignored on imported subprogram in GNATprove
	mode.

2014-02-24  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, sem_ch5.adb, sem_type.adb, sem_res.adb, sem_attr.adb,
	stand.ads, sem_eval.adb: Minor reformatting.

2014-02-24  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb: Minor rewording in error message.

2014-02-24  Johannes Kanig  <kanig@adacore.com>

	* exp_util.adb (Expand_Subtype_From_Expr): Do not expand subtypes in
	GNATprove_mode, gnat2why doesn't need nor use these types.

2014-02-24  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Expon): On the AAMP
	target, in the case of signed integer exponentiation that uses a
	run-time routine, always select the Exp_* versions, since overflow
	checking is automatically done by AAMP arithmetic instructions.

2014-02-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications):
	When the related context is a package instace, insert pragma
	Abstract_State after all internally-generated renamings related
	to the instance "header".

2014-02-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): Analyze Contract of abstract
	subprograms.
	* sem_disp.adb (Check_Dispatching_Context): A non-dispatching
	call to an abstract subprogram is legal if it appears in a
	pre/postcondition of another abstract operation.

From-SVN: r208070
2014-02-24 16:09:40 +01:00
Walter Lee
341c653c70 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
2014-02-24 15:08:00 +00:00
Arnaud Charlet
c97d7285d9 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
2014-02-24 16:07:09 +01:00
Martin Jambor
f3fec19fb8 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
2014-02-24 13:39:52 +01:00
Andrey Belevantsev
9039622a9d 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
2014-02-24 09:57:02 +04:00
GCC Administrator
467d193f93 Daily bump.
From-SVN: r208065
2014-02-24 00:16:52 +00:00
David Holsgrove
e7e7bc4b97 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
2014-02-23 18:58:40 +00:00
Michael Eager
8011cccab2 [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
2014-02-23 18:53:47 +00:00
David Holsgrove
c332c7df48 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
2014-02-23 18:44:27 +00:00
David Holsgrove
d5a19af1be 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
2014-02-23 18:36:38 +00:00
Eric Botcazou
9fbb94f227 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
2014-02-23 16:30:11 +00:00
Bill Schmidt
34c25d2393 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
2014-02-23 16:28:32 +00:00
Eric Botcazou
086de49080 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
2014-02-23 16:26:32 +00:00
Bill Schmidt
a6eecdc172 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
2014-02-23 15:27:48 +00:00
GCC Administrator
e5e216f98b Daily bump.
From-SVN: r208048
2014-02-23 00:16:39 +00:00
Joern Rennecke
8aa7d1fc65 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
2014-02-22 20:24:08 +00:00
Hans-Peter Nilsson
0294729c10 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
2014-02-22 16:58:06 +00:00
Marc Glisse
6aba694120 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
2014-02-22 10:24:11 +00:00
Jason Merrill
7eae5d361e 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
2014-02-22 00:50:12 -05:00
GCC Administrator
d2c81d20aa Daily bump.
From-SVN: r208037
2014-02-22 00:16:58 +00:00
Janus Weil
f1ed9e151e 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
2014-02-21 23:54:50 +01:00
Jason Merrill
d723358d01 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
2014-02-21 16:57:49 -05:00
Jason Merrill
c754ffcc4c 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
2014-02-21 16:53:46 -05:00
Jason Merrill
e7b67047c7 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
2014-02-21 16:50:52 -05:00
Jason Merrill
b98fb3633e 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
2014-02-21 16:49:05 -05:00
Jason Merrill
3e9e24ab25 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
2014-02-21 16:47:30 -05:00
Jason Merrill
71b735a540 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
2014-02-21 16:43:29 -05:00
Jason Merrill
2671a8ef23 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
2014-02-21 16:41:16 -05:00
Vladimir Makarov
a810ee8207 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
2014-02-21 21:23:48 +00:00
Bill Schmidt
b90ab1ba8c 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
2014-02-21 21:01:01 +00:00
William Schmidt
4b3a6bcbcc 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
2014-02-21 20:46:52 +00:00
William Schmidt
1af73690cd 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
2014-02-21 20:45:09 +00:00
Uros Bizjak
c11581c9fb 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
2014-02-21 20:24:43 +01:00
Jason Merrill
f611c78a8c re PR c++/60227 ([C++11] ICE using brace-enclosed initializer list to initialize array)
PR c++/60227
	Fix ChangeLog

From-SVN: r208009
2014-02-21 10:53:43 -05:00
Jason Merrill
0d4af07453 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
2014-02-21 09:57:07 -05:00
Jason Merrill
07874b2486 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
2014-02-21 09:57:00 -05:00
Jason Merrill
843633f841 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
2014-02-21 09:56:53 -05:00
Jason Merrill
cd3ef6f762 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
2014-02-21 09:56:46 -05:00
Jason Merrill
1ea3297452 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
2014-02-21 09:56:38 -05:00
Jason Merrill
1c195d2a8f 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
2014-02-21 09:56:31 -05:00
Jason Merrill
e9cd655135 DR 1591 PR c++/60051
DR 1591
	PR c++/60051
	* pt.c (unify): Only unify if deducible.  Handle 0-length list.

From-SVN: r207998
2014-02-21 09:56:20 -05:00
Ed Smith-Rowland
94ff338464 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
2014-02-21 14:40:26 +00:00
Jason Merrill
9e01a71f1a 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
2014-02-21 09:01:29 -05:00
Jason Merrill
e429bc3555 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
2014-02-21 09:01:20 -05:00
Jason Merrill
a866509aeb 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
2014-02-21 09:00:44 -05:00