Commit Graph

128184 Commits

Author SHA1 Message Date
Jason Merrill
1b87c99180 re PR c++/58639 (ICE on self-referential struct member)
PR c++/58639
	* call.c (build_aggr_conv): Reject value-initialization of reference.

From-SVN: r207166
2014-01-27 23:31:07 -05:00
Jason Merrill
110740003a re PR c++/58812 (ICE initializing an r-value reference with an initializer list)
PR c++/58812
	* call.c (convert_like_real): Give helpful error about excess braces
	for ck_rvalue of scalar type.

From-SVN: r207165
2014-01-27 23:31:01 -05:00
Jason Merrill
f235ad118f Core DR 1288
Core DR 1288
	* call.c (reference_binding): Only elide braces if the single
	element is reference-related.

From-SVN: r207164
2014-01-27 23:30:55 -05:00
Jason Merrill
30f6b7844a re PR c++/58814 (ICE with volatile and attribute vector_size)
PR c++/58814
	* typeck.c (cp_build_modify_expr): Make the RHS an rvalue before
	stabilizing.

From-SVN: r207163
2014-01-27 23:30:38 -05:00
Jason Merrill
9cca4e3d1a re PR c++/58837 ([c++11] ICE using invalid condition in static_assert)
PR c++/58837
	* typeck.c (cp_truthvalue_conversion): Use explicit comparison for
	FUNCTION_DECL.

From-SVN: r207162
2014-01-27 23:30:26 -05:00
Jason Merrill
64d3489790 re PR c++/59097 (ICE with invalid statement expression as array size)
PR c++/59097
	* decl.c (compute_array_index_type): Don't call
	maybe_constant_value for a non-integral expression.

From-SVN: r207161
2014-01-27 23:30:16 -05:00
GCC Administrator
5a21ca2450 Daily bump.
From-SVN: r207159
2014-01-28 00:16:30 +00:00
Steve Ellcey
78c021554f pr52125.c: Add -mno-optgp option.
2014-01-27  Steve Ellcey  <sellcey@mips.com>

	* gcc.target/mips/pr52125.c: Add -mno-optgp option.

From-SVN: r207156
2014-01-27 23:05:05 +00:00
Allan Sandfeld Jensen
0ebe2584bb i386.c (get_builtin_code_for_version): Separate Westmere from Nehalem...
* config/i386/i386.c (get_builtin_code_for_version): Separate
	Westmere from Nehalem, Ivy Bridge from Sandy Bridge and
	Broadwell from Haswell.

testsuite/ChangeLog:

	* g++.dg/ext/mv16.C: New tests.

From-SVN: r207155
2014-01-27 23:45:02 +01:00
Steve Ellcey
a33fc7fe6c mips-common.c (TARGET_DEFAULT_TARGET_FLAGS): Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
2014-01-27  Steve Ellcey  <sellcey@mips.com>

	* common/config/mips/mips-common.c (TARGET_DEFAULT_TARGET_FLAGS):
	Remove TARGET_FP_EXCEPTIONS_DEFAULT and MASK_FUSED_MADD.
	* config/mips/mips.c (mips_option_override): Change setting
	of TARGET_DSP.
	* config/mips/mips.h (TARGET_FP_EXCEPTIONS_DEFAULT): Remove.
	* config/mips/mips.opt (DSP, DSPR2, FP_EXCEPTIONS, FUSED_MADD,
	MIPS3D) Change from Mask to Var.

From-SVN: r207154
2014-01-27 22:38:42 +00:00
Jonathan Wakely
6468818948 mklog: Fix description at top of file.
2014-01-27  Jonathan Wakely  <jwakely@redhat.com>

	* mklog: Fix description at top of file.

