1. 27 Jan, 2014 24 commits
    • mklog: Fix description at top of file. · 64688189
      2014-01-27  Jonathan Wakely  <jwakely@redhat.com>
      
      	* mklog: Fix description at top of file.
      
      From-SVN: r207153
      Jonathan Wakely committed
    • * ipa-inline.c (inline_small_functions): Fix typo. · a99be3c9
      From-SVN: r207151
      Jeff Law committed
    • avx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New. · d256b866
      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
      Ilya Tocar committed
    • avx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New. · e711dffd
      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
      Kirill Yukhin committed
    • re PR libstdc++/59215 (tsan: warning in shared_ptr_base.h) · fb1ca954
      	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
      Jonathan Wakely committed
    • [multiple changes] · b1d12996
      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
      Arnaud Charlet committed
    • sem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type has a dynamic predicate... · fcadacf7
      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
      Ed Schonberg committed
    • [multiple changes] · 8b4230c8
      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
      Arnaud Charlet committed
    • [multiple changes] · 29077c18
      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
      Arnaud Charlet committed
    • [multiple changes] · 2757c5bf
      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
      Arnaud Charlet committed
    • [multiple changes] · 00ba7be8
      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
      Arnaud Charlet committed
    • [multiple changes] · 8fdafe44
      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
      Arnaud Charlet committed
    • [multiple changes] · b3a69993
      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
      Arnaud Charlet committed
    • [multiple changes] · f1bd0415
      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
      Arnaud Charlet committed
    • re PR bootstrap/59934 (Bootstrap fail since r206941: expmed.h:252:33: error:… · 904e5ccd
      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
      Jakub Jelinek committed
    • [multiple changes] · 48b08b18
      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
      Arnaud Charlet committed
    • sem_prag.adb (Set_Convention_From_Pragma): Check that convention Ghost can only apply to functions. · 1b8b4638
      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
      Robert Dewar committed
    • gnat_ugn.texi: Add Short_Enums to documentation of -gnatet/-gnateT. · 42959b0c
      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
      Robert Dewar committed
    • [ARM] fix big.LITTLE spec rewriting · 84e90123
      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
      James Greenhalgh committed
    • Core DR 475 PR c++/41174 PR c++/59224 · ccc2e73c
      	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
      Jason Merrill committed
    • [PATCH - obvious] Remove unused create_gimple_tmp declaration · c6f6157a
      gcc/
      
      	* gimple-builder.h (create_gimple_tmp): Delete.
      
      From-SVN: r207127
      James Greenhalgh committed
    • sh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after words comparisons. · 770516c9
      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
      Christian Bruel committed
    • configure.ac (*-*-lynxos*): Delete. · ba3ca098
      	* configure.ac (*-*-lynxos*): Delete.
      	* configure: Regenerate.
      
      From-SVN: r207125
      Eric Botcazou committed
    • Daily bump. · 3ee2753b
      From-SVN: r207124
      GCC Administrator committed
  2. 26 Jan, 2014 8 commits
  3. 25 Jan, 2014 8 commits
    • Fix pilot error in previous checkin · 5011ff86
      From-SVN: r207098
      Eric Botcazou committed
    • atomic.c: Include tconfig.h. · a5420aa4
      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
      Walter Lee committed
    • atomic.c (pre_atomic_barrier): Mark inline. · 24534912
      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
      Walter Lee committed
    • atomic.c (BIT_OFFSET): Define. · 4d6d3bc5
      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
      Walter Lee committed
    • atomic.c (__atomic_do_and_fetch): Add a prefix op argument. · cbd9890e
      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
      Walter Lee committed
    • sync.md (atomic_fetch_sub): Fix negation and avoid clobbering a live register. · 6bb0e248
      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
      Walter Lee committed
    • tilegx-c.c (tilegx_cpu_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}. · dab03fe3
      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
      Walter Lee committed
    • tilegx.c (tilegx_function_arg): Start 16-byte arguments on even registers. · 905c20c1
      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
      Walter Lee committed