Jason Merrill [Tue, 28 Jan 2014 04:30:38 +0000 (23:30 -0500)]
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
Jason Merrill [Tue, 28 Jan 2014 04:30:26 +0000 (23:30 -0500)]
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
Jason Merrill [Tue, 28 Jan 2014 04:30:16 +0000 (23:30 -0500)]
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
GCC Administrator [Tue, 28 Jan 2014 00:16:30 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r207159
Steve Ellcey [Mon, 27 Jan 2014 23:05:05 +0000 (23:05 +0000)]
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
Allan Sandfeld Jensen [Mon, 27 Jan 2014 22:45:02 +0000 (23:45 +0100)]
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
Steve Ellcey [Mon, 27 Jan 2014 22:38:42 +0000 (22:38 +0000)]
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
Jonathan Wakely [Mon, 27 Jan 2014 21:43:09 +0000 (21:43 +0000)]
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
Jeff Law [Mon, 27 Jan 2014 21:00:04 +0000 (14:00 -0700)]
* ipa-inline.c (inline_small_functions): Fix typo.
From-SVN: r207151
Ilya Tocar [Mon, 27 Jan 2014 19:25:32 +0000 (19:25 +0000)]
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
Kirill Yukhin [Mon, 27 Jan 2014 19:21:02 +0000 (19:21 +0000)]
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
Jonathan Wakely [Mon, 27 Jan 2014 17:56:40 +0000 (17:56 +0000)]
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
Arnaud Charlet [Mon, 27 Jan 2014 16:58:19 +0000 (17:58 +0100)]
[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
Ed Schonberg [Mon, 27 Jan 2014 16:55:30 +0000 (16:55 +0000)]
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
Arnaud Charlet [Mon, 27 Jan 2014 16:54:37 +0000 (17:54 +0100)]
[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
Arnaud Charlet [Mon, 27 Jan 2014 16:52:29 +0000 (17:52 +0100)]
[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
Arnaud Charlet [Mon, 27 Jan 2014 16:49:44 +0000 (17:49 +0100)]
[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
Arnaud Charlet [Mon, 27 Jan 2014 16:43:29 +0000 (17:43 +0100)]
[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
Arnaud Charlet [Mon, 27 Jan 2014 16:39:57 +0000 (17:39 +0100)]
[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
Arnaud Charlet [Mon, 27 Jan 2014 16:37:28 +0000 (17:37 +0100)]
[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
Arnaud Charlet [Mon, 27 Jan 2014 16:35:08 +0000 (17:35 +0100)]
[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
Jakub Jelinek [Mon, 27 Jan 2014 16:33:39 +0000 (17:33 +0100)]
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
Arnaud Charlet [Mon, 27 Jan 2014 16:31:19 +0000 (17:31 +0100)]
[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
Robert Dewar [Mon, 27 Jan 2014 16:28:28 +0000 (16:28 +0000)]
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
Robert Dewar [Mon, 27 Jan 2014 16:27:02 +0000 (16:27 +0000)]
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
James Greenhalgh [Mon, 27 Jan 2014 15:51:42 +0000 (15:51 +0000)]
[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
Jason Merrill [Mon, 27 Jan 2014 13:57:39 +0000 (08:57 -0500)]
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
James Greenhalgh [Mon, 27 Jan 2014 09:39:21 +0000 (09:39 +0000)]
[PATCH - obvious] Remove unused create_gimple_tmp declaration
gcc/
* gimple-builder.h (create_gimple_tmp): Delete.
From-SVN: r207127
Christian Bruel [Mon, 27 Jan 2014 08:39:49 +0000 (09:39 +0100)]
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
Eric Botcazou [Mon, 27 Jan 2014 08:18:29 +0000 (08:18 +0000)]
configure.ac (*-*-lynxos*): Delete.
* configure.ac (*-*-lynxos*): Delete.
* configure: Regenerate.
From-SVN: r207125
GCC Administrator [Mon, 27 Jan 2014 00:17:04 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r207124
John David Anglin [Sun, 26 Jan 2014 16:30:27 +0000 (16:30 +0000)]
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
John David Anglin [Sun, 26 Jan 2014 16:07:28 +0000 (16:07 +0000)]
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
Mikael Morin [Sun, 26 Jan 2014 14:12:50 +0000 (14:12 +0000)]
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
Jonathan Wakely [Sun, 26 Jan 2014 11:23:07 +0000 (11:23 +0000)]
acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
* acinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
* configure: Regenerate.
From-SVN: r207116
Jonathan Wakely [Sun, 26 Jan 2014 11:22:58 +0000 (11:22 +0000)]
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
Arnaud Charlet [Sun, 26 Jan 2014 10:05:39 +0000 (10:05 +0000)]
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
Arnaud Charlet [Sun, 26 Jan 2014 10:04:03 +0000 (11:04 +0100)]
Complete previous changes.
From-SVN: r207113
GCC Administrator [Sun, 26 Jan 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r207110
Eric Botcazou [Sat, 25 Jan 2014 22:41:48 +0000 (22:41 +0000)]
Fix pilot error in previous checkin
From-SVN: r207098
Walter Lee [Sat, 25 Jan 2014 20:37:01 +0000 (20:37 +0000)]
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
Walter Lee [Sat, 25 Jan 2014 20:35:56 +0000 (20:35 +0000)]
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
Walter Lee [Sat, 25 Jan 2014 20:34:42 +0000 (20:34 +0000)]
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
Walter Lee [Sat, 25 Jan 2014 20:33:28 +0000 (20:33 +0000)]
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
Walter Lee [Sat, 25 Jan 2014 20:31:38 +0000 (20:31 +0000)]
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
Walter Lee [Sat, 25 Jan 2014 20:27:55 +0000 (20:27 +0000)]
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
Walter Lee [Sat, 25 Jan 2014 20:26:31 +0000 (20:26 +0000)]
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
Walter Lee [Sat, 25 Jan 2014 20:24:57 +0000 (20:24 +0000)]
tilegx.c (tilegx_gen_bundles): Delete barrier insns after bundles have been formed.
2014-01-25 Walter Lee <walt@tilera.com>
* config/tilegx/tilegx.c (tilegx_gen_bundles): Delete barrier
insns after bundles have been formed.
* config/tilegx/tilegx.md (tile_network_barrier): Update
comment.
From-SVN: r207081
Walter Lee [Sat, 25 Jan 2014 20:23:42 +0000 (20:23 +0000)]
tilegx.c (tilegx_expand_builtin): Set PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
2014-01-25 Walter Lee <walt@tilera.com>
* config/tilegx/tilegx.c (tilegx_expand_builtin): Set
PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
* config/tilepro/tilepro.c (tilepro_expand_builtin): Ditto.
From-SVN: r207080
Richard Sandiford [Sat, 25 Jan 2014 20:16:14 +0000 (20:16 +0000)]
constraints.md (kl): Delete.
gcc/
* config/mips/constraints.md (kl): Delete.
* config/mips/mips.md (divmod<mode>4, udivmod<mode>4): Turn into
define expands, using...
(divmod<mode>4_mips16, udivmod<mode>4_mips16): ...these new
instructions for MIPS16.
(*divmod<mode>4, *udivmod<mode>4): New patterns, taken from the
non-MIPS16 version of the old divmod<mode>4 and udivmod<mode>4.
From-SVN: r207079
Walter Lee [Sat, 25 Jan 2014 20:14:59 +0000 (20:14 +0000)]
tilepro.md (ctzdi2): Use register_operand predicate.
2014-01-25 Walter Lee <walt@tilera.com>
* config/tilepro/tilepro.md (ctzdi2): Use register_operand
predicate.
(clzdi2): Ditto.
(ffsdi2): Ditto.
From-SVN: r207078
Walter Lee [Sat, 25 Jan 2014 20:12:23 +0000 (20:12 +0000)]
tilegx.c (tilegx_expand_to_rtl_hook): New.
2014-01-25 Walter Lee <walt@tilera.com>
* config/tilegx/tilegx.c (tilegx_expand_to_rtl_hook): New.
(TARGET_EXPAND_TO_RTL_HOOK): Define.
From-SVN: r207077
Richard Sandiford [Sat, 25 Jan 2014 20:03:16 +0000 (20:03 +0000)]
rtlanal.c (canonicalize_condition): Split out duplicated mode check.
gcc/
* rtlanal.c (canonicalize_condition): Split out duplicated mode check.
Handle XOR.
gcc/testsuite/
* gcc.dg/unroll_1.c: Add -fenable-rtl-loop2.
From-SVN: r207076
Bernd Edlinger [Sat, 25 Jan 2014 18:04:46 +0000 (18:04 +0000)]
vect-nop-move.c (main): Check for vect runtime.
2014-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
* gcc.dg/vect/vect-nop-move.c (main): Check for vect runtime.
From-SVN: r207075
Eric Botcazou [Sat, 25 Jan 2014 11:01:05 +0000 (11:01 +0000)]
* gcc-interface/Makefile.in: Fix oversight.
From-SVN: r207074
Eric Botcazou [Sat, 25 Jan 2014 10:51:47 +0000 (10:51 +0000)]
utils.c (convert_to_fat_pointer): Un-obfuscate the conversion from a thin pointer with a shifted value.
* gcc-interface/utils.c (convert_to_fat_pointer): Un-obfuscate the
conversion from a thin pointer with a shifted value.
* gcc-interface/utils2.c (gnat_build_constructor): Propagate the
read-only flag from the values onto the result.
(gnat_invariant_expr): Accept read-only CONSTRUCTORs.
From-SVN: r207073
Tristan Gingold [Sat, 25 Jan 2014 10:42:04 +0000 (10:42 +0000)]
decl.c (gnat_to_gnu_entity): Always build a variable for E_Variable with a pragma Linker_Section.
* gcc-interface/decl.c (gnat_to_gnu_entity): Always build a variable
for E_Variable with a pragma Linker_Section.
From-SVN: r207072
Robert Dewar [Sat, 25 Jan 2014 10:34:40 +0000 (10:34 +0000)]
decl.c (gnat_to_gnu_param): Make sure an Out parameter with Default_Value aspect is passed in by copy.
* gcc-interface/decl.c (gnat_to_gnu_param): Make sure an Out parameter
with Default_Value aspect is passed in by copy.
From-SVN: r207071
GCC Administrator [Sat, 25 Jan 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.
From-SVN: r207069
Jakub Jelinek [Fri, 24 Jan 2014 23:18:26 +0000 (00:18 +0100)]
print-rtl.c (in_call_function_usage): New var.
* print-rtl.c (in_call_function_usage): New var.
(print_rtx): When in CALL_INSN_FUNCTION_USAGE, always print
EXPR_LIST mode as mode and not as reg note name.
From-SVN: r207066
Jakub Jelinek [Fri, 24 Jan 2014 23:17:25 +0000 (00:17 +0100)]
re PR middle-end/59561 (warning: iteration 4 invokes undefined behavior)
PR middle-end/59561
* cfgloopmanip.c (copy_loop_info): If
loop->warned_aggressive_loop_optimizations, make sure
the flag is set in target loop too.
From-SVN: r207065
Balaji V. Iyer [Fri, 24 Jan 2014 23:13:49 +0000 (23:13 +0000)]
Replace flag_enable_cilkplus with flag_cilkplus.
gcc/ChangeLog
+2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ * builtins.c (is_builtin_name): Renamed flag_enable_cilkplus to
+ flag_cilkplus.
+ * builtins.def: Likewise.
+ * cilk.h (fn_contains_cilk_spawn_p): Likewise.
+ * cppbuiltin.c (define_builtin_macros_for_compilation_flags): Likewise.
+ * ira.c (ira_setup_eliminable_regset): Likewise.
+ * omp-low.c (gate_expand_omp): Likewise.
+ (execute_lower_omp): Likewise.
+ (diagnose_sb_0): Likewise.
+ (gate_diagnose_omp_blocks): Likewise.
+ (simd_clone_clauses_extract): Likewise.
+ (gate): Likewise.
+
gcc/c-family/ChangeLog
+2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ * c-common.c (c_define_builtins): Replaced flag_enable_cilkplus with
+ flag_cilkplus.
+ * c-pragma.c (init_pragma): Likewise.
+ * c.opt: Likewise.
+
gcc/c/ChangeLog
+2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ * c-parser.c (c_parser_declaration_or_fndef): Replaced
+ flag_enable_cilkplus with flag_cilkplus.
+ (c_parser_direct_declarator_inner): Likewise.
+ (c_parser_attribute_any_word): Likewise.
+ (c_parser_attributes): Likewise.
+ (c_parser_compound_statement): Likewise.
+ (c_parser_statement_after_labels): Likewise.
+ (c_parser_if_statement): Likewise.
+ (c_parser_switch_statement): Likewise.
+ (c_parser_do_statement): Likewise.
+ (c_parser_for_statement): Likewise.
+ (c_parser_unary_expression): Likewise.
+ (c_parser_postfix_expression): Likewise.
+ (c_parser_postfix_expression_after_primary): Likewise.
+ (c_parser_postfix_expression_after_primary): Likewise.
+ (c_parser_omp_clause_name): Likewise.
+ (c_finish_omp_declare_simd): Likewise.
+ (c_parser_cilk_verify_simd): Likewise.
+ * c-typeck.c (build_array_ref): Likewise.
+ (build_function_call_vec): Likewise.
+ (convert_arguments): Likewise.
+ (build_compound_expr): Likewise.
+ (c_finish_return): Likewise.
+ (c_finish_if_stmt): Likewise.
+ (c_finish_loop): Likewise.
+ (build_binary_op): Likewise.
+
gcc/lto/ChangeLog
+2014-01-24 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ * lto-lang.c (lto_init): Replaced flag_enable_cilkplus with
+ flag_cilkplus.
+
From-SVN: r207064
Chris Manghane [Fri, 24 Jan 2014 22:49:06 +0000 (22:49 +0000)]
compiler: Use backend interface for unary expressions.
* go-gcc.cc (Gcc_backend::unary_expression): New function.
From-SVN: r207063
Bill Schmidt [Fri, 24 Jan 2014 21:32:38 +0000 (21:32 +0000)]
rs6000.c (rs6000_expand_vec_perm_const_1): Remove correction for little endian...
2014-01-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_expand_vec_perm_const_1): Remove
correction for little endian...
* config/rs6000/vsx.md (vsx_xxpermdi2_<mode>_1): ...and move it to
here.
From-SVN: r207062
Jeff Law [Fri, 24 Jan 2014 20:51:22 +0000 (13:51 -0700)]
re PR tree-optimization/59919 (ICE in process_assert_insertions_for, at tree-vrp.c:6096)
PR tree-optimization/59919
* tree-vrp.c (find_assert_locations_1): Do not register asserts
for non-returning calls.
PR tree-optimization/59919
* gcc.c-torture/compile/pr59919.c: New test.
From-SVN: r207061
Ed Smith-Rowland [Fri, 24 Jan 2014 20:15:00 +0000 (20:15 +0000)]
re PR libstdc++/59531 (string_view overrun in copy operation)
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
PR libstdc++/59531
* testsuite/experimental/string_view/operations/copy/char/1.cc: New.
* testsuite/experimental/string_view/operations/copy/wchar_t/1.cc: New.
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
Peter A. Bigot <pab@pabigot.com>
PR libstdc++/59531
* include/experimental/string_view
(copy(_CharT*, size_type, size_type) const): Correct throw string.
Correct copy start location.
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
Peter A. Bigot <pab@pabigot.com>
PR libstdc++/59530
* include/experimental/string_view (operator[](size_type) const):
Fix one-off index error in debug check.
* testsuite/experimental/string_view/element_access/char/1.cc: Don't
test basic_string_view at size().
* testsuite/experimental/string_view/element_access/wchar_t/1.cc: Ditto.
2014-01-24 Ed Smith-Rowland <3dw4rd@verizon.net>
Peter A. Bigot <pab@pabigot.com>
PR libstdc++/59529
* include/experimental/string_view
(basic_string_view(const _CharT*, size_type)): Don't care if len == 0.
* testsuite/experimental/string_view/operations/substr/char/1.cc:
Comment out catch of out_of_range; No terminating null
in basic_string_view. Check begin == end.
* testsuite/experimental/string_view/operations/substr/wchar_t/1.cc:
Ditto.
Co-Authored-By: Peter A. Bigot <pab@pabigot.com>
From-SVN: r207060
Jonathan Wakely [Fri, 24 Jan 2014 20:08:20 +0000 (20:08 +0000)]
re PR libstdc++/59548 (Abort after copying std::unordered_map in debug mode)
PR libstdc++/59548
* include/debug/safe_base.h (_Safe_sequence_base): Define copy
constructor to prevent it being implicitly defined as deleted, but
do not copy anything.
* include/debug/safe_unordered_base.h (_Safe_unordered_container_base):
Define copy and move constructors similar to _Safe_sequence_base's.
* testsuite/23_containers/unordered_map/59548.cc: New.
From-SVN: r207059
Jason Merrill [Fri, 24 Jan 2014 19:05:39 +0000 (14:05 -0500)]
re PR c++/58550 (][c++11] ICE with auto in function return type and lto)
PR c++/58550
* decl.c (grokdeclarator): Turn pedwarn about auto return type in
c++11 into error.
From-SVN: r207055
Jason Merrill [Fri, 24 Jan 2014 19:05:32 +0000 (14:05 -0500)]
typo
From-SVN: r207054
James Greenhalgh [Fri, 24 Jan 2014 17:14:35 +0000 (17:14 +0000)]
[AArch64] fix big.LITTLE spec rewriting
gcc/
* common/config/aarch64/aarch64-common.c
(aarch64_rewrite_mcpu): Handle multiple names.
* config/aarch64/aarch64.h
(BIG_LITTLE_SPEC): Do not discard mcpu switches.
From-SVN: r207053
Jason Merrill [Fri, 24 Jan 2014 17:09:07 +0000 (12:09 -0500)]
re PR c++/59886 (C++ array init optimization results in RANGE_EXPRs in assignments)
PR c++/59886
PR c++/59659
* g++.dg/opt/value-init2.C: Remove.
From-SVN: r207052
Jason Merrill [Fri, 24 Jan 2014 16:47:54 +0000 (11:47 -0500)]
re PR c++/59886 (C++ array init optimization results in RANGE_EXPRs in assignments)
PR c++/59886
PR c++/59659
* typeck2.c (process_init_constructor_array): Don't create
RANGE_EXPR yet.
From-SVN: r207051
Jakub Jelinek [Fri, 24 Jan 2014 16:47:31 +0000 (17:47 +0100)]
typeck2.c (split_nonconstant_init_1): Fix num_split_elts handling for RANGE_ARRAY case.
* typeck2.c (split_nonconstant_init_1): Fix num_split_elts
handling for RANGE_ARRAY case.
From-SVN: r207050
Arnaud Charlet [Fri, 24 Jan 2014 16:22:02 +0000 (17:22 +0100)]
[multiple changes]
2014-01-24 Eric Botcazou <ebotcazou@adacore.com>
* set_targ.adb: Set Short_Enums.
* gcc-interface/lang.opt (fshort-enums): New option.
* gcc-interface/misc.c (gnat_handle_option): Handle it.
(gnat_post_options): Do not modify the global settings.
2014-01-24 Robert Dewar <dewar@adacore.com>
* g-rannum.ads, g-rannum.adb (Random_Ordinary_Fixed): New generic
function.
(Random_Decimal_Fixed): New generic function.
* s-rannum.ads: Minor comment clarifications.
From-SVN: r207049
Paolo Carlini [Fri, 24 Jan 2014 15:45:14 +0000 (15:45 +0000)]
re PR c++/57524 (ICE: in timevar_start, at timevar.c:343)
/cp
2014-01-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57524
* name-lookup.c (push_using_directive): Use timevar_cond_start.
/testsuite
2014-01-24 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/57524
* g++.dg/ext/timevar2.C: New.
From-SVN: r207047
Dodji Seketeli [Fri, 24 Jan 2014 15:34:03 +0000 (15:34 +0000)]
Avoid crashing when an input file could not be opened
* input.c (add_file_to_cache_tab): Handle the case where fopen
returns NULL.
Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
From-SVN: r207046
Robert Dewar [Fri, 24 Jan 2014 15:18:46 +0000 (15:18 +0000)]
back_end.adb: Remove Short_Enums handling (handled in Ttypes/Get_Targ now) Minor added comments.
2014-01-24 Robert Dewar <dewar@adacore.com>
* back_end.adb: Remove Short_Enums handling (handled in
Ttypes/Get_Targ now) Minor added comments.
* freeze.adb: Change name Short_Enums_On_Target to
Target_Short_Enums.
* get_targ.ads, get_targ.adb (Get_Short_Enums): New function.
* opt.ads: Minor comment updates.
* sem_ch13.adb: Change name Short_Enums_On_Target to
Target_Short_Enums.
* set_targ.adb: Set Short_Enums from gcc back end.
* set_targ.ads (Short_Enums): New variable.
* targparm.ads, targparm.adb: Remove Short_Enums entries (handled in
Ttypes/Get_Targ now).
* ttypes.ads (Target_Short_Enums): New constant boolean switch
From-SVN: r207045
Pascal Obry [Fri, 24 Jan 2014 15:16:49 +0000 (15:16 +0000)]
g-sercom-mingw.adb: Fix serial port name for port number > 10.
2014-01-24 Pascal Obry <obry@adacore.com>
* g-sercom-mingw.adb: Fix serial port name for port number > 10.
From-SVN: r207044
Gary Dismukes [Fri, 24 Jan 2014 15:15:04 +0000 (15:15 +0000)]
exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when comparing it with Ctrl_Arg...
2014-01-24 Gary Dismukes <dismukes@adacore.com>
* exp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when
comparing it with Ctrl_Arg, since Ctrl_Arg may have had qualification
stripped off.
From-SVN: r207043
Arnaud Charlet [Fri, 24 Jan 2014 15:02:48 +0000 (16:02 +0100)]
[multiple changes]
2014-01-24 Robert Dewar <dewar@adacore.com>
* sinfo.ads, make.adb, prj-env.adb: Minor reformatting.
2014-01-24 Vincent Celier <celier@adacore.com>
* prj.adb (Add_Aggregated_Project): Do not add a project in
the list if it is already there.
2014-01-24 Yannick Moy <moy@adacore.com>
* lib-xref-spark_specific.adb (Enclosing_Subprogram_Or_Package):
Correct the search for a subrogram declaration to which a pragma is
attached.
2014-01-24 Bob Duff <duff@adacore.com>
* gnat_ugn.texi: Document --decimal-grouping and
--based-grouping switches in gnatpp.
From-SVN: r207042
Arnaud Charlet [Fri, 24 Jan 2014 15:00:26 +0000 (16:00 +0100)]
sinfo.ads: Documentation update.
2014-01-24 Ed Schonberg <schonberg@adacore.com>
* sinfo.ads: Documentation update.
2014-01-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Constant_Redeclaration): New declaration is
illegal if previous one has an initial expression that is an
aggregate expanded into assignments.
2014-01-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Loop_Parameter_Specification): Small
code reorganization to remove spurious warning on a loop with
an array element iterator that has a null range.
From-SVN: r207041
Robert Dewar [Fri, 24 Jan 2014 14:53:30 +0000 (14:53 +0000)]
prj.adb, [...]: Add comment, minor code clean ups.
2014-01-24 Robert Dewar <dewar@adacore.com>
* prj.adb, prj-env.adb, back_end.adb: Add comment, minor code clean ups.
From-SVN: r207040
Ed Schonberg [Fri, 24 Jan 2014 14:51:19 +0000 (14:51 +0000)]
sem_ch3.adb (Analyze_Declarations): At the end of an appropriate declarative part...
2014-01-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch3.adb (Analyze_Declarations): At the end of an
appropriate declarative part, call Freeze_All from the first
declaration in the scope, not from the first unfrozen one. This
is necessary to apply visibility checks to entities with delayed
aspects. Otherwise, in the presence of instantiations and cleanups
that they may generate, the delayed aspects may be analyzed too
late and produce spurious visibility errors.
* sem_attr.adb: Place etype on range.
* sem_ch6.adb: Documentation expression functions.
From-SVN: r207039
Tristan Gingold [Fri, 24 Jan 2014 14:48:48 +0000 (14:48 +0000)]
misc.c (flag_short_enums): Declare.
2014-01-24 Tristan Gingold <gingold@adacore.com>
* gcc-interface/misc.c (flag_short_enums): Declare.
(gnat_post_options): Set it.
From-SVN: r207037
Arnaud Charlet [Fri, 24 Jan 2014 14:47:12 +0000 (15:47 +0100)]
[multiple changes]
2014-01-24 Robert Dewar <dewar@adacore.com>
* exp_ch7.adb: Minor change of Indices to Indexes (preferred
terminology in compiler).
2014-01-24 Robert Dewar <dewar@adacore.com>
* scans.ads: Remove Tok_Raise from Sterm, Eterm, After_SM
categories, now that Ada 95 supports raise expressions.
2014-01-24 Robert Dewar <dewar@adacore.com>
* freeze.adb (Freeze_Enumeration_Type): Use new target parameter
Short_Enums_On_Target.
* sem_ch13.adb (Set_Enum_Esize): Take Short_Enums_On_Target
into account.
* targparm.ads, targparm.adb: Add new target parameter Short_Enums.
2014-01-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch5.adb (Analyze_Iterator_Specification): If subtype
indication is given explicity, check that it matches the array
component type or the container element type of the domain
of iteration.
2014-01-24 Tristan Gingold <gingold@adacore.com>
* back_end.adb (Scan_Compiler_Arguments): Set Short_Enums_On_Target.
2014-01-24 Vincent Celier <celier@adacore.com>
* prj-env.adb (Ada_Objects_Path): Use Ada_Objects_Path_No_Libs
to cache the result when Including_Libraries is False.
* prj-env.ads (Ada_Objects_Path): Update documentation
* prj.adb (Free (Project_Id)): Also free Ada_Objects_Path_No_Libs
(Get_Object_Directory): Return the Library_Ali_Dir only when
when Including_Libraries is True.
* prj.ads (Get_Object_Directory): Fix and complete documentation
(Project_Data): New component Ada_Objects_Path_No_Libs
From-SVN: r207036
Arnaud Charlet [Fri, 24 Jan 2014 14:35:45 +0000 (15:35 +0100)]
[multiple changes]
2014-01-24 Robert Dewar <dewar@adacore.com>
* checks.adb (Expr_Known_Valid): Result of fpt operator never
considered valid.
2014-01-24 Eric Botcazou <ebotcazou@adacore.com>
* back_end.adb: Minor fix in comment.
2014-01-24 Javier Miranda <miranda@adacore.com>
* sem_ch3.adb (Check_Abstract_Overriding): Code reestructuration
required to report the error in case of task types.
2014-01-24 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb: Additional index checking.
From-SVN: r207035
Arnaud Charlet [Fri, 24 Jan 2014 14:27:22 +0000 (15:27 +0100)]
[multiple changes]
2014-01-24 Ed Schonberg <schonberg@adacore.com>
* sem_attr.adb (Analyze_Attribute, case 'Update): Analyze
expressions in each component association, and for records note
the entity in each association choice, for subsequent resolution.
(Resolve_Attribute, case 'Update): Complete resolution of
expressions in each component association.
2014-01-24 Robert Dewar <dewar@adacore.com>
* sem.adb (Sem): Avoid premature reference to Current_Sem_Unit
(this was causing Is_Main_Unit_Or_Main_Unit_Spec to be set wrong,
leading to wrong handling of SPARK_Mode for library units).
2014-01-24 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set SPARK_Mode
on generic instances (do not consider them to be internally
generated)
2014-01-24 Doug Rupp <rupp@adacore.com>
* s-osinte-android.ads (pthread_sigmask): Import sigprocmask
vice pthread_sigmask.
2014-01-24 Vincent Celier <celier@adacore.com>
* prj.adb (Debug_Output (Str, Str2)): Output if verbosity is
not default.
2014-01-24 Vincent Celier <celier@adacore.com>
* prj-ext.adb (Add): Do not output anything when Silent is True,
whatever the verbosity. When Source is From_External_Attribute,
set the corresponding environment variable if it is not already set.
* prj-ext.ads (Add): New Boolean parameter Silent, defaulted
to False
* prj-proc.adb (Process_Expression_For_Associative_Array):
For attribute External, call Prj.Ext.Add with Silent set to
True for the child environment, to avoid useless output in non
default verbosity.
2014-01-24 Ed Schonberg <schonberg@adacore.com>
* sem_res.adb (Set_Slice_Subtype): Handle properly a discrete
range given by a subtype indication, and force evaluation of
the bounds, as for a simple range.
* exp_util.adb (Evaluate_Slice_Bounds): Utility to force evaluation
of bounds of slice for various kinds of discrete ranges.
(Evaluate_Name, Evaluate_Subtype_From_Expr): use
Evaluate_Slice_Bounds.
2014-01-24 Bob Duff <duff@adacore.com>
* s-taskin.ads (Activator): Make this Atomic, because
Activation_Is_Complete reads it, and that can be called
from any task. Previously, this component was only
modified by the activator before activation, and by
Self after activation.
* a-taside.ads, a-taside.adb (Environment_Task,
Activation_Is_Complete): Implement these missing functions.
From-SVN: r207034
Arnaud Charlet [Fri, 24 Jan 2014 14:23:03 +0000 (15:23 +0100)]
[multiple changes]
2014-01-24 Doug Rupp <rupp@adacore.com>
* init.c: Add a handler section for Android.
2014-01-24 Arnaud Charlet <charlet@adacore.com>
* i-cexten.ads (Unsigned_33..64, Unsigned_33..64): New types.
2014-01-24 Ed Schonberg <schonberg@adacore.com>
* sem_ch4.adb (Operator_Check): If one operand is a
Raise_Expression, set its type to that of the other operand.
* sem_res.adb (Resolve_Raise_Expression): new procedure.
(Resolve_Actuals): For an actual that is a Raise_Expression,
set the type to that of the formal.
* sem_type.adb (Find_Unique_Type): If one of the operands is a
Raise_Expression, return type of the other operand.
2014-01-24 Ed Schonberg <schonberg@adacore.com>
* sem_aggr.adb (Resolve_Record_Aggregate): If a scalar
component of the record has a type with a default aspect, and
the corresponding aggregate component is initiaized with a box,
use the default value in the rewritten aggregate.
2014-01-24 Tristan Gingold <gingold@adacore.com>
* s-interr.ads, s-interr.adb, s-interr-hwint.adb, s-interr-vms.adb,
s-interr-sigaction.adb,
s-interr-dummy.adb (Install_Restricted_Handlers): Add Prio parameter.
* exp_ch9.adb (Make_Initialize_Protection): Add Prio parameter
to the call to Install_Restricted_Handlers.
2014-01-24 Emmanuel Briot <briot@adacore.com>
* prj-nmsc.adb (Check_File): Add protection when the source is
not fully initialized.
From-SVN: r207033
Arnaud Charlet [Fri, 24 Jan 2014 14:05:17 +0000 (15:05 +0100)]
[multiple changes]
2014-01-24 Ed Schonberg <schonberg@adacore.com>
* sem_util.adb (Is_Post_State): In a postcondition, a selected
component that denotes an implicit dereference is a reference
to the post state of the subprogram.
2014-01-24 Robert Dewar <dewar@adacore.com>
* sem_ch6.adb (Analyze_Subprogram_Body_Helper): SPARK_Mode OFF
for generated subprograms.
(Analyze_Subprogram_Specification): Ditto.
2014-01-24 Vincent Celier <celier@adacore.com>
* prj-dect.adb (Check_Attribute_Allowed): Detect more forbidden
attributes in package Builder of aggregate and aggregate library
projects.
* prj-nmsc.adb (Process_Naming_Scheme.Check.Check_Aggregate):
Remove procedure (Process_Naming_Scheme.Check.Check_Aggregated):
Remove parameters. Change error message from "... externally
build library ..." to "... externally built project ...".
(Process_Naming_Scheme.Check): Do not do any check in aggregate
project, as attribute Library_Dir and Library_Name have already
been detected as forbidden.
2014-01-24 Vincent Celier <celier@adacore.com>
* prj-env.adb (Find_Project): If cached project path is not in
project directory, look in current directory first and use cached
project path only if project is not found in project directory.
From-SVN: r207032
Robert Dewar [Fri, 24 Jan 2014 14:03:19 +0000 (14:03 +0000)]
sem_util.adb, [...]: Correct false positive warnings.
2014-01-24 Robert Dewar <dewar@adacore.com>
* sem_util.adb, lib-xref.adb: Correct false positive warnings.
From-SVN: r207031
Arnaud Charlet [Fri, 24 Jan 2014 14:01:57 +0000 (15:01 +0100)]
[multiple changes]
2014-01-24 Vincent Celier <celier@adacore.com>
* projects.texi: Document that aggregate projects are only
supported by gprbuild, but not by gnatmake. Document that the
only attribute Switches in package Binder of aggregate projects
will be ignored if its index is not others. Document that
attribute Global_Config_File is allowed in package Binder of
aggregate projects.
2014-01-24 Robert Dewar <dewar@adacore.com>
* sem_prag.adb: Minor code reorganization.
* sem_util.adb: Minor fix of potential latent bug in Is_LHS.
From-SVN: r207029
Arnaud Charlet [Fri, 24 Jan 2014 14:00:34 +0000 (15:00 +0100)]
[multiple changes]
2014-01-24 Pascal Obry <obry@adacore.com>
* prj-attr.adb, projects.texi, snames.ads-tmpl: Add Excluded_Patterns
attribute definition.
2014-01-24 Vincent Celier <celier@adacore.com>
* makeutl.adb (Queue.Insert_No_Roots): In gprbuild, do not put
in the Queue the same source (same path, same multi-source index)
from the same project file, to avoid compiling several times
the same source.
2014-01-24 Eric Botcazou <ebotcazou@adacore.com>
* einfo.ads (First_Rep_Item): Remove obsolete stuff.
(Has_Gigi_Rep_Item): Likewise.
* sem_prag.adb (Analyze_Pragma) <Pragma_Linker_Section>: Do not set
Has_Gigi_Rep_Item for objects.
* gcc-interface/decl.c (prepend_one_attribute_to): Rename into...
(prepend_one_attribute): ...this.
(prepend_one_attribute_pragma): New function extracted from...
(prepend_attributes): ...here. Swap the parameters for consistency.
(gnat_to_gnu_entity): Adjust calls to prepend_one_attribute_to and to
prepend_attributes.
<object>: Deal with a pragma Linker_Section on a constant
or variable. <E_Function>: Deal with a pragma Linker_Section
on a subprogram.
(get_minimal_subprog_decl): Adjust calls to prepend_one_attribute_to.
2014-01-24 Vincent Celier <celier@adacore.com>
* opt.ads: Minor comment update.
From-SVN: r207028
Arnaud Charlet [Fri, 24 Jan 2014 11:42:21 +0000 (12:42 +0100)]
[multiple changes]
2014-01-24 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Analyze_Input_Output): Add missing error check
for junk operand.
* sem_util.adb (Is_Refined_State): Add defense against junk
tree from error.
2014-01-24 Pascal Obry <obry@adacore.com>
* projects.texi: Removes Build_Slaves attribute documentation.
From-SVN: r207027
Marek Polacek [Fri, 24 Jan 2014 10:41:24 +0000 (10:41 +0000)]
* gcc.dg/pr59846.c (fn1, fn2): Use ULL suffix.
From-SVN: r207026
H.J. Lu [Fri, 24 Jan 2014 03:38:10 +0000 (03:38 +0000)]
Get stack adjustment from push operand in pushsf splitter
pushsf for -m64/-mx32 looks like
(set (mem:SF (pre_modify:SI (reg/f:SI 7 sp)
(plus:SI (reg/f:SI 7 sp)
(const_int -8))))
(reg:SF 22 xmm1 [orig:84 D.1790 ] [84]))
Stack adjustment is in push operand and it isn't stack register mode size
which may be 4 bytes for -mx32. This patch gets stack adjustment from
push operand if code of push isn't PRE_DEC.
gcc/
PR target/59929
* config/i386/i386.md (pushsf splitter): Get stack adjustment
from push operand if code of push isn't PRE_DEC.
gcc/testsuite/
PR target/59929
* gcc.target/i386/pr59929.c: New test.
From-SVN: r207023
Michael Meissner [Fri, 24 Jan 2014 01:56:48 +0000 (01:56 +0000)]
re PR target/59909 (Quad memory bootstrap issues on little endian powerpc64 power8 systems)
[gcc]
2014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/59909
* doc/invoke.texi (RS/6000 and PowerPC Options): Document
-mquad-memory-atomic. Update -mquad-memory documentation to say
it is only used for non-atomic loads/stores.
* config/rs6000/predicates.md (quad_int_reg_operand): Allow either
-mquad-memory or -mquad-memory-atomic switches.
* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Add
-mquad-memory-atomic to ISA 2.07 support.
* config/rs6000/rs6000.opt (-mquad-memory-atomic): Add new switch
to separate support of normal quad word memory operations (ldq,
stq) from the atomic quad word memory operations.
* config/rs6000/rs6000.c (rs6000_option_override_internal): Add
support to separate non-atomic quad word operations from atomic
quad word operations. Disable non-atomic quad word operations in
little endian mode so that we don't have to swap words after the
load and before the store.
(quad_load_store_p): Add comment about atomic quad word support.
(rs6000_opt_masks): Add -mquad-memory-atomic to the list of
options printed with -mdebug=reg.
* config/rs6000/rs6000.h (TARGET_SYNC_TI): Use
-mquad-memory-atomic as the test for whether we have quad word
atomic instructions.
(TARGET_SYNC_HI_QI): If either -mquad-memory-atomic,
-mquad-memory, or -mp8-vector are used, allow byte/half-word
atomic operations.
* config/rs6000/sync.md (load_lockedti): Insure that the address
is a proper indexed or indirect address for the lqarx instruction.
On little endian systems, swap the hi/lo registers after the lqarx
instruction.
(load_lockedpti): Use indexed_or_indirect_operand predicate to
insure the address is valid for the lqarx instruction.
(store_conditionalti): Insure that the address is a proper indexed
or indirect address for the stqcrx. instruction. On little endian
systems, swap the hi/lo registers before doing the stqcrx.
instruction.
(store_conditionalpti): Use indexed_or_indirect_operand predicate to
insure the address is valid for the stqcrx. instruction.
* gcc/config/rs6000/rs6000-c.c (rs6000_target_modify_macros):
Define __QUAD_MEMORY__ and __QUAD_MEMORY_ATOMIC__ based on what
type of quad memory support is available.
[gcc/testsuite]
2014-01-23 Michael Meissner <meissner@linux.vnet.ibm.com>
PR target/59909
* gcc.target/powerpc/quad-atomic.c: New file to test power8 quad
word atomic functions at runtime.
From-SVN: r207020
Ian Lance Taylor [Fri, 24 Jan 2014 01:01:47 +0000 (01:01 +0000)]
compiler: Convert named types before flattening.
From-SVN: r207018
GCC Administrator [Fri, 24 Jan 2014 00:16:28 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r207015
Bernhard Reutner-Fischer [Thu, 23 Jan 2014 21:17:15 +0000 (22:17 +0100)]
acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam function.
2014-01-23 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
Steve Ellcey <sellcey@mips.com>
* acinclude.m4 (GLIBCXX_CHECK_TMPNAM): New check for tmpnam
function.
* configure.ac: Use GLIBCXX_CHECK_TMPNAM.
* (configure, config.h.in): Regenerate.
* include/c_global/cstdio: Guard ::tmpnam with _GLIBCXX_USE_TMPNAM
Co-Authored-By: Steve Ellcey <sellcey@mips.com>
From-SVN: r207009
Marek Polacek [Thu, 23 Jan 2014 21:01:08 +0000 (21:01 +0000)]
re PR c/59846 (Imprecise column number for -Wtype-limits)
PR c/59846
c-family/
* c-common.c (shorten_compare): Add location_t parameter.
* c-common.h (shorten_binary_op): Adjust declaration.
cp/
* typeck.c (cp_build_binary_op): Pass location to shorten_compare.
c/
* c-typeck.c (parser_build_binary_op): Use location instead of
input_location.
(build_binary_op): Pass location to shorten_compare.
testsuite/
* gcc.dg/pr59846.c: New test.
From-SVN: r207008