From-SVN: r207153
2014-01-27 21:43:09 +00:00
Jeff Law
a99be3c928 * ipa-inline.c (inline_small_functions): Fix typo.
From-SVN: r207151
2014-01-27 14:00:04 -07:00
Ilya Tocar
d256b8669e avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
gcc/
	* config/i386/avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
	(_mm512_mask_cvtsepi32_storeu_epi8): Ditto.
	(_mm512_mask_cvtusepi32_storeu_epi8): Ditto.
	(_mm512_mask_cvtepi32_storeu_epi16): Ditto.
	(_mm512_mask_cvtsepi32_storeu_epi16): Ditto.
	(_mm512_mask_cvtusepi32_storeu_epi16): Ditto.
	(_mm512_mask_cvtepi64_storeu_epi32): Ditto.
	(_mm512_mask_cvtsepi64_storeu_epi32): Ditto.
	(_mm512_mask_cvtusepi64_storeu_epi32): Ditto.
	(_mm512_mask_cvtepi64_storeu_epi16): Ditto.
	(_mm512_mask_cvtsepi64_storeu_epi16): Ditto.
	(_mm512_mask_cvtusepi64_storeu_epi16): Ditto.
	(_mm512_mask_cvtepi64_storeu_epi8): Ditto.
	(_mm512_mask_cvtsepi64_storeu_epi8): Ditto.
	(_mm512_mask_cvtusepi64_storeu_epi8): Ditto.
	(_mm512_storeu_epi64): Ditto.
	(_mm512_cmpge_epi32_mask): Ditto.
	(_mm512_cmpge_epu32_mask): Ditto.
	(_mm512_cmpge_epi64_mask): Ditto.
	(_mm512_cmpge_epu64_mask): Ditto.
	(_mm512_cmple_epi32_mask): Ditto.
	(_mm512_cmple_epu32_mask): Ditto.
	(_mm512_cmple_epi64_mask): Ditto.
	(_mm512_cmple_epu64_mask): Ditto.
	(_mm512_cmplt_epi32_mask): Ditto.
	(_mm512_cmplt_epu32_mask): Ditto.
	(_mm512_cmplt_epi64_mask): Ditto.
	(_mm512_cmplt_epu64_mask): Ditto.
	(_mm512_cmpneq_epi32_mask): Ditto.
	(_mm512_cmpneq_epu32_mask): Ditto.
	(_mm512_cmpneq_epi64_mask): Ditto.
	(_mm512_cmpneq_epu64_mask): Ditto.
	(_mm512_expand_pd): Ditto.
	(_mm512_expand_ps): Ditto.
	* config/i386/i386-builtin-types.def: Add PV16QI, PV16QI, PV16HI,
	VOID_PV8SI_V8DI_QI, VOID_PV8HI_V8DI_QI, VOID_PV16QI_V8DI_QI,
	VOID_PV16QI_V16SI_HI, VOID_PV16HI_V16SI_HI.
	* config/i386/i386.c (ix86_builtins): Add
	IX86_BUILTIN_EXPANDPD512_NOMASK, IX86_BUILTIN_EXPANDPS512_NOMASK,
	IX86_BUILTIN_PMOVDB512_MEM, IX86_BUILTIN_PMOVDW512_MEM,
	IX86_BUILTIN_PMOVQB512_MEM, IX86_BUILTIN_PMOVQD512_MEM,
	IX86_BUILTIN_PMOVQW512_MEM, IX86_BUILTIN_PMOVSDB512_MEM,
	IX86_BUILTIN_PMOVSDW512_MEM, IX86_BUILTIN_PMOVSQB512_MEM,
	IX86_BUILTIN_PMOVSQD512_MEM, IX86_BUILTIN_PMOVSQW512_MEM,
	IX86_BUILTIN_PMOVUSDB512_MEM, IX86_BUILTIN_PMOVUSDW512_MEM,
	IX86_BUILTIN_PMOVUSQB512_MEM, IX86_BUILTIN_PMOVUSQD512_MEM,
	IX86_BUILTIN_PMOVUSQW512_MEM.
	(bdesc_special_args): Add __builtin_ia32_pmovusqd512mem_mask,
	__builtin_ia32_pmovsqd512mem_mask,
	__builtin_ia32_pmovqd512mem_mask,
	__builtin_ia32_pmovusqw512mem_mask,
	__builtin_ia32_pmovsqw512mem_mask,
	__builtin_ia32_pmovqw512mem_mask,
	__builtin_ia32_pmovusdw512mem_mask,
	__builtin_ia32_pmovsdw512mem_mask,
	__builtin_ia32_pmovdw512mem_mask,
	__builtin_ia32_pmovqb512mem_mask,
	__builtin_ia32_pmovusqb512mem_mask,
	__builtin_ia32_pmovsqb512mem_mask,
	__builtin_ia32_pmovusdb512mem_mask,
	__builtin_ia32_pmovsdb512mem_mask,
	__builtin_ia32_pmovdb512mem_mask.
	(bdesc_args): Add __builtin_ia32_expanddf512,
	__builtin_ia32_expandsf512.
	(ix86_expand_special_args_builtin): Handle VOID_FTYPE_PV8SI_V8DI_QI, 
	VOID_FTYPE_PV8HI_V8DI_QI, VOID_FTYPE_PV16HI_V16SI_HI,
	VOID_FTYPE_PV16QI_V8DI_QI, VOID_FTYPE_PV16QI_V16SI_HI.
	* config/i386/sse.md (unspec): Add UNSPEC_EXPAND_NOMASK.
	(avx512f_<code><pmov_src_lower><mode>2_mask_store): New.
	(*avx512f_<code>v8div16qi2_store_mask): Renamed to ...
	(avx512f_<code>v8div16qi2_mask_store): This.
	(avx512f_expand<mode>): New.

testsuite/
	* gcc.target/i386/avx512f-vexpandpd-1.c: Also test _mm512_expand_pd.
	* gcc.target/i386/avx512f-vexpandpd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vexpandps-1.c: Also test _mm512_expand_ps.
	* gcc.target/i386/avx512f-vexpandps-2.c: Ditto. 
	* gcc.target/i386/avx512f-vmovdqu64-1.c: Also test _mm512_storeu_epi64.
	* gcc.target/i386/avx512f-vmovdqu64-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpged-1.c: New. 
	* gcc.target/i386/avx512f-vpcmpged-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeud-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeud-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeuq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpgeuq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpled-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpled-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleud-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleud-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleuq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpleuq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltd-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltud-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltud-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltuq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpltuq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpneqd-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpneqd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpneqq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpneqq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpnequd-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpnequd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpnequq-1.c: Ditto. 
	* gcc.target/i386/avx512f-vpcmpnequq-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovdb-1.c: Also test
	_mm512_mask_cvtepi32_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovdb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovdw-1.c: Also test
	_mm512_mask_cvtepi32_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovdw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovqb-1.c: Also test
	_mm512_mask_cvtepi64_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovqb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovqw-1.c: Also test
	_mm512_mask_cvtepi64_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovqw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovqd-1.c: Also test
	_mm512_mask_cvtepi64_storeu_epi32.
	* gcc.target/i386/avx512f-vpmovqd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovsdb-1.c: Also test
	_mm512_mask_cvtsepi32_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovsdb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovsdw-1.c: Also test
	_mm512_mask_cvtsepi32_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovsdw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovsqb-1.c: Also test
	_mm512_mask_cvtsepi64_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovsqb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovsqw-1.c: Also test
	_mm512_mask_cvtsepi64_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovsqw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovsqd-1.c: Also test
	_mm512_mask_cvtsepi64_storeu_epi32.
	* gcc.target/i386/avx512f-vpmovsqd-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovusdb-1.c: Also test
	_mm512_mask_cvtusepi32_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovusdb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovusdw-1.c: Also test
	_mm512_mask_cvtusepi32_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovusdw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovusqb-1.c: Also test
	_mm512_mask_cvtusepi64_storeu_epi8.
	* gcc.target/i386/avx512f-vpmovusqb-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovusqw-1.c: Also test
	_mm512_mask_cvtusepi64_storeu_epi16.
	* gcc.target/i386/avx512f-vpmovusqw-2.c: Ditto. 
	* gcc.target/i386/avx512f-vpmovusqd-1.c: Also test
	_mm512_mask_cvtusepi64_storeu_epi32.
	* gcc.target/i386/avx512f-vpmovusqd-2.c: Ditto. 
	* gcc.target/i386/m128-check.h: Add checkVs, checkVb.

