Re: [C++ PATCH] PR c++/88123 - lambda and using-directive.

2019-03-08 Thread Nathan Sidwell
On 3/8/19 10:30 AM, Jason Merrill wrote: The comment for push_operator_bindings already says "push the bindings we saved away in maybe_save_op_lookup into the function parameter binding level", are you thinking of something else/more detailed? good enough, thanks -- Nathan Sidwell

duplicate using declarations

2019-03-14 Thread Nathan Sidwell
k entirely? There's a bunch of obsolete using decl code I'd like to kill before adding support to modules. nathan -- Nathan Sidwell

Re: duplicate using declarations

2019-03-14 Thread Nathan Sidwell
I see this is DR 36. http://wiki.edg.com/pub/Wg21kona2019/CoreWorkingGroup/cwg_active.html#36 I still think we should drop this check, for one thing we don't apply it consistently (eg, naming an unscoped enum value). On 3/14/19 11:47 AM, Nathan Sidwell wrote: Jason, Paolo, This con

[C++] compiler incompatibility with lambdas

2019-03-20 Thread Nathan Sidwell
ic _FUN executor. Jason, any objections for trunk? nathan -- Nathan Sidwell 2019-03-20 Nathan Sidwell * lambda.c (maybe_add_lambda_conv_op): Don't add to comdat group. * g++.dg/abi/lambda-static-1.C: New. Index: cp/lambda.c =

Re: [C++ PATCH] Fix lambda capture duplicate handling (PR c++/89767)

2019-03-20 Thread Nathan Sidwell
o and more than zero captures. The next most common after zero would be 1. Besides, identifiers are trivial to hash. nathan -- Nathan Sidwell

Re: [C++ PATCH] Fix lambda capture duplicate handling (PR c++/89767)

2019-03-20 Thread Nathan Sidwell
On 3/20/19 10:48 AM, Jakub Jelinek wrote: On Wed, Mar 20, 2019 at 10:34:51AM -0400, Nathan Sidwell wrote: On 3/19/19 2:14 PM, Jakub Jelinek wrote: add_capture when parsing a lambda introducer uses the IDENTIFIER_MARKED bit to detect duplicate captures. I guess in strict C++11 that could have

Re: [C++ PATCH] Fix lambda capture duplicate handling (PR c++/89767, take 3 & 4)

2019-03-20 Thread Nathan Sidwell
On 3/20/19 1:15 PM, Jakub Jelinek wrote: On Wed, Mar 20, 2019 at 11:10:19AM -0400, Nathan Sidwell wrote: I was unclear. I was for the lazy creation of the hash. I just think it can be lazily created at either the first or second explicit capture. On top of the https://gcc.gnu.org/ml/gcc

Re: [C++] compiler incompatibility with lambdas

2019-03-26 Thread Nathan Sidwell
hat's enough to check for different group names. Yes, thanks. nathan -- Nathan Sidwell

[wwwdocs] C++ Coroutines

2019-04-29 Thread Nathan Sidwell
I've committed this as obvious. The TS section didn't note coroutines were in progress. nathan -- Nathan Sidwell Index: projects/cxx-status.html === RCS file: /cvs/gcc/wwwdocs/htdocs/projects/cxx-status.html,v retrievin

[C++ PATCH] some cleanups

2019-04-29 Thread Nathan Sidwell
copy. process_outer_var_ref had some unnecessary line-breaks and block scopes. explain_implicit_non_constexpr had some unnecessary repetitiveness. Applying to trunk. nathan -- Nathan Sidwell 2019-04-29 Nathan Sidwell * decl.c (duplicate_decls): Add whitespace, move comments into conditional b

[GC PATCH] Correct TS marking of _EXPR nodes

2019-04-30 Thread Nathan Sidwell
I discovered we were not correctly marking the TS array for language-specific _EXPR nodes. We got away with this because the GC marking used other means for dealing with such nodes. I, however, was relying on it for modules streaming. applying to trunk. nathan -- Nathan Sidwell 2019-04-30

[C++ PATCH] Simplify class member lookup

2019-05-01 Thread Nathan Sidwell
Here's another simplification I'd accumulated. The final arg to get_class_binding no longer needs to be tri-valued, a simple bool will do. This results in better diagnostics in one testcase. nathan -- Nathan Sidwell 2019-05-01 Nathan Sidwell gcc/cp/ * nam

[C++ PATCH] remove unreachable code

2019-05-02 Thread Nathan Sidwell
Applying this patch to remove code that has become unreachable. We'll already have bailed out if it was a NAMESPACE_DECL. nathan -- Nathan Sidwell 2019-05-02 Nathan Sidwell * semantics.c (finish_id_expression_1): Remove unreachable code. Index: gcc/cp/semant

[libcpp] struct deps renaming

