- 28 Jan, 2014 18 commits
-
-
2014-01-28 Richard Biener <rguenther@suse.de> PR tree-optimization/58742 * tree-ssa-forwprop.c (associate_plusminus): Handle pointer subtraction of the form (T)(P + A) - (T)P. From-SVN: r207194
Richard Biener committed -
* config/arm/arm.c (arm_new_rtx_costs): Remove useless statement at const_int_cost. From-SVN: r207193
Kyrylo Tkachov committed -
2014-01-28 Richard Biener <rguenther@suse.de> Revert 2014-01-28 Richard Biener <rguenther@suse.de> PR rtl-optimization/45364 PR rtl-optimization/59890 * var-tracking.c (local_get_addr_clear_given_value): Handle already cleared slot. (val_reset): Handle not allocated local_get_addr_cache. (vt_find_locations): Use post-order on the inverted CFG. From-SVN: r207182
Richard Biener committed -
2014-01-28 Richard Biener <rguenther@suse.de> * tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps): Remove. From-SVN: r207181
Richard Biener committed -
2014-01-28 Jonathan Wakely <jwakely@redhat.com> Kyle Lippincott <spectral@google.com> PR libstdc++/59656 * include/bits/shared_ptr.h (shared_ptr): Add new non-throwing constructor and grant friendship to weak_ptr. (weak_ptr::lock()): Use new constructor. * include/bits/shared_ptr_base.h (_Sp_counted_base::_M_add_ref_lock_nothrow()): Declare new function and define specializations. (__shared_count): Add new non-throwing constructor. (__shared_ptr): Add new non-throwing constructor and grant friendship to __weak_ptr. (__weak_ptr::lock()): Use new constructor. * testsuite/20_util/shared_ptr/cons/43820_neg.cc: Adjust dg-error. * testsuite/20_util/shared_ptr/cons/void_neg.cc: Likewise. Co-Authored-By: Kyle Lippincott <spectral@google.com> From-SVN: r207180
Jonathan Wakely committed -
2014-01-28 Richard Biener <rguenther@suse.de> PR rtl-optimization/45364 PR rtl-optimization/59890 * var-tracking.c (local_get_addr_clear_given_value): Handle already cleared slot. (val_reset): Handle not allocated local_get_addr_cache. (vt_find_locations): Use post-order on the inverted CFG. From-SVN: r207172
Richard Biener committed -
* Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS. * configure.ac <recursive call for build != host>: Define GENERATOR_FILE. Comment. Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and LD_FOR_BUILD too. * configure: Regenerate. From-SVN: r207171
Alan Modra committed -
PR c++/59823 Core DR 1138 * call.c (reference_binding): Pass LOOKUP_NO_TEMP_BIND for list-initialization. A conversion to rvalue ref that involves an lvalue-rvalue conversion is bad. (convert_like_real): Give helpful error message. From-SVN: r207170
Jason Merrill committed -
PR c++/54652 * decl.c (duplicate_decls): Always use oldtype for TYPE_DECL. From-SVN: r207169
Jason Merrill committed -
PR c++/58504 * pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for types. From-SVN: r207168
Jason Merrill committed -
PR c++/58606 * pt.c (template_parm_to_arg): Call convert_from_reference. (tsubst_template_arg): Don't strip reference refs. From-SVN: r207167
Jason Merrill committed -
PR c++/58639 * call.c (build_aggr_conv): Reject value-initialization of reference. From-SVN: r207166
Jason Merrill committed -
PR c++/58812 * call.c (convert_like_real): Give helpful error about excess braces for ck_rvalue of scalar type. From-SVN: r207165
Jason Merrill committed -
Core DR 1288 * call.c (reference_binding): Only elide braces if the single element is reference-related. From-SVN: r207164
Jason Merrill committed -
PR c++/58814 * typeck.c (cp_build_modify_expr): Make the RHS an rvalue before stabilizing. From-SVN: r207163
Jason Merrill committed -
PR c++/58837 * typeck.c (cp_truthvalue_conversion): Use explicit comparison for FUNCTION_DECL. From-SVN: r207162
Jason Merrill committed -
PR c++/59097 * decl.c (compute_array_index_type): Don't call maybe_constant_value for a non-integral expression. From-SVN: r207161
Jason Merrill committed -
From-SVN: r207159
GCC Administrator committed
-
- 27 Jan, 2014 22 commits
-
-
2014-01-27 Steve Ellcey <sellcey@mips.com> * gcc.target/mips/pr52125.c: Add -mno-optgp option. From-SVN: r207156
Steve Ellcey committed -
* 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
Allan Sandfeld Jensen committed -
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
Steve Ellcey committed -
2014-01-27 Jonathan Wakely <jwakely@redhat.com> * mklog: Fix description at top of file. From-SVN: r207153
Jonathan Wakely committed -
From-SVN: r207151
Jeff Law committed -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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: 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 -
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 -
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 -
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 -
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
-