From-SVN: r207150
2014-01-27 19:25:32 +00:00
Kirill Yukhin
e711dffdfe avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.
gcc/
        * config/i386/avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.
	(_mm512_mask_prefetch_i64gather_pd): Ditto.
	(_mm512_prefetch_i32scatter_pd): Ditto.
	(_mm512_mask_prefetch_i32scatter_pd): Ditto.
	(_mm512_prefetch_i64scatter_pd): Ditto.
	(_mm512_mask_prefetch_i64scatter_pd): Ditto.
	(_mm512_mask_prefetch_i32gather_ps): Fix operand type.
	(_mm512_mask_prefetch_i64gather_ps): Ditto.
	(_mm512_prefetch_i32scatter_ps): Ditto.
	(_mm512_mask_prefetch_i32scatter_ps): Ditto.
	(_mm512_prefetch_i64scatter_ps): Ditto.
	(_mm512_mask_prefetch_i64scatter_ps): Ditto.
	* config/i386/i386-builtin-types.def: Define
	VOID_FTYPE_QI_V8SI_PCINT64_INT_INT and VOID_FTYPE_QI_V8DI_PCINT64_INT_INT.
	* config/i386/i386.c (ix86_builtins): Define IX86_BUILTIN_GATHERPFQPD,
	IX86_BUILTIN_GATHERPFDPD, IX86_BUILTIN_SCATTERPFDPD,
	IX86_BUILTIN_SCATTERPFQPD.
	(ix86_init_mmx_sse_builtins): Define __builtin_ia32_gatherpfdpd,
	__builtin_ia32_gatherpfdps, __builtin_ia32_gatherpfqpd,
	__builtin_ia32_gatherpfqps, __builtin_ia32_scatterpfdpd,
	__builtin_ia32_scatterpfdps, __builtin_ia32_scatterpfqpd,
	__builtin_ia32_scatterpfqps.
	(ix86_expand_builtin): Expand new built-ins.
	* config/i386/sse.md (avx512pf_gatherpf<mode>): Add SF suffix,
	fix memory access data type.
	(*avx512pf_gatherpf<mode>_mask): Ditto.
	(*avx512pf_gatherpf<mode>): Ditto.
	(avx512pf_scatterpf<mode>): Ditto.
	(*avx512pf_scatterpf<mode>_mask): Ditto.
	(*avx512pf_scatterpf<mode>): Ditto.
	(GATHER_SCATTER_SF_MEM_MODE): New.
	(avx512pf_gatherpf<mode>df): Ditto.
	(*avx512pf_gatherpf<mode>df_mask): Ditto.
	(*avx512pf_scatterpf<mode>df): Ditto.

testsuite/
        * gcc.target/i386/avx512pf-vgatherpf0dpd-1.c: New.
	* gcc.target/i386/avx512pf-vgatherpf0qpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf1dpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vgatherpf1qpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf0dpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf0qpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf1dpd-1.c: Ditto.
	* gcc.target/i386/avx512pf-vscatterpf1qpd-1.c: Ditto.
	* gcc.target/i386/sse-14.c: Add new built-ins, fix AVX-512ER
	built-ins roudning immediate.
	* gcc.target/i386/sse-22.c: Add new built-ins.
	* gcc.target/i386/sse-23.c: Ditto.
	* gcc.target/i386/avx-1.c: Ditto.

From-SVN: r207149
2014-01-27 19:21:02 +00:00
Jonathan Wakely
fb1ca954c0 re PR libstdc++/59215 (tsan: warning in shared_ptr_base.h)
PR libstdc++/59215
	* include/bits/shared_ptr_base.h
	(_Sp_counted_base<_S_atomic>::_M_add_ref_lock()): Use relaxed atomic
	load.

From-SVN: r207147
2014-01-27 17:56:40 +00:00
Arnaud Charlet
b1d1299619 [multiple changes]
2014-01-27  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb (Resolve_Comparison_Op): Add type name/location
	to unordered msg.
	(Resolve_Range): Add type name/location to unordered msg.

2014-01-27  Claire Dross  <dross@adacore.com>

	* a-cofove.adb/s (Copy): Add precondition so that Copy (Source,
	Capacity) is only called with Capacity >= Length (Source) and
	Capacity in Capacity_Range.
	* a-cfdlli.adb/s, a-cfhase.adb/s, a-cfhama.adb/s, a-cforse.adb/s,
	a-cforma.adb/s (Copy): Add precondition so that Copy (Source, Capacity)
	is only called with Capacity >= Source.Capacity. Raise Capacity_Error
	in the code is this is not the case.

