On 11/10/15 11:28, Thomas Schwinge wrote:
Hi Nathan!
On Tue, 10 Nov 2015 09:19:50 -0500, Nathan Sidwell wrote:
I've committed this to backport a bunch of random bits from trunk to gomp4, and
thereby reduce divergence.
Yeah, I had some of these on my list, too.
--- omp-low.c (rev
suite. Perhaps something to be added
later?
nathan
2015-11-10 Nathan Sidwell
* config/nvptx/nvptx.opt (moptimize): New flag.
* config/nvptx/nvptx.c (nvptx_option_override): Set nvptx_optimize
default.
(nvptx_optimize_inner): New.
(nvptx_process_pars): Call it when optimizing.
* doc/invo
On 11/10/15 17:45, Ilya Verbin wrote:
I've been unable to introduce a testcase for this. The difficulty is we want
to check an rtl dump from the acceleration compiler, and there doesn't
appear to be existing machinery for that in the testsuite. Perhaps
something to be added later?
I haven't tr
On 11/10/15 18:08, Cesar Philippidis wrote:
On 11/10/2015 12:35 PM, Nathan Sidwell wrote:
I've committed this to gomp4. In preparing the reworked firstprivate
patch changes for gomp4's gimplify.c I discovered these testcases were
passing by accident, and lacked a data clause.
It
On 11/11/15 03:04, Jakub Jelinek wrote:
On Tue, Nov 10, 2015 at 09:12:55AM -0500, Nathan Sidwell wrote:
+ /* Create a local object to hold the instance
+ value. */
+ tree inst = create_tmp_var
+ (TREE_TYPE (TREE_TYPE
ll need to update them.
nathan
2015-11-11 Nathan Sidwell
* gimplify.c (enum gimplify_omp_var_data): Remove GOVD_FORCE_MAP.
(omp_region_type): Use hex. Add OpenACC members.
(omp_region_kind, acc_region_kind): Delete.
(gimplify_omp_ctx): Remove region_kind & acc_region_kind fields.
(new_omp_co
On 11/11/15 07:06, Bernd Schmidt wrote:
On 11/10/2015 11:33 PM, Nathan Sidwell wrote:
I've committed this patch to trunk. It implements a partitioning
optimization for a loop partitioned over both vector and worker axes.
We can elide the inner vector partitioning state propagation, if
On 11/11/15 09:50, Cesar Philippidis wrote:
On 11/11/2015 05:40 AM, Nathan Sidwell wrote:
On 11/10/15 18:08, Cesar Philippidis wrote:
On 11/10/2015 12:35 PM, Nathan Sidwell wrote:
I've committed this to gomp4. In preparing the reworked firstprivate
patch changes for gomp4's gi
firstprivate', which is what this patch implements.
ok?
nathan
2015-11-11 Nathan Sidwell
gcc/
* gimplify.c (oacc_default_clause): New.
(omp_notice_variable): Call it.
gcc/testsuite/
* c-c++-common/goacc/data-default-1.c: New.
libgomp/
* t
On 11/12/15 03:53, Jakub Jelinek wrote:
+ error ("%qE not specified in enclosing OpenACC %s construct",
+DECL_NAME (lang_hooks.decls.omp_report_decl (decl)), rkind);
+ error_at (ctx->location, "enclosing OpenACC %s construct", rkind);
I'd use %qs instead of %s.
thanks,
that need supporting
(c) it's more work to not support them, by modifying the mappable_type hook.
nathan
2015-11-12 Nathan Sidwell
* langhooks-def.h (omp_mappable_type): Remove oacc arg.
* langhooks.h (lhd_omp_mappable_type): Likewise.
* langhooks.c (lhd_omp_mappable_type)
On 11/12/15 08:21, Thomas Schwinge wrote:
Hi!
so there is a way to deal with it, but you need to adjust all plugins.
I'm confused -- didn't we agree that we don't need to maintain backwards
compatibility in the libgomp <-> plugins interface? (Nathan?)
Indeed, no need to deal with version
On 11/12/15 15:22, David Edelsohn wrote:
Nathan,
The ChangeLog was placed in the wrong files.
gcc/
* gimplify.c (oacc_default_clause): New.
(omp_notice_variable): Call it.
Fixed. I placed the entries in the other files, but failed to cleanup the above
one.
natha
I've committed this patch to fixup an erroneously failing test. I'd changed
the diagnostic, but not the matching test. While there, I noticed I should have
been using 'inform' to emit a note, not another error.
nathan
2015-11-13 Nathan Sidwell
gcc/
* gimplify.c
he main event is in the target compiler, when we know
which partitioning axes are available. A simple DFS walk of the loops assigns
the innermost available partition to such loops.
ok?
nathan
2015-11-13 Nathan Sidwell
gcc/
* gcc/omp-low.c (scan_sharing_clauses): A
nt patch, which
I need to think about.
nathan
2015-11-13 Nathan Sidwell
gcc/
* config/nvptx/nvptx.c (nvptx_generate_vector_shuffle): Deal with
complex types.
libgomp/
* testsuite/libgomp.oacc-c-c++-common/reduction-cplx-dbl.c: New.
* testsuite/libgomp.oacc-c-c++-common/reduction-
I've committed this trunk patch. This test case's loop is not parallelizeable,
as it increments a (non-reduction) variable. It thus must be marked 'seq'.
nathan
2015-11-13 Nathan Sidwell
* testsuite/libgomp.oacc-c-c++-common/collapse-2.c: Sequential
loop is sequent
On 11/11/15 09:19, Bernd Schmidt wrote:
On 11/11/2015 02:59 PM, Nathan Sidwell wrote:
That's not the problem. How to conditionally enable the test is the
difficulty. I suspect porting something concerning accel_compiler from
the libgomp testsuite is needed?
Ma
On 11/13/15 16:40, Bernd Schmidt wrote:
+ this_mask = (this_mask & -this_mask);
Unnecessary parens.
+ if (!this_mask && noisy)
+warning_at (loop->loc, 0,
+"insufficient partitioning available to parallelize loop");
Should this really be an unconditional warning? Is
obj_ptr = write;
cmp&swap (&lock_var, true, false);
nathan
2015-11-16 Nathan Sidwell
gcc/
* config/nvtpx/nvptx.c (global_lock_var): New.
(nvptx_global_lock_addr): New.
(nvptx_lockless_update): Add support for complex.
libgcc/
* config/nvtpx/reduction.c: New.
* config/nvptx/
On 11/16/15 17:07, Nathan Sidwell wrote:
I've committed this patch to the gomp4 branch. It adds support for worker and
gang level complex double reductions.
I was unsatisfied with that approach, so I've separated the two mechanisms into
different functions with the attached p
ase apply to trunk. I've just tripped over it, you've saved me an
investigation ...
nathan
--
Nathan Sidwell
On 11/17/15 12:23, Nathan Sidwell wrote:
On 11/17/15 12:16, Cesar Philippidis wrote:
This patch adds an empty priority_queues.c in libgomp for nvptx targets.
Nvptx targets don't have sufficient support for a complete libgomp
library, so we're only building a subset of it. And without
tion as there's
then no descheduling of the thread attempting to get the lock. Nvidia have
confirmed that global locks do not suffer this problem.
nathan
2015-11-18 Nathan Sidwell
gcc/
* config/nvptx/nvptx.c (global_lock_var): New.
(nvptx_global_lock_addr): New.
(nvptx_lockless_update): Rec
On 11/18/15 10:14, Cesar Philippidis wrote:
Jason,
Your recent delay folding patch broke libgomp.oacc-c++/loop-auto-1.c. It
looks like you forgot to handle OACC_LOOP in cp_fold_r. You probably
didn't notice this because Nathan committed his auto acc loop patch just
before you applied your patch.
regions. For the coloring algorithm we traverse them, but don't color outside
the partitioned region (such traversal can never be within an SESE region).
nathan
2015-11-18 Nathan Sidwell
gcc/
* config/nvptx/nvptx.c (bb_pair_t, bb_pair_vec_t): New types.
(pseudo_node_t, struct bracke
I've committed this to trunk. Primarily it removes code working around the lack
of default dimension setting -- I committed the defaulting code a little while
ago and missed this piece. Fixed up some whitespace and ARG_UNUSED that I
noticed along the way.
nathan
2015-11-18 Nathan Si
I've committed this to gomp4 branch. It removes some extraneous pieces from
nvptx.c and backports comments and some minor reworking that got applied to trunk.
nathan
(nvptx_neuter_pars): Backport from trunk.
Index: gcc/config/nvptx/nvptx.c
==
The atomic instructions can take immediate operands. Applied to trunk.
nathan
2015-11-19 Nathan Sidwell
* config/nvptx/nvptx.md (atomic_compare_and_swap_1,
atomic_exchange): Input values can be immediates.
Index: gcc/config/nvptx/nvptx.md
absolute, rather than relative, epsilon value.
b) A min/max test assumed that that operator is well defined on complex numbers
-- it's not.
c) Another min/max test failed because the reduction was specified as +
Fixed thusly,
nathan
2015-11-19 Nathan Sidwell
* libgomp.oacc-c-c++-c
weak definitions too
early, and have reported that to Nvidia. This affected gcc.dg/special/weak-2.c,
which is thus skipped.
nathan
2015-11-19 Nathan Sidwell
gcc/
* config/nvptx/nvptx.h (SUPPORTS_WEAK): Define.
* config/nvptx/nvptx.c (nvptx_write_function_decl): Support
DECL
imization flags, we'll need a resanitize hook? Jakub?
nathan
2015-11-20 Nathan Sidwell
James Norris
* config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
(TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override.
Index: config/nvptx/nvptx.c
==
In investigating some failures, I noticed the PTX output is rather dense.
Committed this to add some blank lines before DECL and DEF lines. Also fixed
a few formatting inconsistencies I noticed on the way.
nathan
2015-11-21 Nathan Sidwell
* config/nvptx/nvptx.c
This patch fixes CLZ. It always returns SImode, we should look at the input
operand to determine the type. Fixes cc.c-torture/execute/builtin-bitops-1.c
committed.
nathan
2015-11-21 Nathan Sidwell
* config/nvptx/nvptx.md (clz2): Use operand 1 for type.
Index: config/nvptx/nvptx.md
I've committed this to fix gcc.dg/atomic-generic.c. It was calling memcmp
without a declaration in scope, and passing a plain int as the 3rd argument
instead of directly using sizeof or casting to size_t. This blew up PTX with a
type mismatch.
nathan
2015-11-21 Nathan Sidwell
* g
es lie for this kind of fix.
Any objections?
nathan
2015-11-23 Nathan Sidwell
* gcc.dg/sso/dump.h: Force IO to be putchar function call on nvptx.
Index: gcc/testsuite/gcc.dg/sso/dump.h
===
--- gcc/testsuite/gcc.dg/sso/dump.h (revis
On 11/23/15 15:41, Jeff Law wrote:
In the 'put' function, why not just make all targets go through putchar? It's
not like this is performance critical code and I don't think it compromises any
of the tests, does it?
I contemplated that, but wondered if someone would complain. I'm happy eith
On 11/24/15 00:01, Jeff Law wrote:
On 11/23/2015 01:54 PM, Nathan Sidwell wrote:
On 11/23/15 15:41, Jeff Law wrote:
In the 'put' function, why not just make all targets go through
putchar? It's not like this is performance critical code and I
don't think it compromi
tting should be done or not. Rather than have it
return a count, I've changed it to return the inner mode, or VOIDmode for no
splitting.
nathan
2015-11-24 Nathan Sidwell
* config/nvptx/nvptx.c (maybe_split_mode): Return new mode or
VOIDmode, don't alter incoming mode.
(nv
o need for that, decls and uses
can be freely mixed, which is what this patch does.
nathan
2015-11-25 Nathan Sidwell
* config/nvptx/nvptx.c (walk_args_for_params): Delete.
(nvptx_declare_function_name): Move assignments next to register
declarations, and process params here.
Index: confi
The PTX backend needs to create names for incoming parameters etc. It was
numbering these from 1, which apart from being mentally jarring, turns out is a
little awkward.
Fixed thusly.
nathan
2015-11-25 Nathan Sidwell
* config/nvptx/nvptx.md (load_arg_reg): Arg number
constraint is
ged the fn name from nearly-but-not-quite acc_on_device, to
'foo', so it didn;t look superficially like a builtin test.
nathan
2015-11-26 Nathan Sidwell
* config/nvptx/nvptx.c (write_func_decl_from_insn): Replace callee
arg with name. Don't deal with split regs. Tweak forma
l hash manipulation out into a helper, in line with the other
helpers, and added a helper to deal with looking through symbol refs.
Finally expand_movdi had no need to register an fndecl itself -- it's already
calling maybe_convert_symbolic_operand, which does that.
nathan
2015-11-27 Nath
Also, the prototype is not
needed externally.
nathan
2015-11-27 Nathan Sidwell
* config/nvptx/nvptx-protos.h (nvptx_addr_space_from_address):
Don't declare.
* config/nvptx/nvptx.c (nvptx_addr_space_from_sym): New.
(nvptx_maybe_convert_symbolic_operand): Simplify.
(nvptx_addr_space_fr
description that computes the value
of this field.
broke PTX, as it tried to use argp for the CFA. Fixed thusly. Also tidied up a
few bits of nvptx.h while I was there.
nathan
2015-11-28 Nathan Sidwell
* config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast
On 11/29/15 04:03, Eric Botcazou wrote:
The recent patch to tree-nested.c:
2015-11-26 Pierre-Marie de Rodat
PR debug/53927
* tree-nested.c (finalize_nesting_tree_1): Append a field to
hold the frame base address.
* dwarf2out.c (gen_subprogram_die): Generate for
erand is the
right predicate there anyway.
nathan
2015-11-29 Nathan Sidwell
* config/nvptx/nvptx.md (const_0_operand, global_mem_operand,
const_mem_operand, param_mem_operand, shared_mem_operand): Delete.
(ctrap): Use const0_operand.
Index: gcc/config/nvptx/nvp
emitted by write_fn_decl_and_comment).
While there I made the handling of name replacement consistent between the two
prototype emitters and tidied up the argument emission of write_fn_decl.
nathan
2015-11-30 Nathan Sidwell
* config/nvptx/nvptx.c (nvptx_name_replacement): Move earlier.
(write_one_arg
arg_advance doesn't need to consider TImode. Those are always passed by
reference.
nathan
2015-12-01 Nathan Sidwell
* config/nvptx/nvptx.c (nvptx_function_arg_advance): Don't
consider mode.
Index: config/nvp
an a
regular visible decl.
(b) local decls were being exported with a .visible
While there, I introduced 2 newhelper functions to emit the linker marker
comments and adjusted code to use those two helpers.
nathan
2015-12-01 Nathan Sidwell
gcc/
* config/nvptx/nvptx-prot
On 12/02/15 05:40, Jakub Jelinek wrote:
Don't know the HW good enough, is there any power consumption, heat etc.
difference between the two approaches? I mean does the HW consume different
amount of power if only one thread in a warp executes code and the other
threads in the same warp just jum
On 12/02/15 08:10, Jakub Jelinek wrote:
On Wed, Dec 02, 2015 at 08:02:47AM -0500, Nathan Sidwell wrote:
Always the whole stack, from the current stack pointer up to top of the
stack, so sometimes a few bytes, sometimes a few kilobytes or more each time?
The frame of the current function
On 12/02/15 08:46, Jakub Jelinek wrote:
Or does the OpenACC execution model not allow anything like that, i.e.
have some function with an automatic variable pass the address of that
variable to some other function and that other function use #acc loop kind
that expects the caller to be at the wo
On 12/02/15 09:22, Jakub Jelinek wrote:
I believe Alex' testing revealed that if you take address of the same .local
objects in several threads, the addresses are the same, and therefore you
refer to your own .local space rather than the other thread's.
Before or after applying cvta?
nathan
On 12/02/15 09:24, Jakub Jelinek wrote:
On Wed, Dec 02, 2015 at 09:23:11AM -0500, Nathan Sidwell wrote:
On 12/02/15 09:22, Jakub Jelinek wrote:
I believe Alex' testing revealed that if you take address of the same .local
objects in several threads, the addresses are the same, and ther
On 12/02/15 09:41, Alexander Monakov wrote:
On Wed, 2 Dec 2015, Nathan Sidwell wrote:
On 12/02/15 05:40, Jakub Jelinek wrote:
Don't know the HW good enough, is there any power consumption, heat etc.
difference between the two approaches? I mean does the HW consume different
amount of
needed). There
doesn't appear a need for a separate punbuffer.
Thus this patch deletes a lot of that machinery.
nathan
2015-12-02 Nathan Sidwell
* config/nvptx/nvptx-protos.h (nvptx_output_mov_insn): Declare.
(nvptx_underlying_object_mode): Delete.
* config/nvptx/nv
On 12/02/15 10:12, Jakub Jelinek wrote:
If we have a reasonable IPA pass to discover which addressable variables can
be shared by multiple threads and which can't, then we could use soft-stack
for those that can be shared by multiple PTX threads (different warps, or
same warp, different threads
On 12/02/15 11:35, Jakub Jelinek wrote:
On Wed, Dec 02, 2015 at 06:44:11PM +0300, Alexander Monakov wrote:
But you never know if people actually use #pragma omp simd regions or not,
sometimes they will, sometimes they won't, and if the uniform SIMT
increases
power consumption, it might not be
On 12/02/15 12:09, Alexander Monakov wrote:
I meant the PTX linked (post PTX-JIT link) image, so regardless of support,
it's not an issue. E.g. check early in gomp_nvptx_main if .weak
__nvptx_has_simd != 0. It would only break if there was dlopen on PTX.
Note I found a bug in .weak support.
I noticed an enum would be cleaner to define the shuffle kinds.
nathan
2015-12-02 Nathan Sidwell
* config/nvptx/nvptx.c (enum nvptx_shuffle_kind): New. Absorb
SHUFFLE defines.
(nvptx_gen_shuffle, nvptx_print_operand, nvptx_expand_shuffle): Adjust.
Index: config/nvptx/nvptx.c
with a little tinkering with the move insn predicates and constraints, that
unspec can go away too, but I didn't want to tackle that in this patch.
nathan
2015-12-03 Nathan Sidwell
gcc/
* config/nvptx/nvptx-protos.h (npvptx_section_from_addr_space): Delete.
* config/nvptx/nvptx.
The recently added test graphite/id-28.c requires pthreads due to its use of
-fcilkplus. Committed as obvious.
nathan
2015-12-04 Nathan Sidwell
* gcc.dg/graphite/id-28.c: Requires pthreads.
Index: testsuite/gcc.dg/graphite/id-28.c
s slightly different in the two paths.
I've not changed that behaviour, but I suspect it may be an error. Will relook
at that when I'm done reducing the duplication in the function calling machinery.
nathan
2015-12-04 Nathan Sidwell
* config/nvptx/nvptx.c (write_one_arg)
rrays.
nathan
2015-12-04 Nathan Sidwell
gcc/
* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): New,
replacing ...
(init_output_initializer): ... this.
(nvptx_output_aligned_decl, nvptx_asm_declare_constant_name,
nvptx_declare_object_name, nvptx_assemble_undefined_decl)
On 12/04/15 13:44, Nathan Sidwell wrote:
I've committed this patch to unify the variable emission machinery. All four
hooks were doing small variations of a common theme. This introduces
nvptx_assemble_decl_begin to do the common work. While there, I expanded the
init initialization co
gcc.dg/vla-24.c uses alloca. Marked accordingly and committed as obvious.
nathan
2015-12-04 Nathan Sidwell
* gcc.dg/vla-24.c: Requires alloca.
Index: testsuite/gcc.dg/vla-24.c
===
--- testsuite/gcc.dg/vla-24.c (revision
On 12/04/15 13:28, Dmitry Vyukov wrote:
On Fri, Dec 4, 2015 at 6:39 PM, Jakub Jelinek wrote:
On Fri, Dec 04, 2015 at 06:32:38PM +0100, Dmitry Vyukov wrote:
+2015-12-04 Dmitry Vyukov
+
+ * sancov.c: New file.
+ * Makefile.in (OBJS): Add sancov.o.
+ * invoke.texi (-fsanitize-cover
ave to deal with any
trailing partial elements.
nathan
2015-12-07 Nathan Sidwell
gcc/
* config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Look inside
complex and vector types. Cope with packed structs.
gcc/testsuite/
* gcc.target/nvptx/decl-init.c: New
On 12/06/15 03:56, Dmitry Vyukov wrote:
Hello,
Sancov tests submitted in 231296 assume that asan is supported on all platforms.
This patch fixes that assumption.
* gcc.target/powerpc/recip-sqrtf.c: New test.
Index: gcc.dg/sancov/sancov.exp
==
On 12/01/15 11:01, Bernd Schmidt wrote:
On 12/01/2015 04:28 PM, Alexander Monakov wrote:
I'm taking a different approach. I want to execute all insns in all warp
members, while ensuring that effect (on global and local state) is that same
as if any single thread was executing that instruction.
On 12/01/15 18:52, Bernd Schmidt wrote:
What exactly is the problem with having asm files? I'm asking because this...
On 12/01/2015 04:28 PM, Alexander Monakov wrote:
+/* __shared__ char *__nvptx_stacks[32]; */
+asm ("// BEGIN GLOBAL VAR DEF: __nvptx_stacks");
+asm (".visible .shared .u64 __nv
with what looked like
incomplete jump threading.
This patch changes call emission to look for a noreturn note and emit a trap
insn after the call. The JIT no longer explodes.
nathan
2015-12-07 Nathan Sidwell
gcc/
* config/nvptx/nvptx.c (nvptx_output_call_insn): Emit trap after no
r
On 12/07/15 11:18, Nathan Sidwell wrote:
calls to no return fns can cause problems with the PTX JIT. It doesn't
understand their no-return nature and can erroneously think there are unexitable
loops (depending on the precise placement of bbs). It can get so upset it
segfaults.
gcc.dg/pr
On 12/07/15 12:08, Alexander Monakov wrote:
Hello Nathan,
On Mon, 7 Dec 2015, Nathan Sidwell wrote:
This patch changes call emission to look for a noreturn note and emit a trap
insn after the call. The JIT no longer explodes.
I think there's a potential issue with the patch: whe
thing that I've been wondering about for a little while.
So, back to figuring out that one now ...
nathan
2015-12-07 Nathan Sidwell
* config//nvptx/nvptx.c (write_return): New.
(write_fn_proto, nvptx_declare_function_name): Call it.
Index: config/nvp
On 12/07/15 12:42, Bernd Schmidt wrote:
On 12/07/2015 06:34 PM, Nathan Sidwell wrote:
Aren't noreturn fns required to be void? It certainly doesn't make
sense for them to do otherwise.
The documentation says "it makes no sense" for them to have a type other than
void, bu
These tests no longer cause the PTX assembler to seg fault, so no reason to skip
them.
nathan
2015-12-08 Nathan Sidwell
* gcc.c-torture/compile/920723-1.c: Remove PTX skip.
* gcc.c-torture/compile/pr33855.c: Likewise.
* gcc.c-torture/execute/981019-1.c: Remove PTX -O2 skip.
Index
On 12/08/15 14:35, Alexander Monakov wrote:
On Tue, 8 Dec 2015, Nathan Sidwell wrote:
These tests no longer cause the PTX assembler to seg fault, so no reason to
skip them.
Shouldn't all such cases use 'dg-xfail' rather than 'dg-skip-if'? Should be
more reasonable
h fragment.
nathan
2015-12-08 Nathan Sidwell
gcc/
* config/nvptx/nvptx.c (decl_chunk_size, decl_chunk_mode,
decl_offset, init_part, object_size, object_finished): Replace
with ...
(struct init_frag): ... this new struct variable.
(begin_decl_field, output_decl_chunk): Re
same calculation.
Also, I split write_one_arg into a write_one_arg helper, (which does write one
arg), and a write_arg main entry point (which writes one or more PTX args).
nathan
2015-12-10 Nathan Sidwell
* config/nvptx/nvptx.c (nvptx_function_arg,
nvptx_function_incomin
rch
or regexp-isearch :-)
It was incremental :) it;s kind of nice just to stop typing when it hits
the first ICE message! But, I'm not going to object any more, I guess
I'll live with it.
[I'm sure I can figure out some emacs macro binding to DTRT]
nathan
--
Nathan Sidwell
it_capture_pack)
(tsubst_expr): Likewise.
* semantics.c (capture_decltype): Likewise.
libcc1/
* libcp1plugin.cc (plugin_build_dependent_expr): Likewise.
pushing to trunk
nathan
--
Nathan Sidwell
diff --git c/gcc/cp/call.c w/gcc/cp/call.c
index f164b211c9f..47a368d069d 100644
--- c/gcc/
): Adjust lookup_name_real call.
(lookup_init_capture, tsubst_expr): Likewise.
* rtti.c (emit_support_tinfos): Adjust lookup_qualified_name call.
* semantics.c (omp_reduction_lookup): Likewise.
(capture_decltype): Adjust lookup_name_real call.
libcc1/
*
+.dg/torture/attr-exalias-3.C: New.
* g++.dg/torture/attr-exalias-4.C: New.
https://gcc.gnu.org/pipermail/gcc-patches/2020-August/551614.html
--
Nathan Sidwell
look in namespaces.
libcc1/
* libcp1plugin.cc (plugin_build_dependent_exp): Adjust
lookup_name_real call.
--
Nathan Sidwell
diff --git c/gcc/cp/call.c w/gcc/cp/call.c
index d4935bd0ce1..7b46d70c2cf 100644
--- c/gcc/cp/call.c
+++ w/gcc/cp/call.c
@@ -4704,7 +4704,7 @@ build_operato
On 8/14/20 3:24 PM, Alexandre Oliva wrote:
On Aug 14, 2020, Nathan Sidwell wrote:
This seems a useful feature. I don;t think it needs language
lawyering -- it's an extension, right?
Well, yeah, but I think it's usually good for even extensions to be
sound language-wise.
By
(tsubst_friend_class, lookup_init_capture_pack): Likewise.
(tsubst_expr): Likewise.
* semantics.c (capture_decltype): Likewise.
libcc1/
* libcp1plugin.cc (plugin_build_dependent_expr): Rename
lookup_name_real call.
--
Nathan Sidwell
diff --git i/gcc/cp/call.c w/gcc/cp
On 8/14/20 10:43 PM, Alexandre Oliva wrote:
On Aug 14, 2020, Nathan Sidwell wrote:
Since you don't seem to have liked 'aka' either, how about 'nickname',
or 'nicknamed'? A more convenient name to refer to an entity is exactly
what this is about, eh?
name-lookup.c (qualify_lookup): Drop lambda checking here.
Reorder namespace & type checking.
(lookup_name_1): Do hidden lambda checking here.
pushed
--
Nathan Sidwell
diff --git i/gcc/cp/name-lookup.c w/gcc/cp/name-lookup.c
index ad9c92da254..c68ea09e610 100644
--- i/gc
t.
Needless to say modules fell over the duplicated template_info and got
very confused.
gcc/cp/
* cp-tree.h (SET_TYPE_TEMPLTE_INFO): Do not deal with ALIAS
templates.
* pt.c (lookup_template_class_1): Special-case alias template
template_info setting.
--
Nath
I frequently need to look at overload sets, and debug_node spews more
information than is useful, most of the time. Here's a dumper for
overloads, that just tells you their full name and where they came from.
gcc/cp
* ptree.c (debug_overload): New.
pushed
--
Nathan Sidwell
g, check class binding here.
(maybe_save_operator_binding): Reimplement to always cache a
result.
(push_operator_bindings): Deal with 'ignore' marker.
gcc/testsuite/
* g++.dg/lookup/operator-1.C: New.
* g++.dg/lookup/operator-2.C: New.
pushed
nathan
--
#x27;
thoughts?
nathan
--
Nathan Sidwell
ed to
vectorize this loop because ...'
thoughts?
this would be very bad on Solaris: it's been using -R (the native form
of GNU ld -rpath) for ages; changing this now would cause much breakage.
oh gosh, I remember that :) thanks for the reminder!
nathan
--
Nathan Sidwell
On 8/26/20 9:40 AM, Richard Biener wrote:
On Wed, Aug 26, 2020 at 3:37 PM Nathan Sidwell wrote:
Hi,
I had a need to add a new type of informative message on the modules
branch, with an option to enable it. The message is not a warning or an
error, but just 'hey, you asked if X happens
On 8/26/20 12:06 PM, Jason Merrill wrote:
On 8/26/20 8:30 AM, Nathan Sidwell wrote:
Jason's fix to retain operator lookups inside dependent lambda
functions turns out to be needed on the modules branch for all
template functions. Because the context for that lookup no longer
exists in im
On 8/26/20 1:07 PM, Jason Merrill wrote:
On 8/26/20 12:56 PM, Nathan Sidwell wrote:
On 8/26/20 12:06 PM, Jason Merrill wrote:
On 8/26/20 8:30 AM, Nathan Sidwell wrote:
This still retains only recording on lambdas. As the comment says, we
could enable for all templates.
If we're
ng-view1.C: New test.
* g++.dg/modules/string-view2.C: Ditto.
Please let me know if there's anything more I can do,
Jeff Chapman II
--
Nathan Sidwell
diff --git c/ChangeLog.modules w/ChangeLog.modules
index 4d50352a698..27233f0228d 100644
--- c/ChangeLog.modules
+++ w/ChangeLog.m
ux, OK for trunk?
seems reasonable, thanks
--
Nathan Sidwell
601 - 700 of 2551 matches
Mail list logo