C++ PATCH for c++/60224 (ICE initializing array with PMF)

2014-02-21 Thread Jason Merrill
We shouldn't treat a CONSTRUCTOR as an init-list if it already has a type. Tested x86_64-pc-linux-gnu, applying to trunk. commit 8e1493a7a31ffdb1e70977c325e7d2f2686b14a7 Author: Jason Merrill ja...@redhat.com Date: Fri Feb 21 00:52:20 2014 -0500 PR c++/60224 * decl.c

C++ PATCH for c++/60219 (ICE with invalid variadics)

2014-02-21 Thread Jason Merrill
In coerce_template_parms, if we try to pack the remaining arguments into an argument pack and that fails, we should immediately stop trying to process more arguments. Tested x86_64-pc-linux-gnu, applying to trunk and 4.8. commit 1555baa24f537d0e724c53845e7ba2881df7a77f Author: Jason Merrill

C++ PATCH for c++/60216 (ICE with specialization of deleted template)

2014-02-21 Thread Jason Merrill
We need to propagate DECL_DELETED_FN to clones when we get a new specialization. Tested x86_64-pc-linux-gnu, applying to trunk and 4.8. commit eaf1689e134ff4fb364c0045965b19879bff8f32 Author: Jason Merrill ja...@redhat.com Date: Fri Feb 21 08:47:01 2014 -0500 PR c++/60216 * pt.c

Re: [PATCH][2/2] Fix expansion slowness of PR60291

2014-02-21 Thread Richard Biener
On Fri, 21 Feb 2014, Richard Biener wrote: On Fri, 21 Feb 2014, Richard Biener wrote: On Fri, 21 Feb 2014, Richard Sandiford wrote: In a thread a few years ago you talked about the possibility of going further and folding the attributes into the MEM itself, so avoiding the

[PATCH, PR 60266] Fix problem with mixing -O0 and -O2 in propagate_constants_accross_call

2014-02-21 Thread Martin Jambor
Hi, in propagate_constants_accross_call we expect a thunk to have at least one parameter and thus an ipa-prop parameter descriptor. However, when the callee comes from a CU that was compiled with -O0, there are no parameter descriptors and we fail an index checking assert. This patch fixes it

Re: [PATCH, ARM] Support ORN for DImode

2014-02-21 Thread Richard Earnshaw
On 19/02/14 10:18, Ian Bolton wrote: Hi, Patterns had previously been added to thumb2.md to support ORN, but only for SImode. This patch adds DImode support, to cover the full 64|64-64 operation and the various 32|64-64 operations (see AND:DI variants that use NOT). The patch comes

[libstdc++-v3] Move shared_mutex to shared_timed_mutex - late C++14 change (n3891)

2014-02-21 Thread Ed Smith-Rowland
This are the patches as applied Built and tested x86_64-linux. 2014-02-20 Ed Smith-Rowland 3dw...@verizon.net Rename shared_mutex to shared_timed_mutex per C++14 acceptance of N3891. * include/std/shared_mutex: Rename shared_mutex to shared_timed_mutex. *

C++ PATCH for c++/60051 (ICE deducing array)

2014-02-21 Thread Jason Merrill
This patch benefits from the discussion of array deduction at last week's C++ standardization committee meeting, where we clarified that we should only try to deduce the array bound from an initializer-list if the array bound is deducible, i.e. if it's a non-type template parameter. We also

Re: Fwd: [RFC][gomp4] Offloading patches (2/3): Add tables generation

2014-02-21 Thread Ilya Verbin
2014-02-20 22:27 GMT+04:00 Bernd Schmidt ber...@codesourcery.com: There were still a number of things in these patches that did not make sense to me and which I've changed. Let me know if there was a good reason for the way some of these things were originally done. * Functions and variables

Re: [PATCH][i386][AVX512] Match latest spec. Add CPUID prefetchwt1.

2014-02-21 Thread Ilya Tocar
Latest version of AVX512 spec http://download-software.intel.com/sites/default/files/managed/50/1a/319433-018.pdf Has a few changes. 1)PREFETCHWT1 instruction now has separate CPUID bit PREFETCHWT1. We can either support new CPUID or disable PREFETCHWT1 from generating, without