2014-01-27  Thomas Quinot  <quinot@adacore.com>

	* sem_ch4.adb (Analyze_Selected_Component): Fix handling of
	selected component in an instance where the component of the
	actual is not visibile at instantiation.

From-SVN: r207146
2014-01-27 17:58:19 +01:00
Ed Schonberg
fcadacf7bf sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type has a dynamic predicate...
2014-01-27  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type
	has a dynamic predicate, generate freeze node for Actual_Subtype
	at once, because the declaration of the corresponding predicate
	function will make reference to it.

From-SVN: r207145
2014-01-27 17:55:30 +01:00
Arnaud Charlet
8b4230c823 [multiple changes]
2014-01-27  Tristan Gingold  <gingold@adacore.com>

	* exp_ch7.adb, exp_ch9.adb: Adjust comments.

2014-01-27  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb (Expand_N_Op_Expon): Remove unsigned type test
	for 2**X optimization.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

	* a-suenst.adb: strings.utf_encoding.strings (Decode): Check
	explicitly whether value is in range of Character, because the
	library is typically compiled with range checks disabled, and
	we cannot rely on the implicit check on the argument of 'Val.

2014-01-27  Vincent Celier  <celier@adacore.com>

	* a-ciorma.adb, a-cihama.adb (Assign): Copy the Source to the Target,
	not the Target to itself.

2014-01-27  Robert Dewar  <dewar@adacore.com>

	* vms_conv.ads, ali.adb, sem_ch6.ads, opt.ads, vms_cmds.ads: Minor
	changes to avoid incorrect use of unordered enum types.

2014-01-27  Thomas Quinot  <quinot@adacore.com>

	* sem_ch4.adb: Minor reformatting.

From-SVN: r207144
2014-01-27 17:54:37 +01:00
Arnaud Charlet
29077c1841 [multiple changes]
2014-01-27  Robert Dewar  <dewar@adacore.com>

	* scn.adb (Check_End_Of_Line): Removed.
	(Error_Long_Line): Removed.
	(Determine_License): Use versions of above routines from Scanner.
	* scng.adb (Check_End_Of_Line): Moved to spec.
	(Error_Long_Line): Removed, no longer used.
	* scng.ads (Check_End_Of_Line): Moved here from body.

2014-01-27  Tristan Gingold  <gingold@adacore.com>

	* exp_ch7.adb (Build_Cleanup_Statements): Call
	Build_Protected_Subprogram_Call_Cleanup to insert the cleanup
	for protected body.
	* exp_ch9.adb (Build_Protected_Subprogram_Body): Likewise.
	 Remove Service_Name variable.
	(Build_Protected_SUbprogam_Call_Cleanup): New procedure that
	factorize code from the above subprograms.
	* exp_ch9.ads (Build_Protected_Subprogram_Call_Cleanup): New procedure.

From-SVN: r207143
2014-01-27 17:52:29 +01:00
Arnaud Charlet
2757c5bf18 [multiple changes]
2014-01-27  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb (Has_Option): Reimplemented.
	* sem_prag.adb (Analyze_Refinement_Clause): Add global
	variables AR_Constit, AW_Constit, ER_Constit, EW_Constit,
	External_Constit_Seen and State. Add local variables Body_Ref,
	Body_Ref_Elmt and Extra_State. Reimplement part of the logic to
	avoid a cumbersome while pool. Verify the legality of an external
	state and relevant properties.
	(Check_External_Property): New routine.
	(Check_Matching_State): Remove parameter profile
	and update comment on usage.
	(Collect_Constituent): Store the
	relevant external property of a constituent.
	* sem_util.adb (Async_Readers_Enabled): Update the call to
	Has_Enabled_Property.
	(Async_Writers_Enabled): Update the call to Has_Enabled_Property.
	(Effective_Reads_Enabled): Update the call to Has_Enabled_Property.
	(Effective_Writes_Enabled): Update the call to Has_Enabled_Property.
	(Has_Enabled_Property): Rename formal parameter Extern to State_Id.
	Update comment on usage. Reimplement the logic to recognize the various
	formats of properties.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

	* par-ch5.adb: Minor reformatting.

2014-01-27  Tristan Gingold  <gingold@adacore.com>

	* s-tposen.ads: Harmonize style and comments.

2014-01-27  Vincent Celier  <celier@adacore.com>

	* projects.texi: Document that shared library projects, by
	default, cannot import projects that are not shared library
	projects.

2014-01-27  Robert Dewar  <dewar@adacore.com>

	* sem_ch8.adb (Find_Selected_Component): Use Replace instead
	of Rewrite.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

	* a-suenco.adb, a-suenst.adb (Decode): Raise encoding error if
	any other exception is raised.
	(Convert): If both Input_Scheme and Output_Scheme are UTF_8 it is
	still necessary to perform a conversion in order to remove overlong
	encodings.

From-SVN: r207142
2014-01-27 17:49:44 +01:00
Arnaud Charlet
00ba7be813 [multiple changes]
2014-01-27  Robert Dewar  <dewar@adacore.com>

	* exp_smem.adb: Minor reformatting.

2014-01-27  Thomas Quinot  <quinot@adacore.com>

	* a-calfor.ads: Fix incorrect reference to operator "-" in comment.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Make_Call_Into_Operator): In ASIS mode, relocate
	nodes for operands to the original node for the call, to preserve
	Original_Node pointers within the resolved operands, given that
	they may have been rewritten as well. Previous approach copied
	the operands into a new tree and lost those pointers.

2014-01-27  Claire Dross  <dross@adacore.com>


	* a-cofove.adb, a-cofove.ads: Add Strict_Equal function to the API.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Check_Internal_Protected_Use): A call through
	an anonymous access parameter of the current protected function
	is not a potential modification of the current object.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

	* a-cobove.adb (Reserve_Capacity): Procedure raises
	Capacity_Error, not Constraint_Error, when request cannot be
	satisfied.

