platform/upstream/gcc.git
10 years ago* decl.c (duplicate_decls): Tweak.
Jason Merrill [Tue, 28 Jan 2014 17:06:47 +0000 (12:06 -0500)]
* decl.c (duplicate_decls): Tweak.

From-SVN: r207198

10 years agore PR c++/53756 ([C++1y] ICE: in gen_type_die_with_usage, at dwarf2out.c:18774 with...
Jason Merrill [Tue, 28 Jan 2014 17:06:40 +0000 (12:06 -0500)]
re PR c++/53756 ([C++1y] ICE: in gen_type_die_with_usage, at dwarf2out.c:18774 with -g and operator auto ())

PR c++/53756
gcc/
* dwarf2out.c (auto_die): New static.
(gen_type_die_with_usage): Handle C++1y 'auto'.
(gen_subprogram_die): If in-class DIE had 'auto', emit type again
on definition.
gcc/cp/
* mangle.c (write_unqualified_name): Handle operator auto.

From-SVN: r207197

10 years agoAdd -m16 support for x86
H.J. Lu [Tue, 28 Jan 2014 16:22:45 +0000 (16:22 +0000)]
Add -m16 support for x86

The .code16gcc directive was added to binutils back in 1999:

---
   '.code16gcc' provides experimental support for generating 16-bit code
from gcc, and differs from '.code16' in that 'call', 'ret', 'enter',
'leave', 'push', 'pop', 'pusha', 'popa', 'pushf', and 'popf'
instructions default to 32-bit size.  This is so that the stack pointer
is manipulated in the same way over function calls, allowing access to
function parameters at the same stack offsets as in 32-bit mode.
'.code16gcc' also automatically adds address size prefixes where
necessary to use the 32-bit addressing modes that gcc generates.
---

It encodes 32-bit assembly instructions generated by GCC in 16-bit format
so that GCC can be used to generate 16-bit instructions.  To do that, the
.code16gcc directive must be placed at the very beginning of the assembly
code.  This patch adds -m16 to x86 backend by:

1. Add -m16 and make it mutually exclusive with -m32, -m64 and -mx32.
2. Treat -m16 like -m32 so that --32 is passed to assembler.
3. Output .code16gcc at the very beginning of the assembly code.
4. Turn off 64-bit ISA when -m16 is used.

PR target/59672
* config/i386/gnu-user64.h (SPEC_32): Add "m16|" to "m32".
(SPEC_X32): Likewise.
(SPEC_64): Likewise.
* config/i386/i386.c (ix86_option_override_internal): Turn off
OPTION_MASK_ISA_64BIT, OPTION_MASK_ABI_X32 and OPTION_MASK_ABI_64
for TARGET_16BIT.
(x86_file_start): Output .code16gcc for TARGET_16BIT.
* config/i386/i386.h (TARGET_16BIT): New macro.
(TARGET_16BIT_P): Likewise.
* config/i386/i386.opt: Add m16.
* doc/invoke.texi: Document -m16.

From-SVN: r207196

10 years agoPR preprocessor/59935 - caret diagnostics crashes on non-file locations
Dodji Seketeli [Tue, 28 Jan 2014 15:03:19 +0000 (16:03 +0100)]
PR preprocessor/59935 - caret diagnostics crashes on non-file locations

gcc/ChangeLog

* input.c (location_get_source_line): Bail out on when line number
is zero, and test the return value of
lookup_or_add_file_to_cache_tab.

gcc/testsuite/ChangeLog

* c-c++-common/cpp/warning-zero-location.c: New test.
* c-c++-common/cpp/warning-zero-location-2.c: Likewise.

Signed-off-by: Dodji Seketeli <dodji@seketeli.org>
From-SVN: r207195

10 years agore PR middle-end/58742 (pointer arithmetic simplification)
Richard Biener [Tue, 28 Jan 2014 14:53:52 +0000 (14:53 +0000)]
re PR middle-end/58742 (pointer arithmetic simplification)

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

10 years agoarm.c (arm_new_rtx_costs): Remove useless statement at const_int_cost.
Kyrylo Tkachov [Tue, 28 Jan 2014 14:17:09 +0000 (14:17 +0000)]
arm.c (arm_new_rtx_costs): Remove useless statement at const_int_cost.

* config/arm/arm.c (arm_new_rtx_costs): Remove useless statement
at const_int_cost.

From-SVN: r207193

10 years agorevert: re PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very...
Richard Biener [Tue, 28 Jan 2014 13:13:54 +0000 (13:13 +0000)]
revert: re PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very long time)

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