Re: Fwd: [RFC][gomp4] Offloading patches (2/3): Add tables generation

2014-02-21 Thread Bernd Schmidt
On 02/21/2014 04:17 PM, Ilya Verbin wrote: 2014-02-20 22:27 GMT+04:00 Bernd Schmidt ber...@codesourcery.com: There were still a number of things in these patches that did not make sense to me and which I've changed. Let me know if there was a good reason for the way some of these things were

Re: [PATCH] Fix PR c++/60065.

2014-02-21 Thread Jason Merrill
On 02/21/2014 03:19 AM, Adam Butcher wrote: A class template with an out-of-line generic function definition will give the same issue I think: template typename T void AT::f(auto x) {} // should inject a new list Right. template_class_depth should be useful here. This is basically

[jit] New API entrypoint: gcc_jit_context_dump_to_file

2014-02-21 Thread David Malcolm
Committed to branch dmalcolm/jit: Add a new gcc_jit_context_dump_to_file, which dumps a C-like representation of the context's IR to a given path. There is also a flag update_locations, which, when true, will set up gcc_jit_location information throughout the context, pointing at the dump file

[Patch, AArch64] Fix shuffle for big-endian.

2014-02-21 Thread Tejas Belagod
Hi, When a shuffle of more than one input happens, on NEON we end up with a 'mixed-endian' format in the register list which TBL operates on. We don't make this correction in RTL and therefore the shuffle operation gets it incorrect. Here is a patch that fixes-up the index table in the

Re: [PATCH] Bound number of recursive compute_control_dep_chain calls with a param (PR tree-optimization/56490)

2014-02-21 Thread Xinliang David Li
thanks for the fix! David On Fri, Feb 21, 2014 at 12:21 AM, Jakub Jelinek ja...@redhat.com wrote: Hi! As discussed in the PR, on larger functions we can end up with over 3 million of compute_control_dep_chain nested calls from a single compute_control_dep_chain call, on that testcase all

Re: [PATCH] Fix PR 60268

2014-02-21 Thread Vladimir Makarov
On 2/21/2014, 2:22 AM, Andrey Belevantsev wrote: Hello, While fixing PR 58960 I forgot about single-block regions placing the initialization of the new nr_regions_initial variable in the wrong place. Thus for single block regions we ended up with nr_regions = 1 and nr_regions_initial = 0 and

Re: [PATCH, PR 60266] Fix problem with mixing -O0 and -O2 in propagate_constants_accross_call

2014-02-21 Thread Jan Hubicka
Hi, in propagate_constants_accross_call we expect a thunk to have at least one parameter and thus an ipa-prop parameter descriptor. However, when the callee comes from a CU that was compiled with -O0, there are no parameter descriptors and we fail an index checking assert. This patch

Re: [PATCH][i386][AVX512] Match latest spec. Add CPUID prefetchwt1.

2014-02-21 Thread Uros Bizjak
On Fri, Feb 21, 2014 at 4:25 PM, Ilya Tocar tocarip.in...@gmail.com wrote: Latest version of AVX512 spec http://download-software.intel.com/sites/default/files/managed/50/1a/319433-018.pdf Has a few changes. 1)PREFETCHWT1 instruction now has separate CPUID bit PREFETCHWT1. We can

[PATCH, rs6000] vec_sums must define all result vector elements

2014-02-21 Thread Bill Schmidt
Hi, The little-endian implementation of vec_sums is incorrect. I had misread the specification and thought that the fields not containing the result value were undefined, but in fact they are defined to contain zero. My previous implementation used a vector splat to copy the field from BE

Re: Fwd: [RFC][gomp4] Offloading patches (2/3): Add tables generation

2014-02-21 Thread Ilya Verbin
2014-02-21 19:41 GMT+04:00 Bernd Schmidt ber...@codesourcery.com: The problem is that ptx does not have a linker, so we cannot exactly reproduce what happens on the host side. We have to process all host .o files in one single invocation of ptx lto1, and produce a single ptx assembly file,