2014-01-27  Vincent Celier  <celier@adacore.com>

	* a-coorma.adb, a-cohama.adb (Assign): Copy the Source to the Target,
	not the Target to itself.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_Concatenate): If the target of the
	concatenation is a library-level entity, always use the off-line
	version of concatenation, regardless of optimization level. This
	is space-efficient, and prevents linking problems when some
	units are compiled with different optimization levels.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: Code clean up.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

	* par-ch5.adb (P_Iterator_Specification): Improve error recovery
	when an array or container iterator includes a subtype indication,
	which is only legal in an element iterator.

From-SVN: r207141
2014-01-27 17:43:29 +01:00
Arnaud Charlet
8fdafe44be [multiple changes]
2014-01-27  Thomas Quinot  <quinot@adacore.com>

	* exp_ch7.adb: Minor reformatting.

2014-01-27  Robert Dewar  <dewar@adacore.com>

	* opt.adb (SPARK_Mode): Default for library units is None rather
	than Off.
	* opt.ads: Remove AUTO from SPARK_Mode_Type SPARK_Mode_Type is
	no longer ordered.
	* sem_prag.adb (Analyze_Pragma, case SPARK_Mode): Remove AUTO
	possibility.
	* snames.ads-tmpl (Name_Auto): Removed, no longer used.

2014-01-27  Robert Dewar  <dewar@adacore.com>

	* par-ch5.adb (P_Sequence_Of_Statements): Make entry in
	Suspicious_Labels table if we have identifier; followed by loop
	or block.
	* par-endh.adb (Evaluate_End_Entry): Search Suspicious_Labels table.
	* par.adb (Suspicious_Labels): New table.

2014-01-27  Robert Dewar  <dewar@adacore.com>

	* exp_aggr.adb (Check_Bounds): Reason is range check, not
	length check.

2014-01-27  Yannick Moy  <moy@adacore.com>

	* get_spark_xrefs.adb (Get_SPARK_Xrefs): Accept new type 'c' for
	reference.
	* lib-xref-spark_specific.adb (Is_Global_Constant): Remove useless
	function now.
	(Add_SPARK_Xrefs): Include references to constants.
	* spark_xrefs.ads Document new character 'c' for references to
	constants.

2014-01-27  Thomas Quinot  <quinot@adacore.com>

	* exp_smem.adb (Add_Write_After): For a function call, insert write as
	an after action in a transient scope.

From-SVN: r207140
2014-01-27 17:39:57 +01:00
Arnaud Charlet
b3a699930b [multiple changes]
2014-01-27  Thomas Quinot  <quinot@adacore.com>

	* exp_smem.adb (Expand_Shared_Passive_Variable): For a reference
	to a shared variable as an OUT formal in a call to an init proc,
	the 'Read call must be emitted after, not before, the call.

2014-01-27  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Remove mention of AUTO mode for SPARK_Mode pragma.

From-SVN: r207139
2014-01-27 17:37:28 +01:00
Arnaud Charlet
f1bd0415ad [multiple changes]
2014-01-27  Robert Dewar  <dewar@adacore.com>

	* a-wichha.adb (Character_Set_Version): Change to output proper
	value.