2019-05-06 Thread Nathan Sidwell
I have some patches to mkdeps, but first this one renames the rather bland 'struct deps' to 'struct mkdeps'. (discovered when I made myself a local 'struct deps') [mkdeps at least matches the file name, even though it's going to become non make-specific.]

[libcpp] Reimplement mkdeps data structures

2019-05-07 Thread Nathan Sidwell
so we can just record when we stopped adding already-quoted targets. nathan -- Nathan Sidwell 2019-05-07 Nathan Sidwell * include/mkdeps.h (deps_write): Add PHONY arg. (deps_phony_targets): Delete. * init.c (cpp_finish): Just call deps_write. * mkdeps.c (struct mkdeps): Add local ve

Re: [libcpp] Reimplement mkdeps data structures

2019-05-07 Thread Nathan Sidwell
thing. That now causes a null pointer dereference. We shouldn't be registering such blank names. Fixed thusly. I see glibc uses -MT file1\ file1 to register multiple targets, that's somewhat implementation & make specific, but not our problem ... nathan -- Nathan Sidwell 2019-05

[C++ PATCH] Kill DECL_SAVED_FUNCTION_DATA

2019-05-08 Thread Nathan Sidwell
function data, and stores the auto pattern in the decl's slot that used to point to the saved data. nathan -- Nathan Sidwell 2019-05-08 Nathan Sidwell Kill DECL_SAVED_FUNCTION_DATA . * cp-tree.h (language_function): Remove x_auto_return_pattern. (current_function_auto_return_pattern): D

[DWARF] dwarf2out cleanups

2019-05-10 Thread Nathan Sidwell
places. I've replaced that with a bool to control whether we should splice. That at least helped me understand the code better, and should give the optimizer better visibility to simplify the generated control flow. tested on x86_64-linux, ok? nathan -- Nathan Sidwell 2019-05-10 Nathan Si

[PATCH] A couple of driver cleanups

2019-05-13 Thread Nathan Sidwell
I'm applying this obvious patch. Two hunks deal with inappropriate line breaks, and the first changes the baroque: var = (thing) ? thing : var; into the much clearer if (thing) var = thing; nathan -- Nathan Sidwell 2019-05-13 Nathan Sidwell gcc.c * (execute): Simplify

Re: [PATCH 1/3] Do a refactoring in linemap (PR preprocessor/90382).

2019-05-14 Thread Nathan Sidwell
. nathan -- Nathan Sidwell

Re: [PATCH 2/3] Fix min_location usage in line-map.c (PR preprocessor/90382).

2019-05-14 Thread Nathan Sidwell
On 5/13/19 7:10 AM, marxin wrote: libcpp/ChangeLog: 2019-05-13 Martin Liska PR preprocessor/90382 * line-map.c (first_map_in_common_1): Handle ADHOC locations. --- ok -- Nathan Sidwell

[DRIVER PATCH]: Nadger subprocess argv[0]

2019-05-14 Thread Nathan Sidwell
y and now goes away. We get: xg++(cc1plus): fatal error: frob.cc: No such file or directory Thoughts? Ok? Stupid idea? nathan -- Nathan Sidwell 2019-05-14 Nathan Sidwell * gcc.c (execute): Splice current executable name into spawned argv[0] for better subprocess diagnostics. (proces

Re: [C++ Patch] Consistently use OVL_P

2019-05-14 Thread Nathan Sidwell
point, they're always wrapped in overloads. Could you see if that's true? nathan -- Nathan Sidwell

Re: [C++ Patch] Consistently use OVL_P

2019-05-15 Thread Nathan Sidwell
27;ll comfortably deal with it. great, thanks for trying that. Marek found the nits. nathan -- Nathan Sidwell

Re: [PATCH] PR c++/90532 Ensure __is_constructible(T[]) is false

2019-05-20 Thread Nathan Sidwell
use std::is_constructible, which now gives the right answer for arrays of unknown bound. gcc/cp: PR c++/90532 Ensure __is_constructible(T[]) is false * method.c (is_xible_helper): Return error_mark_node for construction of an array of unknown bound. ok, thanks -- Nathan Sidwell

[C++ PATCH] namespace using directives

2019-05-20 Thread Nathan Sidwell
. As another benefit the diagnostic machinery looking for using namespace std is simplified. Applying to trunk. nathan -- Nathan Sidwell 2019-05-20 Nathan Sidwell * cp-tree.h (struct lang_decl_ns): Remove usings field. (DECL_NAMESPACE_USING): Delete. * name-lookup.c (name_lookup::search_u

[C++ PATCH] Commonixe using directive finishing

2019-05-20 Thread Nathan Sidwell
This patch commonizes local- and namespace-scope using directive finishing. While a small cleanup, it matches a more significant using-decl patch I have next. applying to trunk. nathan -- Nathan Sidwell 2019-05-20 Nathan Sidwell gcc/cp/ * name-lookup.c (finish_namespace_using_directive

Re: [C++ PATCH] Commonixe using directive finishing

2019-05-20 Thread Nathan Sidwell
On 5/20/19 10:55 AM, Marek Polacek wrote: On Mon, May 20, 2019 at 09:48:57AM -0400, Nathan Sidwell wrote: + if (attribs != error_mark_node) +for (tree a = attribs; a; a = TREE_CHAIN (a)) + { + tree name = get_attribute_name (a); + if (current_binding_level->k

[C++ PATCH] Using decls

2019-05-21 Thread Nathan Sidwell
This patch reimplements using-decl handling. It removes the double lookup of the target name, and commonizes the local- and namespace- scope handling into a single function. Applying to trunk. nathan -- Nathan Sidwell 2019-05-21 Nathan Sidwell gcc/cp/ * name-lookup.h (struct

Re: [C++ PATCH] Using decls

2019-05-21 Thread Nathan Sidwell
On 5/21/19 10:43 AM, Marek Polacek wrote: Thanks for the patch and sorry for nitpicking: On Tue, May 21, 2019 at 10:32:31AM -0400, Nathan Sidwell wrote: -/* Process a local-scope or namespace-scope using declaration. SCOPE +/* Process a local-scope or namespace-scope using declaration

[PR c++/86610] lambda captures in templates

2019-01-16 Thread Nathan Sidwell
t the comment says it checking. Anyway changing the test to check DECL's type-dependency makes the right things happen, and a bootstrap passes. Could you review please. nathan -- Nathan Sidwell 2019-01-16 Nathan Sidwell PR c++/86610 * semantics.c (process_outer_var_ref): Only skip depen

Re: [PATCH] C++: Fix ICE when adding overloaded operator via using_decl (PR c++/88699)

2019-01-17 Thread Nathan Sidwell
* class.c (add_method): Don't use DECL_DESTRUCTOR_P on USING_DECLs. gcc/testsuite/ChangeLog: PR c++/88699 * g++.dg/template/pr88699.C: New test. ok thanks -- Nathan Sidwell

[backtrace] Avoid segfault

2019-01-24 Thread Nathan Sidwell
onditional I'm fine with that too. ok? nathan -- Nathan Sidwell 2019-01-24 Nathan Sidwell * elf.c (elf_find_debugfile_by_debuglink): Protect against FILENAME being NULL. Index: libbacktrace/elf.c === --- libbacktrace/elf

Re: [PATCH] C++ concepts: fix ICE with requires on dtors (PR c++/89036)

2019-01-25 Thread Nathan Sidwell
something determined from the template parms. Nathan introduced this assertion as part of: ca9219bf18c68a001d62ecb981bc9176b0feaf12 (aka r251340): 2017-08-24 Nathan Sidwell Conversion operators kept on single overload set I'd just drop the assert at this point. nathan -- Nathan Sidwell

Re: [backtrace] Avoid segfault

2019-01-25 Thread Nathan Sidwell
is triggering now -- maybe my debuginfo packages are out of date? nathan -- Nathan Sidwell 2019-01-25 Nathan Sidwell * elf.c (elf_add): Pass "" filename to recursive call with separated debug. Index: elf.c === --- el

Re: PING^2 Re: [PATCH v2] C++ concepts: fix ICE with requires on dtors (PR c++/89036)

2019-02-13 Thread Nathan Sidwell
On 2/13/19 9:36 AM, David Malcolm wrote: Ping yes, sorry didn't realize you were waiting on me. On Fri, 2019-02-08 at 12:03 -0500, David Malcolm wrote: Ping On Fri, 2019-01-25 at 15:02 -0500, David Malcolm wrote: On Fri, 2019-01-25 at 08:59 -0800, Nathan Sidwell wrote: On 1/25/19

Re: [PATCH] gcov tool: Implement Hawick's algorithm for cycle detection, (PR gcov-profile/67992)

2016-08-03 Thread Nathan Sidwell
Martin, As I've going through all PRs related to gcov-profile, I've noticed this PR. Current implementation of cycle detection in gcov is very poor, leading to extreme run time for cases like mentioned in the PR (which does not contain a cycle). Thank to Joshua, I've grabbed his patch and remov

[PTX] fix worker propagation ICE

2016-08-03 Thread Nathan Sidwell
omp4. 2016-08-03 Nathan Sidwell gcc/ * config/nvptx/nvptx.c (nvptx_declare_function_name): Round frame size to DImode boundary. (nvptx_propagate): Likewise. libgomp/ * testsuite/libgomp.oacc-c-c++-common/crash-1.c: New. Index: gcc/config/nvptx/nvp

Re: [PATCH 1/2] Fix GNU coding style in gcov.c

2016-08-04 Thread Nathan Sidwell
On 08/04/16 06:39, Martin Liška wrote: On 08/03/2016 04:22 PM, Nathan Sidwell wrote: Martin, As I've going through all PRs related to gcov-profile, I've noticed this PR. Current implementation of cycle detection in gcov is very poor, leading to extreme run time for cases like mentio

Re: [PATCH] Create x.gcov file for binary w/o x.gcda file (PR, gcov-profile/65831)

2016-08-04 Thread Nathan Sidwell
On 08/04/16 08:27, Martin Liška wrote: Hi. Following patch is grabbed from the PR, where I just applied the patch and wrote a test-case which removes x.gcda file before running gcov tool. Ready to be installed? 2016-08-04 Martin Liska * g++.dg/gcov/gcov-16.C: New test. * l

Re: [PATCH] gcov tool: Implement Hawick's algorithm for cycle detection, (PR gcov-profile/67992)

2016-08-04 Thread Nathan Sidwell
On 08/04/16 06:41, Martin Liška wrote: On 08/03/2016 04:22 PM, Nathan Sidwell wrote: Martin, As I've going through all PRs related to gcov-profile, I've noticed this PR. Current implementation of cycle detection in gcov is very poor, leading to extreme run time for cases like mentio

Re: [PATCH 1/4] Cherry-pick fprofile-generate-atomic from google/gcc-4_9 branch

2016-08-04 Thread Nathan Sidwell
On 08/01/16 09:29, Martin Liška wrote: I also added a small hunk that describes problematic of app having not-joined (or detached) threads, can you please take a look at documentation change, maybe it would need some transformation? sorry for the tady response,thanks for the ping. In genera

Re: [PATCH] gcov tool: Implement Hawick's algorithm for cycle detection, (PR gcov-profile/67992)

2016-08-04 Thread Nathan Sidwell
On 08/04/16 10:42, Martin Liška wrote: I decided to use a new enum, hope it's better? that's fine. But you know, if you set the enum values appropriately you could use the | trick rather than the compare you've done (c++ enum type safety would require an overloaded | operator though). I do

Re: [PATCH 1/4] Cherry-pick fprofile-generate-atomic from google/gcc-4_9 branch

2016-08-04 Thread Nathan Sidwell
On 08/04/16 11:34, Martin Liška wrote: On 08/04/2016 04:48 PM, Nathan Sidwell wrote: diff --git a/libgcc/libgcov-profiler.c b/libgcc/libgcov-profiler.c +static inline void +__gcov_one_value_profiler_body_atomic (gcov_type *counters, gcov_type value) +{ ... The body looks to have data races

Re: [PATCH] gcov tool: Implement Hawick's algorithm for cycle detection, (PR gcov-profile/67992)

2016-08-04 Thread Nathan Sidwell
On 08/04/16 12:10, Martin Liška wrote: On 08/04/2016 05:13 PM, Nathan Sidwell wrote: On 08/04/16 10:42, Martin Liška wrote: I decided to use a new enum, hope it's better? that's fine. But you know, if you set the enum values appropriately you could use the | trick rather than t

Re: [PATCH 1/4] Cherry-pick fprofile-generate-atomic from google/gcc-4_9 branch

2016-08-04 Thread Nathan Sidwell
On 08/04/16 12:43, Nathan Sidwell wrote: How about: gcov_t expected; atomic_load (&counter[0], val, ...); gcov_t delta = val == value ? 1 : -1; atomic_add (&counter[1], delta); <-- or atomic_add_fetch if (delta < 0) { /* can we set counter[0]? */ atomic_load (&cou

Re: [ARM] mno-pic-data-is-text-relative & msingle-pic-base

2016-08-05 Thread Nathan Sidwell
On 08/05/16 00:56, Irfan Ahmad wrote: 1. In the absence of lazy binding (that is almost always the case in embedded systems), GOT is practically read-only - it needs to be modified only during 'practically' as in 'almost', or is it really read only? linking by the dynamic linker, after that

[C++/68724] ICE with TRAIT_EXPR

2016-08-05 Thread Nathan Sidwell
I've committed this patch to fix a failed assertion. unify's (pt.c) default case asserts EXPR_P(parm), but TRAIT_EXPR is tcc_exceptional, so fails. However from unify's POV it's no more exceptional than, say, SIZEOF_EXPR, so should be allowed at that point. nathan 2016-0

Re: [PATCH] gcov tool: Implement Hawick's algorithm for cycle detection, (PR gcov-profile/67992)

2016-08-05 Thread Nathan Sidwell
On 08/05/16 03:32, Martin Liška wrote: On 08/05/2016 09:30 AM, Martin Liška wrote: Hi. Sorry for the mistake with the enum, that was silly ;) New patch version also handles the unnecessary braces. Martin I attached a wrong patch, sending the new one. This one looks good, thanks! nathan

Re: [PATCH 1/4] Cherry-pick fprofile-generate-atomic from google/gcc-4_9 branch

2016-08-05 Thread Nathan Sidwell
On 08/05/16 04:55, Martin Liška wrote: Thank you for very intensive brainstorming ;) Well I still believe that following code is not thread safe, let's image following situation: yeah, you're right. we could do better by using compare_exchange storing value, and detect the race I mentione

Re: [PATCH] gcov: rename line_next to next_file_fn in function_info

2016-08-05 Thread Nathan Sidwell
On 08/05/16 08:22, Martin Liška wrote: Hello. This corrects a record field name where comment does not correspond to it's name. make check -k RUNTESTFLAGS="gcov.exp" works fine. Ready to install? heh, 'line_next' is perfectly good name for the next function. No, wait, it's stupid! your p

Re: [PATCH 1/4] Cherry-pick fprofile-generate-atomic from google/gcc-4_9 branch

2016-08-05 Thread Nathan Sidwell
On 08/05/16 08:48, Martin Liška wrote: Ok, after all the experimenting and inventing "almost" thread-safe code, I incline to not to include __gcov_one_value_profiler_body_atomic counter. The final solution is cumbersome and probably does not worth doing. Moreover, even having a thread-safe imp

Re: [C++/68724] ICE with TRAIT_EXPR

2016-08-05 Thread Nathan Sidwell
On 08/05/16 12:06, Jason Merrill wrote: On Fri, Aug 5, 2016 at 8:24 AM, Nathan Sidwell wrote: I've committed this patch to fix a failed assertion. unify's (pt.c) default case asserts EXPR_P(parm), but TRAIT_EXPR is tcc_exceptional, so fails. However from unify's POV it's

Re: [PATCH] gcov tool: Implement Hawick's algorithm for cycle detection, (PR gcov-profile/67992)

2016-08-08 Thread Nathan Sidwell
On 08/06/16 06:31, Jakub Jelinek wrote: Fixed thusly, committed as obvious to trunk: 2016-08-06 Jakub Jelinek * gcov.c (handle_cycle): Use INTTYPE_MAXIMUM (int64_t) instead of INT64_MAX. thanks Jakub! nathan

Re: [PATCH 5/N] Add new *_atomic counter update function, (-fprofile-update=atomic)

2016-08-08 Thread Nathan Sidwell
On 08/08/16 09:59, Martin Liška wrote: Hello. This patch is follow-up of the series where I introduce a set of counter update function that are thread-safe. I originally thought that majority of profile corruptions are caused by non-atomic updated of CFG (-fprofile-arc). But there are multiple

Re: [PATCH] Fix POW2 histogram

2016-08-09 Thread Nathan Sidwell
On 08/08/16 12:56, Martin Liška wrote: Hello. Currently, we utilize pow2 profile histogram to track gimple STMTs like this: ssa_name_x % value. void __gcov_pow2_profiler (gcov_type *counters, gcov_type value) { if (value & (value - 1)) counters[0]++; else counters[1]++; } Although

Re: [PATCH 5/N] Add new *_atomic counter update function, (-fprofile-update=atomic)

2016-08-09 Thread Nathan Sidwell
On 08/08/16 13:03, Martin Liška wrote: v3: fixed wrong defines in libgcc/Makefine.in ok, thanks

Re: [PATCH 2/N] Fix usage of POW2 histogram

2016-08-09 Thread Nathan Sidwell
On 08/09/16 04:41, Martin Liška wrote: Another small follow-up changes instrumentation of MOD exprs to not instrument divisors different from SSA_NAME. Patch survives: make check -k -j10 RUNTESTFLAGS="tree-prof.exp" ok, thanks

Re: [PATCH] Set -fprofile-update=atomic when -pthread is present

2016-08-09 Thread Nathan Sidwell
On 08/09/16 07:24, Martin Liška wrote: Hi. As mention in [1], enabling -fprofile-update=atomic when -pthread is logical thing and is quite expected default behavior. Ready for trunk? [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58306#c21 This certainly requires changes to invoke.texi, an

Re: [PATCH, RFC] gcov: dump in a static dtor instead of in an atexit handler

2016-08-10 Thread Nathan Sidwell
On 08/10/16 06:43, Martin Liška wrote: Hello. There are multiple PRs (mentioned in ChangeLog) which suffer from missing capability of gcov to save counters for functions with constructor/destructor attributes. I done that by simply replacing atexit handler (gcov_exit) with a new static destruc

Re: [PATCH, RFC] gcov: dump in a static dtor instead of in an atexit handler

2016-08-10 Thread Nathan Sidwell
On 08/10/16 08:53, Nathan Sidwell wrote: I think this is a good idea, but we should document the changed behavior. (I don't think the current behaviour's documented). oh, gcov_exit is a user callable routine. You'll have to keep it available.

Re: [PATCH 1/4] Cherry-pick fprofile-generate-atomic from google/gcc-4_9 branch

2016-08-10 Thread Nathan Sidwell
On 08/05/16 09:43, Martin Liška wrote: On 08/05/2016 03:14 PM, Nathan Sidwell wrote: On 08/05/16 08:48, Martin Liška wrote: Ok, after all the experimenting and inventing "almost" thread-safe code, I incline to not to include __gcov_one_value_profiler_body_atomic counter. The fina

Re: [PATCH] gcov: add new option (--hash-names) (PR gcov-profile/36412).

2016-08-15 Thread Nathan Sidwell
On 08/09/16 10:32, Martin Liška wrote: Hello. Following enhancement for gcov solves issues when we cannot create a file due to a filesystem path length limit. Selected approach utilizes existing md5sum functions. Patch survives make check -k RUNTESTFLAGS="gcov.exp" on x86_64-linux-gnu. Ready

Re: [PATCH] gcov: add new option (--hash-names) (PR gcov-profile/36412).

2016-08-15 Thread Nathan Sidwell
On 08/15/16 07:43, Martin Liška wrote: All nits are applied in the second version of patch. don't seem to match? Why 'e'? I've renamed it to -x, well, a lot of letters are already occupied. I guess 'x' may be better. If there is no good choice, do we really need a short name? (There di

Re: [PATCH] gcov: add new option (--hash-names) (PR gcov-profile/36412).

2016-08-16 Thread Nathan Sidwell
On 08/16/16 08:41, Martin Liška wrote: Thank you for the improvement, all suggested changes are part of new version of the patch. Ready for trunk? ok, thanks nathan

Re: [BUILDROBOT] avr broken

2016-08-16 Thread Nathan Sidwell
On 08/16/16 08:49, Martin Liška wrote: On 08/13/2016 02:14 PM, Jan-Benedict Glaw wrote: This doesn't work for AVR since their LONG_LONG_TYPE_SIZE depents on target flags (see eg. build http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=602648) Hello. Sorry for the breakage, I have

Re: [PATCH] Detect whether target can use -fprofile-update=atomic

2016-08-16 Thread Nathan Sidwell
On 08/16/16 08:55, Martin Liška wrote: Hello. As reported in [1], m68k has been broken since I installed the patch. Reason is that the target does not support atomic operations (add, or) for a mode of gcov_type. Because of that, we see an undefined symbols. Proper fix contains of 2 parts: a)

Re: [BUILDROBOT] avr broken

2016-08-16 Thread Nathan Sidwell
On 08/16/16 10:23, Martin Liška wrote: On 08/16/2016 03:36 PM, Nathan Sidwell wrote: On 08/16/16 08:49, Martin Liška wrote: On 08/13/2016 02:14 PM, Jan-Benedict Glaw wrote: This doesn't work for AVR since their LONG_LONG_TYPE_SIZE depents on target flags (see eg. build http://toolchai

Re: [PATCH] gcov: add new option (--hash-names) (PR gcov-profile/36412).

2016-08-16 Thread Nathan Sidwell
On 08/16/16 10:18, Martin Liška wrote: On 08/16/2016 03:28 PM, Nathan Sidwell wrote: On 08/16/16 08:41, Martin Liška wrote: Installed as r239503. Well, the creator of the PR reported that he's been using GCC 6.x, may I install the same patch to gcc-6 branch? I see the 6 branch i

Re: [BUILDROBOT] avr broken

2016-08-16 Thread Nathan Sidwell
On 08/16/16 13:04, Jan-Benedict Glaw wrote: That'll probably work. But after all, I'm not an AVR maintainer (not even an user), but just running the Build Robot. Does your robot approve? :)

Re: [PATCH] Set -fprofile-update=atomic when -pthread is present

2016-08-18 Thread Nathan Sidwell
On 08/17/16 23:15, Jeff Law wrote: On 08/12/2016 07:31 AM, Martin Liška wrote: On 08/09/2016 09:03 PM, Andi Kleen wrote: It could potentially make things a lot slower. I don't think it's a good idea to do this by default. -Andi Ok, alternative can be a warning in the driver that would inform

[gomp4] Frame propagation for routines

2016-08-24 Thread Nathan Sidwell
instance, or clone that object. However, for non-references, the object is cloned, and I have taken that approach as it's the simplest. nathan 2016-08-24 Nathan Sidwell gcc/ * config/nvptx/nvptx.c (nvptx_emit_forking, nvptx_emit_joining): Emit insns for calls too. (nvptx_find

[lto] remove unnecessary assignment

2016-08-26 Thread Nathan Sidwell
n. Fixed as obvious by removing the 'node' variable. nathan 2016-08-26 Nathan Sidwell * ipa-inline-analysis.c (inline_write_summary): Remove unnecessary assignment inside if condition. Index: ipa-inline-analysis.c ===

[gomp4] lto dump of callee counts

2016-08-26 Thread Nathan Sidwell
other TU provides the function implementations and we get an executable program. nathan 2016-08-26 Nathan Sidwell gcc/ * ipa-inline-analysis.c (inline_write_summary): Only dump callee counts when dumping the function's body. libgomp/ * testsuite/libgomp.oacc-c++/pr71959.C: New. * testsuit

[PTX] fix build

2016-08-29 Thread Nathan Sidwell
I've committed this to fix trunk build breakage for PTX targets. nathan 2016-08-29 Nathan Sidwell * config/nvptx/nvptx.c: #include tree-vrp.h. Index: config/nvptx/nvptx.c === --- config/nvptx/nvptx.c(rev

[PTX] unbreak libgfortran

2016-08-29 Thread Nathan Sidwell
Libgfortran's configure tests cause it to think localtime_r doesn't exist, and then the build dies with an extern decl/static defn mismatch. This hardwires the expected newlib reoutines, in the same manner as mips doesn. nathan 2016-08-29 Nathan Sidwell * configure.ac (nvptx-*)

[gomp4] runtime default compute dimensions

2016-08-30 Thread Nathan Sidwell
sical cpus. nathan 2016-08-30 Nathan Sidwell * plugin/plugin-nvptx.c (nvptx_exec): Interrogate board attributes to determine default geometry. Index: plugin/plugin-nvptx.c === --- plugin/plugin-nvptx.c (revision 239862) +++ p

[gomp4] default to runtime gang size

2016-08-30 Thread Nathan Sidwell
) seems a little strange and not justified by the comments discussing its use. nathan 2016-08-28 Nathan Sidwell gcc/ * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): Set to zero. libgomp/ * testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Set gang dimension. * testsuite/libgomp.oacc

[gomp4] vector reductions

2016-08-31 Thread Nathan Sidwell
the looping nature from the compiler. nathan 2016-08-31 Nathan Sidwell * config/nvptx/nvptx.md (cond_uni): New pattern. * config/nvptx/nvptx.c (nvptx_propagate_unified): New. (nvptx_split_blocks): Call it for cond_uni insn. (nvptx_expand_cond_uni): New. (enum nvptx_builtins): A

[PTX] cbranch expanders

2016-09-01 Thread Nathan Sidwell
I noticed the conditional branch expanders unnecessarily forced alll ops to be registers. Of course later optimization fixes that up, but why create the problem in the first place? committed to trunk. nathan

Re: [PATCH] Detect whether target can use -fprofile-update=atomic

2016-09-06 Thread Nathan Sidwell
On 09/06/16 06:57, David Edelsohn wrote: What about Jakub's comment in the PR? https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77378#c6 This needs addressing. Can you clarify PPC behaviour, because I may have misunderstood: 1) PPC currently has 64 bit counters -- but cannot support 64bit ato

[PTX] crt0

2016-05-25 Thread Nathan Sidwell
tack symbol or something? Or is that something nvptx-run should check for and initialize? nathan 2016-05-25 Nathan Sidwell libgcc/ * config/nvptx/crt0.s: Delete. * config/nvptx/crt0.c: New. * t-nvptx: Update. gcc/testsuite/ * gcc.c-torture/execute/921110-1.c: Fix abort decl. Index

Re: [PATCH] nvptx per-warp compiler-defined stacks (-msoft-stack)

2016-05-25 Thread Nathan Sidwell
On 05/24/16 17:29, Alexander Monakov wrote: On Fri, 20 May 2016, Nathan Sidwell wrote: ah, that's much more understandable, thanks. Presumably this doesn't support worker-single mode (in OpenACC parlance, I don't know what the OpenMP version of that is?) I don't see w

Re: [PTX] crt0

2016-05-25 Thread Nathan Sidwell
On 05/25/16 09:28, Alexander Monakov wrote: On Wed, 25 May 2016, Nathan Sidwell wrote: This patch reimplements crt0 as C rather than assembly. That means it;ll be good with 32 bit addresses. I've also completely moved abort and exit into newlib (a fork on github), which had it's

[PTX] malloc/realloc/free

2016-05-26 Thread Nathan Sidwell
This patch removes the malloc/realloc/free wrappers from libgcc. I've implemented them completely in C and put them in the ptx newlib port -- where one expects such functions. applied to trunk. nathan 2016-05-26 Nathan Sidwell * config/nvptx/free.asm: Delete. * config/

Re: [PTX] crt0

2016-05-26 Thread Nathan Sidwell
On 05/25/16 11:49, Alexander Monakov wrote: On Wed, 25 May 2016, Nathan Sidwell wrote: With today's trunk and newlib, if I run unresolved symbol __exitval_ptr Is should work now, just pushed a patch to newlib. PTX appears to accept '.extern .weak ...', but that has the sa

Re: [PTX] crt0

2016-05-26 Thread Nathan Sidwell
On 05/26/16 10:36, Nathan Sidwell wrote: Ib. PTX appears to accept '.extern .weak ...', but that has the same semantics as '.extern ...', which IMHO is a bug. '.extern .weak' doesn't mean anything special. Working on a GCC patch to stop us emitting i

[PTX] more tests annotations

2016-05-26 Thread Nathan Sidwell
Applied the attached to markup some more tests that PTX either crashes on or doesn't apply strict IEEE semantics to. In one case it's about debug info that we don't emit. nathan 2016-05-26 Nathan Sidwell * gcc.dg/20060410.c: Xfail on ptx. * gcc.dg/torture/c99-contract-1

Re: [PTX] malloc/realloc/free

2016-05-27 Thread Nathan Sidwell
On 05/26/16 13:08, Alexander Monakov wrote: Hello, On Thu, 26 May 2016, Nathan Sidwell wrote: This patch removes the malloc/realloc/free wrappers from libgcc. I've implemented them completely in C and put them in the ptx newlib port -- where one expects such functions. It appears

Re: [PATCH v4] gcov: Runtime configurable destination output

2016-05-27 Thread Nathan Sidwell
On 05/26/16 13:08, Aaron Conole wrote: The previous gcov behavior was to always output errors on the stderr channel. This is fine for most uses, but some programs will require stderr to be untouched by libgcov for certain tests. This change allows configuring the gcov output via an environment va

Re: C/C++ OpenACC routine directive, undeclared name error: try to help the user, once

2016-05-31 Thread Nathan Sidwell
On 05/24/16 12:28, Thomas Schwinge wrote: + static bool informed_once = false; + if (!informed_once) + { + inform (token->location, + "if the routine directive is meant to apply to the " + "lexically following function

[PCH] Add GTY marker

2016-05-31 Thread Nathan Sidwell
ply an oversite. tested on x86_64-linux as well as ptx-none. Applied as obvious. nathan 2016-05-31 Nathan Sidwell * dwarf2out.c (cur_line_info_table): Add GTY marker. Index: dwarf2out.c === --- dwarf2out.c (revision 236774)

[PTX] weak references

2016-06-01 Thread Nathan Sidwell
, but that flags's on for PTX unless explicitly disabled. Committed to trunk nathan 2016-06-01 Nathan Sidwell * config/nvptx/nvptx.c (nvptx_assemble_undefined_decl): Reject undefined weak. testsuite/ * c-c++-common/torture/pr57945.c: Add expected PTX error. * gcc.target/nvptx/weak

Re: [PATCH v4] gcov: Runtime configurable destination output

2016-06-02 Thread Nathan Sidwell
On 05/31/16 11:04, Aaron Conole wrote: Nathan Sidwell writes: On 05/26/16 13:08, Aaron Conole wrote: The previous gcov behavior was to always output errors on the stderr channel. This is fine for most uses, but some programs will require stderr to be untouched by libgcov for certain tests

Re: [PATCH v2] gcov: Runtime configurable destination output

2016-06-06 Thread Nathan Sidwell
I applied this patch. Aaron's patch, AFAICT, would repeatedly fopen the error file. nathan 2016-06-05 Aaron Conole Nathan Sidwell PR libgcc/71400 * libgcov-driver-system.c (__gcov_error_file): Disable if IN_GCOV_TOOL. (get_gcov_error_file): Check __gcov_error_file before t

Re: [PATCH] nvptx per-warp compiler-defined stacks (-msoft-stack)

2016-06-09 Thread Nathan Sidwell
On 06/02/16 17:22, Alexander Monakov wrote: On Wed, 25 May 2016, Nathan Sidwell wrote: It seems like we should reject the combination of -msoft-stack -fopenacc? Possibly; the doc text makes it explicit that the option is exposed only for the purpose of testing the compiler, anyway. It is

[C++ PATCH] cp_expr tweak and delete unused enumerations

2017-10-12 Thread Nathan Sidwell
alues of cp_tree_node_structure_enum were no longer used, leading to warnings about them not being handled in switch statements. (We never use LAST_TS_CP_ENUM to size an array). Deleted in this patch. Applying to trunk. nathan -- Nathan Sidwell 2017-10-12 Nathan Sidwell * cp-tree.h (cp_expr): Add const operat

[PATCH] Tree structure marking

2017-10-13 Thread Nathan Sidwell
ity. These are 'ary[index] = true' setters -- other setters don't use do while: #define SET_DECL_ASSEMBLER_NAME(NODE, NAME) \ (DECL_ASSEMBLER_NAME_RAW (NODE) = (NAME)) We can combine them with the comma operator, not make separate statements. Fixed thusly, ok? nathan -- Nathan

[PATCH PR/82546] tree node size

2017-10-13 Thread Nathan Sidwell
er let's at least get the sizing right first. ok? nathan -- Nathan Sidwell 2017-10-13 Nathan Sidwell PR middle-end/82546 gcc/ * tree.c (tree_code_size): Reformat. Punt to lang hook for unknown TYPE nodes. gcc/cp/ * cp-objcp-common.c (cp_tree_size): Reformat. Adju

Re: [PATCH PR/82546] tree node size

2017-10-16 Thread Nathan Sidwell
On 10/16/2017 02:49 AM, Richard Biener wrote: On October 13, 2017 8:29:40 PM GMT+02:00, Nathan Sidwell wrote: I intend to continue cleaning this up of course. It's not clear to me whether we should cache these node sizes in an array, and the way it goes about checking nodes with n

<    11   12   13   14   15   16   17   18   19   20   >