Re: [PATCH, rs6000] vec_sums must define all result vector elements

2014-02-21 Thread David Edelsohn
On Fri, Feb 21, 2014 at 12:56 PM, Bill Schmidt wschm...@linux.vnet.ibm.com wrote: Hi, The little-endian implementation of vec_sums is incorrect. I had misread the specification and thought that the fields not containing the result value were undefined, but in fact they are defined to contain

[PATCH, testsuite]: Add some missing avx512 options to g++.dg/other/i386-{2,3}.C and gcc.target/i386/sse-{12,13}.c

2014-02-21 Thread Uros Bizjak
Hello! No additional testsuite failures. 2014-02-21 Uros Bizjak ubiz...@gmail.com * g++.dg/other/i386-2.C (dg-options): Add -mavx512pf. * g++.dg/other/i386-3.C (dg-options): Ditto. * gcc.target/i386/sse-12.c (dg-options): Add -msha. * gcc.target/i386/sse-13.c (dg-options): Add

Re: [PATCH, rs6000] Add -maltivec=be semantics in LE mode for vec_ld and vec_st

2014-02-21 Thread David Edelsohn
On Thu, Feb 20, 2014 at 2:46 PM, Bill Schmidt wschm...@linux.vnet.ibm.com wrote: Hi, For compatibility with the XL compilers, we need to support -maltivec=be for vec_ld, vec_ldl, vec_st, and vec_stl. (A later patch will also handle vec_lde and vec_ste.) This is a much simpler patch than

[GOMP4] gimple_code_is_oacc - is_gimple_omp_oacc_specifically (was: [PATCH 4/6] [GOMP4] OpenACC 1.0+ support in fortran front-end)

2014-02-21 Thread Thomas Schwinge
Hi! On Tue, 11 Feb 2014 17:51:15 +0100, I wrote: On Fri, 31 Jan 2014 15:16:07 +0400, Ilmir Usmanov i.usma...@samsung.com wrote: --- a/gcc/omp-low.c +++ b/gcc/omp-low.c @@ -1491,6 +1491,18 @@ fixup_child_record_type (omp_context *ctx) TREE_TYPE (ctx-receiver_decl) =

Re: [gomp4 3/6] Initial support for OpenACC memory mapping semantics.