2014-01-27  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb (Is_Input_Only_State): Removed.
	(Is_Non_Volatile_State): Removed.
	(Is_Output_State): Removed.
	* einfo.ads (Is_Input_Only_State): Remove attribute and
	subprogram. Update related entity.
	(Is_Non_Volatile_State):
	Remove attribute and subprogram. Update related entity.
	(Is_Output_State): Removed attribute and subprogram. Update
	related entity.
	* exp_ch6.adb (Expand_Subprogram_Contract): Update comment on
	generated code.
	* sem_ch3.adb (Analyze_Declarations): Analyze the contract of
	an object, not just variables.
	(Analyze_Object_Contract): New routine.
	(Analyze_Variable_Contract): Removed.
	(Process_Discriminants): Detect an illegal use of volatile
	discriminant in SPARK mode.
	* sem_ch5.adb (Analyze_Iterator_Specification):
	Detect an illegal use of volatile loop variable.
	(Analyze_Loop_Parameter_Specification): Detect an illegal use
	of volatile loop variable.
	* sem_ch6.adb (Process_Formals): Update the volatile object
	detection. Detect an illegal formal of mode IN OUT or OUT in
	SPARK mode. Enhance the error messages with references.
	* sem_ch12.adb (Instantiate_Object): Update the volatile object
	detection. Enhance the error messages with references.
	* sem_prag.adb (Analyze_Abstract_State): Enhance the error
	messages with references.
	(Analyze_Contract_Case): Enhance the error messages with references.
	(Analyze_External_Property): Call Check_Duplicate_Property to process
	an external property.
	(Analyze_External_Property_In_Decl_Part): New routine.
	(Analyze_External_State_In_Decl_Part): Removed.
	(Analyze_Global_Item): Detect an illegal
	use of a volatile constant. Detect an illegal use
	of a variable with enabled Effective_Reads. Enhance
	the error messages with references. Remove obsolete
	checks concerning Input_Only and Output_Only states.
	(Analyze_Initialization_Item): Enhance the error messages
	with references.
	(Analyze_Initializes_In_Decl_Part): Do not
	collect the states and variables when the initialization list
	is null.
	(Analyze_Input_Item): Enhance the error messages with references.
	(Analyze_Input_Output): Enhance the error messages with references.
	(Analyze_Pragma): Enhance the error messages with references.
	(Analyze_Refinement_Clause): Code reformatting.
	(Analyze_Refined_Depends_In_Decl_Part):
	Rename global variable Global to Reg_Global and update all
	occurrences. Add local variables D7 and D8. Update the error
	messages with references. Update the call to Collect_Global_Items.
	(Analyze_Refined_Global_In_Decl_Part): Add local variables
	Has_Proof_In_State, Proof_In_Constits and Proof_In_Items. Update
	the call to Collect_Global_Items.  Account for a Proof_In state
	in null / useless refinement checks. Verify the coverage of
	Proof_In states.
	(Check_Dependency_Clause): Remove local variable
	Out_Constits. Remove the retrieval and removal of constituents
	for an Output_Only state. Remove the reporting of unused
	Output_Only state constituents.
	(Check_Duplicate_Mode): Enhance
	the error message with a reference.
	(Check_Duplicate_Property): New routine.
	(Check_Duplicate_Option): Enhance the error message with a reference.
	(Check_External_Properties): Enhance the error message with a reference.
	(Check_Function_Return): Enhance the error message with a reference.
	(Check_In_Out_States): Update
	comment on usage. Add a specialized error message for Proof_In
	constituents. Enhance the error message with a reference.
	(Check_Input_States): Update comment on usage. Account for
	possible Proof_In constituents. Enhance the error message
	with a areference.
	(Check_Matching_Constituent): Enhance the error message with a
	reference.
	(Check_Matching_State): Enchance the error message with a reference.
	(Check_Mode): Add local variable From_Global. Update the call to
	Find_Mode.  Emit more precise error messages concerning extra items
	(Check_Mode_Restriction_In_Enclosing_Context): Consider
	pragma Refined_Global.	Enhance the error message with a
	reference.
	(Check_Mode_Restriction_In_Function): Enhance the error message with
	a reference.
	(Check_Output_States): Update comment on usage. Add local variable
	Posted.  Account for possible Proof_In constituents. Produce a detailed
	list of missing constituents.
	(Check_Proof_In_States): New routine.
	(Check_Refined_Global_Item): Handle Proof_In
	constituents. Enchance the error message with a reference.
	(Collect_Global_Items): Add formal parameters Proof_In_Items
	and Has_Proof_In_State. Update the comment on usage. Account
	for Proof_In items.
	(Create_Or_Modify_Clause): Enchance
	the error message with a reference.
	(Find_Mode): Add
	formal parameter From_Global. Update the comment on usage.
	Detect when the mode is governed by pragma [Refined_]Global.
	(Output_Constituents): Removed.
	(Report_Extra_Constituents):
	Report extra Proof_In constituents.
	(Report_Unused_Constituents): Removed.
	(Usage_Error): Code reformatting. Enhance the error
	messages with reference.
	* sem_prag.ads (Analyze_External_Property_In_Decl_Part): New routine.
	(Analyze_External_State_In_Decl_Part): Removed.
	* sem_res.adb (Resolve_Actuals): Update the volatile object
	detection. Enhance the error message with a reference.
	(Resolve_Entity_Name): Update the volatile object
	detection. Enhance the error message with a reference.
	* sem_util.adb (Is_Refined_State): Add a guard to avoid a crash.
	(Is_SPARK_Volatile_Object): New routine.
	(Has_Volatile_Component): New routine.
	* sem_util.ads (Is_Delegate): Alphabetized.
	(Is_SPARK_Volatile_Object): New routine.
	(Has_Volatile_Component): New routine.
	* snames.ads-tmpl: Remove names Name_Input_Only and Name_Output_Only.

2014-01-27  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb: Resolve fully prefix of 'Update.

From-SVN: r207138
2014-01-27 17:35:08 +01:00
Jakub Jelinek
904e5ccd59 re PR bootstrap/59934 (Bootstrap fail since r206941: expmed.h:252:33: error: array subscript is above array bounds)
PR bootstrap/59934
        * expmed.h (expmed_mode_index): Rework so that analysis and optimziers
        know when the MODE_PARTIAL_INT and MODE_VECTOR_INT cases can never be
        reached.

From-SVN: r207137
2014-01-27 09:33:39 -07:00
Arnaud Charlet
48b08b187f [multiple changes]
2014-01-27  Ben Brosgol  <brosgol@adacore.com>

	* gnat_rm.texi: Minor clarifications.

2014-01-27  Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb (Check_Internal_Call_Continue): Avoid complaining
	about call that is generated as part of an Initial_Condition
	check.
	* sem_prag.adb: Minor spelling correction.

From-SVN: r207136
2014-01-27 17:31:19 +01:00
Robert Dewar
1b8b4638bb sem_prag.adb (Set_Convention_From_Pragma): Check that convention Ghost can only apply to functions.
2014-01-27  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Set_Convention_From_Pragma): Check that
	convention Ghost can only apply to functions.
	* einfo.ads, einfo.adb (Is_Ghost_Subprogram): Add clarifying comment.

From-SVN: r207135
2014-01-27 17:28:28 +01:00
Robert Dewar
42959b0c5a gnat_ugn.texi: Add Short_Enums to documentation of -gnatet/-gnateT.
2014-01-27  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Add Short_Enums to documentation of
	-gnatet/-gnateT.

2014-01-27  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Input_Item): Correct check for input
	item in same package.
	* sem_util.ads, sem_util.adb (Within_Scope): New function.

From-SVN: r207134
2014-01-27 17:27:02 +01:00
James Greenhalgh
84e90123e6 [ARM] fix big.LITTLE spec rewriting
gcc/

	* common/config/arm/arm-common.c
	(arm_rewrite_mcpu): Handle multiple names.
	* config/arm/arm.h
	(BIG_LITTLE_SPEC): Do not discard mcpu switches.