10 years agotree-data-ref.h (ddr_is_anti_dependent, [...]): Remove.
Richard Biener [Tue, 28 Jan 2014 12:49:08 +0000 (12:49 +0000)]
tree-data-ref.h (ddr_is_anti_dependent, [...]): Remove.

2014-01-28  Richard Biener  <rguenther@suse.de>

* tree-data-ref.h (ddr_is_anti_dependent, ddrs_have_anti_deps):
Remove.

From-SVN: r207181

10 years agore PR libstdc++/59656 (weak_ptr::lock function crashes when compiling with -fno-excep...
Jonathan Wakely [Tue, 28 Jan 2014 10:23:27 +0000 (10:23 +0000)]
re PR libstdc++/59656 (weak_ptr::lock function crashes when compiling with -fno-exceptions flag)

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

10 years agore PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very long...
Richard Biener [Tue, 28 Jan 2014 09:02:59 +0000 (09:02 +0000)]
re PR middle-end/45364 (Compiling wine's directx.c with -O1 -g takes a very long time)

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

10 years agoMakefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.
Alan Modra [Tue, 28 Jan 2014 07:08:22 +0000 (17:38 +1030)]
Makefile.in (BUILD_CPPFLAGS): Do not use ALL_CPPFLAGS.

* 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

10 years agore PR c++/59823 (conversion operator to const X& causes copy-construction of temporary)
Jason Merrill [Tue, 28 Jan 2014 04:31:39 +0000 (23:31 -0500)]
re PR c++/59823 (conversion operator to const X& causes copy-construction of temporary)

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

10 years agore PR c++/54652 (ICE with -g)
Jason Merrill [Tue, 28 Jan 2014 04:31:30 +0000 (23:31 -0500)]
re PR c++/54652 (ICE with -g)

PR c++/54652
* decl.c (duplicate_decls): Always use oldtype for TYPE_DECL.

From-SVN: r207169

10 years agore PR c++/58504 (ICE with type trait as default template parameter)
Jason Merrill [Tue, 28 Jan 2014 04:31:23 +0000 (23:31 -0500)]
re PR c++/58504 (ICE with type trait as default template parameter)

PR c++/58504
* pt.c (tsubst_copy_and_build) [TRAIT_EXPR]: Use tsubst for
types.

From-SVN: r207168

10 years agore PR c++/58606 ([c++11] ICE with specialization in variadic template)
Jason Merrill [Tue, 28 Jan 2014 04:31:14 +0000 (23:31 -0500)]
re PR c++/58606 ([c++11] ICE with specialization in variadic template)

PR c++/58606
* pt.c (template_parm_to_arg): Call convert_from_reference.
(tsubst_template_arg): Don't strip reference refs.

From-SVN: r207167

10 years agore PR c++/58639 (ICE on self-referential struct member)
Jason Merrill [Tue, 28 Jan 2014 04:31:07 +0000 (23:31 -0500)]
re PR c++/58639 (ICE on self-referential struct member)

PR c++/58639
* call.c (build_aggr_conv): Reject value-initialization of reference.

From-SVN: r207166

10 years agore PR c++/58812 (ICE initializing an r-value reference with an initializer list)
Jason Merrill [Tue, 28 Jan 2014 04:31:01 +0000 (23:31 -0500)]
re PR c++/58812 (ICE initializing an r-value reference with an initializer list)

PR c++/58812
* call.c (convert_like_real): Give helpful error about excess braces
for ck_rvalue of scalar type.

From-SVN: r207165

10 years agoCore DR 1288
Jason Merrill [Tue, 28 Jan 2014 04:30:55 +0000 (23:30 -0500)]
Core DR 1288

Core DR 1288
* call.c (reference_binding): Only elide braces if the single
element is reference-related.

From-SVN: r207164

10 years agore PR c++/58814 (ICE with volatile and attribute vector_size)
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

10 years agore PR c++/58837 ([c++11] ICE using invalid condition in static_assert)
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

10 years agore PR c++/59097 (ICE with invalid statement expression as array size)
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

10 years agoDaily bump.
GCC Administrator [Tue, 28 Jan 2014 00:16:30 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r207159

10 years agopr52125.c: Add -mno-optgp option.
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

10 years agoi386.c (get_builtin_code_for_version): Separate Westmere from Nehalem...
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

10 years agomips-common.c (TARGET_DEFAULT_TARGET_FLAGS): Remove TARGET_FP_EXCEPTIONS_DEFAULT...
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

10 years agomklog: Fix description at top of file.
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

10 years ago* ipa-inline.c (inline_small_functions): Fix typo.
Jeff Law [Mon, 27 Jan 2014 21:00:04 +0000 (14:00 -0700)]
* ipa-inline.c (inline_small_functions): Fix typo.

From-SVN: r207151

10 years agoavx512fintrin.h (_mm512_mask_cvtepi32_storeu_epi8): New.
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

10 years agoavx512pfintrin.h (_mm512_mask_prefetch_i32gather_pd): New.
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

10 years agore PR libstdc++/59215 (tsan: warning in shared_ptr_base.h)
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

10 years ago[multiple changes]
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

10 years agosem_ch6.adb: sem_ch6.adb (Set_Actual_Subtypes): If the type has a dynamic predicate...
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

10 years ago[multiple changes]
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

10 years ago[multiple changes]
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

10 years ago[multiple changes]
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

10 years ago[multiple changes]
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

10 years ago[multiple changes]
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

10 years ago[multiple changes]
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

10 years ago[multiple changes]
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

10 years agore PR bootstrap/59934 (Bootstrap fail since r206941: expmed.h:252:33: error: array...
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

10 years ago[multiple changes]
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

10 years agosem_prag.adb (Set_Convention_From_Pragma): Check that convention Ghost can only apply...
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

10 years agognat_ugn.texi: Add Short_Enums to documentation of -gnatet/-gnateT.
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

10 years ago[ARM] fix big.LITTLE spec rewriting
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

10 years agoCore DR 475 PR c++/41174 PR c++/59224
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

10 years ago[PATCH - obvious] Remove unused create_gimple_tmp declaration
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

10 years agosh-mem.cc (sh_expand_cmpnstr): Fix remaining bytes after words comparisons.
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

10 years agoconfigure.ac (*-*-lynxos*): Delete.
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

10 years agoDaily bump.
GCC Administrator [Mon, 27 Jan 2014 00:17:04 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r207124

10 years agopa.md (call): Generate indirect long calls to non-local functions when outputing...
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

10 years agopa.c (pa_attr_length_indirect_call): Adjust length of portable runtime and PIC indire...
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

10 years agore PR fortran/58007 ([OOP] ICE in free_pi_tree(): Unresolved fixup - resolve_fixups...
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

10 years agoacinclude.m4 (GLIBCXX_ENABLE_C99): Fix typo.
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

10 years agostl_map.h: Remove anachronistic comment.
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

10 years agoa-intnam-lynxos.ads, [...]: Removed, no longer maintained.
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

10 years agoComplete previous changes.
Arnaud Charlet [Sun, 26 Jan 2014 10:04:03 +0000 (11:04 +0100)]
Complete previous changes.

From-SVN: r207113

10 years agoDaily bump.
GCC Administrator [Sun, 26 Jan 2014 00:16:44 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r207110

10 years agoFix pilot error in previous checkin
Eric Botcazou [Sat, 25 Jan 2014 22:41:48 +0000 (22:41 +0000)]
Fix pilot error in previous checkin

From-SVN: r207098

10 years agoatomic.c: Include tconfig.h.
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

10 years agoatomic.c (pre_atomic_barrier): Mark inline.
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

10 years agoatomic.c (BIT_OFFSET): Define.
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

10 years agoatomic.c (__atomic_do_and_fetch): Add a prefix op argument.
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

10 years agosync.md (atomic_fetch_sub): Fix negation and avoid clobbering a live register.
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

10 years agotilegx-c.c (tilegx_cpu_cpp_builtins): Define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_{1,2}.
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

10 years agotilegx.c (tilegx_function_arg): Start 16-byte arguments on even registers.
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

10 years agotilegx.c (tilegx_gen_bundles): Delete barrier insns after bundles have been formed.
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

10 years agotilegx.c (tilegx_expand_builtin): Set PREFETCH_SCHEDULE_BARRIER_P to true for prefetches.
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

10 years agoconstraints.md (kl): Delete.
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

10 years agotilepro.md (ctzdi2): Use register_operand predicate.
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

10 years agotilegx.c (tilegx_expand_to_rtl_hook): New.
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

10 years agortlanal.c (canonicalize_condition): Split out duplicated mode check.
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

10 years agovect-nop-move.c (main): Check for vect runtime.
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

10 years ago* gcc-interface/Makefile.in: Fix oversight.
Eric Botcazou [Sat, 25 Jan 2014 11:01:05 +0000 (11:01 +0000)]
* gcc-interface/Makefile.in: Fix oversight.

From-SVN: r207074

10 years agoutils.c (convert_to_fat_pointer): Un-obfuscate the conversion from a thin pointer...
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

10 years agodecl.c (gnat_to_gnu_entity): Always build a variable for E_Variable with a pragma...
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

10 years agodecl.c (gnat_to_gnu_param): Make sure an Out parameter with Default_Value aspect...
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

10 years agoDaily bump.
GCC Administrator [Sat, 25 Jan 2014 00:17:03 +0000 (00:17 +0000)]
Daily bump.

From-SVN: r207069

10 years agoprint-rtl.c (in_call_function_usage): New var.
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

10 years agore PR middle-end/59561 (warning: iteration 4 invokes undefined behavior)
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

10 years agoReplace flag_enable_cilkplus with flag_cilkplus.
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

10 years agocompiler: Use backend interface for unary expressions.
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

10 years agors6000.c (rs6000_expand_vec_perm_const_1): Remove correction for little endian...
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

10 years agore PR tree-optimization/59919 (ICE in process_assert_insertions_for, at tree-vrp...
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

10 years agore PR libstdc++/59531 (string_view overrun in copy operation)
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

10 years agore PR libstdc++/59548 (Abort after copying std::unordered_map in debug mode)
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

10 years agore PR c++/58550 (][c++11] ICE with auto in function return type and lto)
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

10 years agotypo
Jason Merrill [Fri, 24 Jan 2014 19:05:32 +0000 (14:05 -0500)]
typo

From-SVN: r207054

10 years ago[AArch64] fix big.LITTLE spec rewriting
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

10 years agore PR c++/59886 (C++ array init optimization results in RANGE_EXPRs in assignments)
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

10 years agore PR c++/59886 (C++ array init optimization results in RANGE_EXPRs in assignments)
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

10 years agotypeck2.c (split_nonconstant_init_1): Fix num_split_elts handling for RANGE_ARRAY...
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

10 years ago[multiple changes]
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

10 years agore PR c++/57524 (ICE: in timevar_start, at timevar.c:343)
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

10 years agoAvoid crashing when an input file could not be opened
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

10 years agoback_end.adb: Remove Short_Enums handling (handled in Ttypes/Get_Targ now) Minor...
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

10 years agog-sercom-mingw.adb: Fix serial port name for port number > 10.
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

10 years agoexp_disp.adb (Expand_Dispatching_Call): Call Unqualify on Param when comparing it...
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

10 years ago[multiple changes]
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

10 years agosinfo.ads: Documentation update.
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

10 years agoprj.adb, [...]: Add comment, minor code clean ups.
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