2014-02-21 Thread Thomas Schwinge
Hi! On Tue, 14 Jan 2014 16:10:05 +0100, I wrote: --- gcc/gimplify.c +++ gcc/gimplify.c @@ -86,7 +92,11 @@ enum omp_region_type ORT_UNTIED_TASK = 5, ORT_TEAMS = 8, ORT_TARGET_DATA = 16, - ORT_TARGET = 32 + ORT_TARGET = 32, + + /* Flags for ORT_TARGET. */ + /* Default to

[gomp4 1/3] Clarify to/from/map clauses usage in context of GF_OMP_TARGET_KIND_UPDATE.

2014-02-21 Thread Thomas Schwinge
From: tschwinge tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4 gcc/ * omp-low.c (scan_sharing_clauses): Catch unexpected occurrences of OMP_CLAUSE_TO, OMP_CLAUSE_FROM, OMP_CLAUSE_MAP. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gomp-4_0-branch@208015

[gomp4 2/3] OpenACC data construct implementation in terms of GF_OMP_TARGET_KIND_OACC_DATA.

2014-02-21 Thread Thomas Schwinge
From: tschwinge tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4 gcc/ * gimple.h (enum gf_mask): Add GF_OMP_TARGET_KIND_OACC_DATA. (is_gimple_omp_oacc_specifically): Handle it. * gimple-pretty-print.c (dump_gimple_omp_target): Likewise. * gimplify.c

[gomp4 3/3] OpenACC data construct support in the C front end.

2014-02-21 Thread Thomas Schwinge
From: tschwinge tschwinge@138bc75d-0d04-0410-961f-82ee72b054a4 gcc/c-family/ * c-pragma.c (oacc_pragmas): Add data. * c-pragma.h (enum pragma_kind): Add PRAGMA_OACC_DATA. gcc/c/ * c-parser.c (OACC_DATA_CLAUSE_MASK): New macro definition.

patch to fix PR60298

2014-02-21 Thread Vladimir Makarov
The following patch fixes http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60298 The patch was successfully bootstrapped on x86/x86-64. Committed as rev. 208023. 2014-02-21 Vladimir Makarov vmaka...@redhat.com PR target/60298 * lra-constraints.c (inherit_reload_reg): Use

C++ PATCH for c++/60241 (ICE with specialization of member class template)

2014-02-21 Thread Jason Merrill
We already have the code to reassign instances to the appropriate template when we see a specialization of a partial instantiation of a member template, but it wasn't firing properly in this case, for two reasons: 1) We were attaching the instances to the most general template and then

C++ PATCH for c++/59347 (ICE with ill-formed typedef in template)

2014-02-21 Thread Jason Merrill
An earlier patch of mine changed the compiler to retain erroneous declarations to provide better error-recovery behavior. But that's causing problems with nested typedefs, so let's not bother in that case. Tested x86_64-pc-linux-gnu, applying to trunk. commit

C++ PATCH for c++/60187 (ICE with bare parameter pack in enum-base)

2014-02-21 Thread Jason Merrill
Yet another place where we need to check for bare parameter packs. Tested x86_64-pc-linux-gnu, applying to trunk and 4.8. commit 4e02d1498063b3ffa31d3fe35682b0c94667360c Author: Jason Merrill ja...@redhat.com Date: Fri Feb 21 14:03:36 2014 -0500 PR c++/60187 * parser.c

C++ PATCH for c++/60186 (ICE with constexpr and init-list in template)

2014-02-21 Thread Jason Merrill
My earlier massage_init_elt patch neglected to call fold_non_dependent_expr before maybe_constant_init. Tested x86_64-pc-linux-gnu, applying to trunk. commit b77241e3be8b3eb4247d07e2f2967cbb585e08bc Author: Jason Merrill ja...@redhat.com Date: Fri Feb 21 14:37:17 2014 -0500 PR c++/60186

Re: C++ PATCH for c++/60252 (ICE with VLA in lambda parameter)

2014-02-21 Thread Jason Merrill
On 02/21/2014 09:10 AM, Jason Merrill wrote: While parsing the template parameter list for a lambda, we've already pushed into the closure class but haven't created the op() FUNCTION_DECL, so trying to capture 'this' by way of the 'this' pointer of op() breaks. Avoid the ICE by not trying to

C++ PATCH for c++/60185 (ICE with invalid default arg in template)

2014-02-21 Thread Jason Merrill
To avoid problems trying to resolve an invalid use of 'this' before diagnosing it later, let's do the same thing we do in tsubst_default_argument, namely clear current_class_{ptr,ref}. Tested x86_64-pc-linux-gnu, applying to trunk. commit f1051ca23020746350bacff3c499b2a9d1ec0dff Author: Jason

C++ PATCH for c++/60108 (ICE with defaulted virtual in template)

2014-02-21 Thread Jason Merrill
emit_associated_thunks expects DECL_INTERFACE_KNOWN to be set, but we weren't setting it in this case (as opposed to the case where the destructor is implicitly declared) because it has DECL_TEMPLATE_INSTANTIATION set. Fixed by checking for DECL_DEFAULTED_FN as well. Tested

Re: [google gcc-4_8] not split bb for machine dependent builtins

2014-02-21 Thread Xinliang David Li
Ok. I expect this also submitted to trunk later. David On Fri, Feb 21, 2014 at 2:08 PM, Rong Xu x...@google.com wrote: Hi, For builtins without nothrow attributes, we currently split bb by adding fake edge to func_exit in instrumenting profile counters. While it's safe, The resulted

C++ PATCH for c++/58170 (ICE with alias template)

2014-02-21 Thread Jason Merrill
There's no reason why we wouldn't check for dependent scopes when parsing the target of an alias declaration, and indeed not doing so led to the ICE here. The rest of the patch improves the diagnostic for this testcase (and some others). Tested x86_64-pc-linux-gnu, applying to trunk. Also

<    1   2   3