From-SVN: r207133
2014-01-27 15:51:42 +00:00
Jason Merrill
ccc2e73ce7 Core DR 475 PR c++/41174 PR c++/59224
Core DR 475
	PR c++/41174
	PR c++/59224
	* libsupc++/eh_throw.cc (__cxa_throw): Set uncaughtExceptions.
	* libsupc++/eh_alloc.cc (__cxa_allocate_dependent_exception)
	(__cxa_allocate_exception): Don't set it here.

From-SVN: r207129
2014-01-27 08:57:39 -05:00
James Greenhalgh
c6f6157a45 [PATCH - obvious] Remove unused create_gimple_tmp declaration
gcc/

	* gimple-builder.h (create_gimple_tmp): Delete.

From-SVN: r207127
2014-01-27 09:39:21 +00:00
Christian Bruel
770516c944 sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after words comparisons.
2014-01-27  Christian Bruel  <christian.bruel@st.com>

	* config/sh/sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after
	words comparisons.

From-SVN: r207126
2014-01-27 09:39:49 +01:00
Eric Botcazou
ba3ca09806 configure.ac (*-*-lynxos*): Delete.
* configure.ac (*-*-lynxos*): Delete.
	* configure: Regenerate.

From-SVN: r207125
2014-01-27 08:18:29 +00:00
GCC Administrator
3ee2753b72 Daily bump.
From-SVN: r207124
2014-01-27 00:17:04 +00:00
John David Anglin
5aa3c76252 pa.md (call): Generate indirect long calls to non-local functions when outputing 32-bit code.
* config/pa/pa.md (call): Generate indirect long calls to non-local
	functions when outputing 32-bit code.
	(call_value): Likewise except for special call to buggy powf function.

From-SVN: r207121
2014-01-26 16:30:27 +00:00
John David Anglin
cc5cec1053 pa.c (pa_attr_length_indirect_call): Adjust length of portable runtime and PIC indirect calls.
* config/pa/pa.c (pa_attr_length_indirect_call): Adjust length of
	portable runtime and PIC indirect calls.
	(pa_output_indirect_call): Remove unnecessary nop from portable runtime
	and PIC call sequences.  Use ldo instead of blr to set return register
	in PIC call sequence.

From-SVN: r207120
2014-01-26 16:07:28 +00:00
Mikael Morin
1674321ac2 re PR fortran/58007 ([OOP] ICE in free_pi_tree(): Unresolved fixup - resolve_fixups does not fixup component of __class_bsr_Bsr_matrix)
fortran/
        PR fortran/58007
        * module.c (read_module): Assert for component name correctness.

From-SVN: r207118
2014-01-26 14:12:50 +00:00
Jonathan Wakely
2720e16b87 acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
* acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
	* configure: Regenerate.

From-SVN: r207116
2014-01-26 11:23:07 +00:00
Jonathan Wakely
4d0bb77039 stl_map.h: Remove anachronistic comment.
* include/bits/stl_map.h: Remove anachronistic comment.
	* include/bits/stl_multimap.h: Add whitespace.
	* testsuite/23_containers/map/modifiers/emplace/1.cc: Use
	-std=gnu++11 instead of -std=c++11.
	* testsuite/23_containers/map/operators/2.cc: Likewise.
	* testsuite/23_containers/multimap/modifiers/emplace/1.cc: Likewise.
	* testsuite/23_containers/multiset/modifiers/emplace/1.cc: Likewise.
	* testsuite/23_containers/set/modifiers/emplace/1.cc: Likewise.

From-SVN: r207115
2014-01-26 11:22:58 +00:00
Arnaud Charlet
87e9c2a2f0 a-intnam-lynxos.ads, [...]: Removed, no longer maintained.
2014-01-26  Arnaud Charlet  <charlet@adacore.com>     
                                                      
	* a-intnam-lynxos.ads, mlib-tgt-specific-lynxos.adb,
	s-osinte-lynxos-3.adb, s-osinte-lynxos-3.ads, s-osinte-lynxos.adb,
	s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-tpopsp-lynxos.adb,
	system-lynxos-ppc.ads, system-lynxos-x86.ads: Removed, no longer
	maintained.

From-SVN: r207114
2014-01-26 11:05:39 +01:00
Arnaud Charlet
b4dfb6814d Complete previous changes.
From-SVN: r207113
2014-01-26 11:04:03 +01:00
GCC Administrator
5d64ee3546 Daily bump.
From-SVN: r207110
2014-01-26 00:16:44 +00:00
Eric Botcazou
5011ff8687 Fix pilot error in previous checkin
From-SVN: r207098
2014-01-25 22:41:48 +00:00
Walter Lee
a5420aa44e atomic.c: Include tconfig.h.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c: Include tconfig.h.  Don't include
            config.h or system.h.
            (bool) Define.

From-SVN: r207088
2014-01-25 20:37:01 +00:00
Walter Lee
24534912f7 atomic.c (pre_atomic_barrier): Mark inline.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (pre_atomic_barrier): Mark inline.
            (post_atomic_barrier): Ditto.
            (__fetch_and_do): New macro.
            (__atomic_fetch_and_do): Use __fetch_and_do.
            (__sync_fetch_and_do): New macro.
            (__sync_fetch_and_add_4): New function.
            (__sync_fetch_and_sub_4): New function.
            (__sync_fetch_and_or_4): New function.
            (__sync_fetch_and_and_4): New function.
            (__sync_fetch_and_xor_4): New function.
            (__sync_fetch_and_nand_4): New function.
            (__sync_fetch_and_add_8): New function.
            (__sync_fetch_and_sub_8): New function.
            (__sync_fetch_and_or_8): New function.
            (__sync_fetch_and_and_8): New function.
            (__sync_fetch_and_xor_8): New function.
            (__sync_fetch_and_nand_8): New function.
            (__do_and_fetch): New macro.
            (__atomic_do_and_fetch): Use __do_and_fetch.
            (__sync_do_and_fetch): New macro.
            (__sync_add_and_fetch_4): New function.
            (__sync_sub_and_fetch_4): New function.
            (__sync_or_and_fetch_4): New function.
            (__sync_and_and_fetch_4): New function.
            (__sync_xor_and_fetch_4): New function.
            (__sync_nand_and_fetch_4): New function.
            (__sync_add_and_fetch_8): New function.
            (__sync_sub_and_fetch_8): New function.
            (__sync_or_and_fetch_8): New function.
            (__sync_and_and_fetch_8): New function.
            (__sync_xor_and_fetch_8): New function.
            (__sync_nand_and_fetch_8): New function.
            (__sync_exchange_methods): New macro.
            (__sync_val_compare_and_swap_4): New function.
            (__sync_bool_compare_and_swap_4): New function.
            (__sync_lock_test_and_test_4): New function.
            (__sync_val_compare_and_swap_8): New function.
            (__sync_bool_compare_and_swap_8): New function.
            (__sync_lock_test_and_test_8): New function.
            (__subword_cmpxchg_body): New macro.
            (__atomic_compare_exchange_1): Use __subword_cmpxchg_body.
            (__atomic_compare_exchange_2): Ditto.
            (__sync_subword_cmpxchg): New macro.
            (__sync_val_compare_and_swap_1): New function.
            (__sync_bool_compare_and_swap_1): New function.
            (__sync_val_compare_and_swap_2): New function.
            (__sync_bool_compare_and_swap_2): New function.
            (__atomic_subword): Rename to ...
            (__subword): ... New name.
            (__atomic_subword_fetch): Use __subword.
            (__sync_subword_fetch): New macro.
            (__sync_fetch_and_add_1): New function.
            (__sync_fetch_and_sub_1): New function.
            (__sync_fetch_and_or_1): New function.
            (__sync_fetch_and_and_1): New function.
            (__sync_fetch_and_xor_1): New function.
            (__sync_fetch_and_nand_1): New function.
            (__sync_fetch_and_add_2): New function.
            (__sync_fetch_and_sub_2): New function.
            (__sync_fetch_and_or_2): New function.
            (__sync_fetch_and_and_2): New function.
            (__sync_fetch_and_xor_2): New function.
            (__sync_fetch_and_nand_2): New function.
            (__sync_add_and_fetch_1): New function.
            (__sync_sub_and_fetch_1): New function.
            (__sync_or_and_fetch_1): New function.
            (__sync_and_and_fetch_1): New function.
            (__sync_xor_and_fetch_1): New function.
            (__sync_nand_and_fetch_1): New function.
            (__sync_add_and_fetch_2): New function.
            (__sync_sub_and_fetch_2): New function.
            (__sync_or_and_fetch_2): New function.
            (__sync_and_and_fetch_2): New function.
            (__sync_xor_and_fetch_2): New function.
            (__sync_nand_and_fetch_2): New function.
            (__atomic_subword_lock): Use __subword.
            (__sync_subword_lock): New macro.
            (__sync_lock_test_and_set_1): New function.
            (__sync_lock_test_and_set_2): New function.

From-SVN: r207087
2014-01-25 20:35:56 +00:00
Walter Lee
4d6d3bc532 atomic.c (BIT_OFFSET): Define.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (BIT_OFFSET): Define.
            (__atomic_subword_cmpxchg): Use BIT_OFFSET.
            (__atomic_subword): Ditto.

From-SVN: r207086
2014-01-25 20:34:42 +00:00
Walter Lee
cbd9890e93 atomic.c (__atomic_do_and_fetch): Add a prefix op argument.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilepro/atomic.c (__atomic_do_and_fetch): Add a
            prefix op argument.
            (__atomic_nand_fetch_4): Add prefix op.
            (__atomic_nand_fetch_8): Ditto.

From-SVN: r207085
2014-01-25 20:33:28 +00:00
Walter Lee
6bb0e2489c sync.md (atomic_fetch_sub): Fix negation and avoid clobbering a live register.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/sync.md (atomic_fetch_sub): Fix negation and
            avoid clobbering a live register.

From-SVN: r207084
2014-01-25 20:31:38 +00:00
Walter Lee
dab03fe308 tilegx-c.c (tilegx_cpu_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx-c.c (tilegx_cpu_cpp_builtins): 
            Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
            * config/tilegx/tilepro-c.c (tilepro_cpu_cpp_builtins): 
            Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2,4,8}.

From-SVN: r207083
2014-01-25 20:27:55 +00:00
Walter Lee
905c20c123 tilegx.c (tilegx_function_arg): Start 16-byte arguments on even registers.
2014-01-25  Walter Lee  <walt@tilera.com>

            * config/tilegx/tilegx.c (tilegx_function_arg): Start 16-byte
            arguments on even registers.
            (tilegx_function_arg_advance): Ditto.
            (tilegx_gimplify_va_arg_expr): Align 16-byte var args to
            STACK_BOUNDARY.
            * config/tilegx/tilegx.h (STACK_BOUNDARY): Change to 16 bytes.
            (BIGGEST_ALIGNMENT): Ditto.
            (BIGGEST_FIELD_ALIGNMENT): Ditto.

From-SVN: r207082
2014-01-25 20:26:31 +00:00