Re: [PATCH PR/82546] tree node size

2017-10-17 Thread Nathan Sidwell
ction I'm heading in with this clean up. nathan -- Nathan Sidwell

[PATCH, middle-end/82577] Fix DECL_ASSEMBLER_NAME ICE

2017-10-17 Thread Nathan Sidwell
This fixes a new ICE I caused by breaking out HAS_DECL_ASSEMBLER_NAME_P from DECL_ASSEMBLER_NAME_SET_P. alias.c needs to check it. As it's doing explicit HAS and SET checking, it might as well use the RAW accessor too. Committing as obvious. nathan -- Nathan Sidwell 2017-10-17 N

[C++ PATCH 82560] missing dtor call

2017-10-17 Thread Nathan Sidwell
should not be generating is for the object being newed. Like the decltype handling in build_new_method_call, we shouldn't be passing no_cleanup down either. Applying to trunk. nathan -- Nathan Sidwell 2017-10-17 Nathan Sidwell PR c++/82560 * call.c (build_over_call): Don't pas

Re: [PING] [C++ Patch] PR 82307

2017-10-18 Thread Nathan Sidwell
underlying type. The fix is to use the underlying type of the enum instead of creating a new one by calling c_common_type_for_size(). The diff looks wrong. Just before the changed piece it (attempts to) deal with enum types. Why is that failing? nathan -- Nathan Sidwell

Re: [C++ PATCH] Avoid bogus -Wreturn-local-addr warnings in templates (PR c++/82600)

2017-10-19 Thread Nathan Sidwell
ks nathan -- Nathan Sidwell

Re: [C++ Patch] PR 80955 (Macros expanded in definition of user-defined literals)

2017-10-20 Thread Nathan Sidwell
parser of course) nathan -- Nathan Sidwell

[C++ PATCH] AS_BASETYPE

2017-10-20 Thread Nathan Sidwell
it actually is if you're in c++98-land. I /think/ we only need a special instance for a) empty classes b) classes with virtual bases c) non-pod classes with tail padding (which could be overlaid in derivation). But that's a cleanup for another day. nathan -- Nathan Sid

Re: [PING] [C++ Patch] PR 82307

2017-10-23 Thread Nathan Sidwell
On 10/23/2017 09:15 AM, Paolo Carlini wrote: Hi, following up to a short off-line exchange with Nathan, I'm sending a reworked patch which - among other things - avoids regressing on the second testcase (cpp0x/enum36.C). Tested x86_64-linux. ok, thanks! nathan -- Nathan Sidwell

Re: [C++ Patch] PR 80955 (Macros expanded in definition of user-defined literals)

2017-10-25 Thread Nathan Sidwell
-literal, so perhaps the preprocessor could detect: NON-FN-MACRO and warn on that sequence? nathan -- Nathan Sidwell

[C++ PATCH] Label checking cleanups

2017-10-25 Thread Nathan Sidwell
In killing IDENTIFIER_LABEL_VALUE, I made some cleanups deduping code and using modern C++ idioms. applying to trunk in advance of the Label killer. nathan -- Nathan Sidwell 2017-10-25 Nathan Sidwell * decl.c (identifier_goto): Reduce duplication. (check_previous_goto_1): Likewise

[C++ PATCH] Kill IDENTIFIER_LABEL_VALUE

2017-10-25 Thread Nathan Sidwell
that scope. Applying to trunk nathan -- Nathan Sidwell 2017-10-25 Nathan Sidwell Kill IDENTIFIER_LABEL_VALUE. * cp-tree.h (lang_identifier): Delete label_value slot. (IDENTIFIER_LABEL_VALUE, SET_IDENTIFIER_LABEL_VALUE): Delete. (struct named_label_hasher): Rename to ... (struct named_

[Diagnostic Patch] don't print column zero

2017-10-26 Thread Nathan Sidwell
turning to a pre-column formatting for the cases where the column number is not known. I'd expect (hope?) error message parsers to be robust in that case. (I've found it confusing when column-zero is printed, as I think columns might be zero-based after all.) bootstrapped on all lang

Re: [PATCH 8/N][RFC] GCOV: support multiple functions per a line

2017-10-26 Thread Nathan Sidwell
separate lines for function for each source file the function lives in. Having a group of function starting on a line, we print first summary and then each individual function: This looks great -- Nathan Sidwell

Re: [C++ PATCH] Kill IDENTIFIER_LABEL_VALUE

2017-10-26 Thread Nathan Sidwell
On 10/25/2017 05:36 PM, Nathan Sidwell wrote: This patch removes 'label_value' from lang_identifier, shrinking it from 72 to 64 bytes (on 64-bit machine).   We replace this by augmenting the already used per-function named_labels hash table.  This is a major win, because labels are

Re: [Diagnostic Patch] don't print column zero

2017-10-26 Thread Nathan Sidwell
:', but as mentioned above, I think the tests should be explicit about whether a column is expected or not (and the default needs to be 'expect column', because of history) thanks for your comments. nathan -- Nathan Sidwell

Re: [Diagnostic Patch] don't print column zero

2017-10-26 Thread Nathan Sidwell
On 10/26/2017 02:12 PM, Eric Gallager wrote: On 10/26/17, Nathan Sidwell wrote: On 10/26/2017 10:34 AM, David Malcolm wrote: Possibly a silly question, but is it OK to have a formatted string call in which some of the arguments aren't consumed? (here "col" is only consumed fo

Re: [PATCH] Zero vptr in dtor for -fsanitize=vptr.

2017-10-27 Thread Nathan Sidwell
the single vptr, in the cases when we're singly inheriting a polymorphic base. nathan [polymorphic here includes the case of having virtual bases]. -- Nathan Sidwell

Re: [PATCH] Zero vptr in dtor for -fsanitize=vptr.

2017-10-27 Thread Nathan Sidwell
ingle vptr (couldn't clobber the rest, even if before the store, because that would make the earlier other vptr stores dead). ok (I'd not looked at the patch to see if in chargeness was signficant) nathan -- Nathan Sidwell

Re: [PATCH 1/7] GCOV: document behavior of -fkeep-{static,inline}-functions (PR gcov-profile/82633).

2017-10-30 Thread Nathan Sidwell
with @samp{-}, which can be confusing. Use the @option{-fkeep-inline-functions} and @option{-fkeep-static-functions} options to retain these functions and allow gcov to properly show their @var{execution_count}. Ok with that (or something approximating it). nathan -- Nathan Sidwell

Re: [PATCH 2/7] GCOV: introduce usage of terminal colors.

2017-10-30 Thread Nathan Sidwell
ewise. (DEFAULT_LINE_START): New macro. (output_lines): Support color output. The gcov changes are ok. I guess David has the review ball for the diagnostic refactoring? nathan -- Nathan Sidwell

Re: [PATCH 3/7] GCOV: add support for lines with an unexecuted lines.

2017-10-30 Thread Nathan Sidwell
and the code matches my thought :) Looks good otherwise, WDYT? nathan -- Nathan Sidwell

Re: [PATCH 4/7] GCOV: add -j argument (human readable format).

2017-10-30 Thread Nathan Sidwell
is kind of formatting is tricky. My inclination is to keep it in the integer domain. Determine a scaling factor. Divide once by that and then explicitly round to nearest even[*] with a check for the 999.9 case. Then print as an unsigned. nathan [*] I presume you're familiar with RNE? That's probably overkill and plain RN would be adequate. -- Nathan Sidwell

Re: [PATCH 5/7] GCOV: std::vector refactoring.

2017-10-30 Thread Nathan Sidwell
): Do not release sources. (find_source): Use vector methods. (add_line_counts): Do not use typedef. ok -- Nathan Sidwell

Re: [PATCH 6/7] GCOV: Vector refactoring II

2017-10-30 Thread Nathan Sidwell
pedef. (circuit): Likewise. (get_cycles_count): Likewise. (output_intermediate_file): Iterate via vector iterator. (add_line_counts): Use std::vector methods. (accumulate_line_counts): Likewise. (output_lines): Likewise. ok. -- Nathan Sidwell

Re: [PATCH 7/7] GCOV: std::vector refactoring III

2017-10-30 Thread Nathan Sidwell
mes. (process_file): Add vertical space. (generate_results): Use std::find. (release_structures): Do not release memory. (find_source): Use std::find. You're giving it operators, so perhaps rename it to class but with public accessors? Ok with/without that change. nathan -

[C++ PATCH] operator name cleanup prepatch

2017-10-30 Thread Nathan Sidwell
some argument checking to just before we know we need it. applying to trunk. nathan -- Nathan Sidwell 2017-10-30 Nathan Sidwell cp/ * call.c (build_op_call_1): Test for FUNCTION_DECL in same manner as a few lines earlier. * cp-tree.h (PACK_EXPANSION_PATTERN): Fix white space. * d

Re: [PATCH 4/7] GCOV: add -j argument (human readable format).

2017-10-31 Thread Nathan Sidwell
On 10/31/2017 07:49 AM, Martin Liška wrote: On 10/30/2017 01:35 PM, Nathan Sidwell wrote: Is the patch fine to be installed? not quite ... + gcov_type divisor = 1; + for (unsigned i = 0; i < strlen (units); i++) +{ + if (v < (1000 * divisor)) + { + gcov_

[C++ PATCH] overloaded operator fns [1/N]

2017-10-31 Thread Nathan Sidwell
ether we check those two overloads by looking for identifier equivalence or examining the operator code enumeration. I've not addressed that. Applying to trunk. nathan -- Nathan Sidwell 2017-10-31 Nathan Sidwell * cp-tree.h (assign_op_identifier, call_op_identifier): Define.

Re: [PATCH 4/7] GCOV: add -j argument (human readable format).

2017-10-31 Thread Nathan Sidwell
I've adapted your code snippet. thanks, this is ok. nathan -- Nathan Sidwell

[C++ PATCH] overloaded operator fns [2/N]

2017-10-31 Thread Nathan Sidwell
on the (A ? assop_ary : op_ary) idiom. nathan -- Nathan Sidwell 2017-10-31 Nathan Sidwell gcc/cp/ * cp-tree.h (ovl_op_identifier): New. (assign_op_identifier, call_op_identifier): Adjust. (cp_operator_id, cp_assignment_operator_ide): Delete. (SET_OVERLOADED_OPERATOR_CODE): Delete. (O

[C++ PATCH] overloaded operator fns [3/N]

2017-10-31 Thread Nathan Sidwell
This patch replaces the operator info 'arity' field with a 'flags' field that encodes more information. Adjusted the few places that look at this. More use will be made in future patches. nathan -- Nathan Sidwell 2017-10-31 Nathan Sidwell * cp-tree.h (enum ovl_op_f

[C++ PATCH] overloaded operator fns [4/N]

2017-10-31 Thread Nathan Sidwell
rrors', with a comment that we shouldn't be generating them. Turns out we don't appear to be using them, so also nuked. nathan -- Nathan Sidwell 2017-10-31 Nathan Sidwell * lex.c (init_operators): Allow NULL operator name. Don't add special cases. * operators.def: U

[C++ PATCH] overloaded operator fns [5/N]

2017-10-31 Thread Nathan Sidwell
ices will not be by tree_code. Although this tweaks the array scanning, the ultimate aim is that that scanning goes away, and a simple indirection gets us to what we want. nathan -- Nathan Sidwell 2017-10-31 Nathan Sidwell * cp-tree.h (struct operator_name_info_t): Rename to ... (st

[C++ PATCH] overloaded operator fns [6/N]

2017-11-01 Thread Nathan Sidwell
by detecting these cases during initialization and constructing an alternate array. nathan -- Nathan Sidwell 2017-11-01 Nathan Sidwell * cp-tree.h (IDENTIFIER_CP_INDEX): Define. (enum ovl_op_flags): Add OVL_OP_FLAG_AMBIARY. (enum ovl_op_code): New. (struct ovl_op_info): Add ovl_op_code

Re: [C++ PATCH] overloaded operator fns [6/N]

2017-11-01 Thread Nathan Sidwell
OR_CODE_IS remains with checking a literal tree code. It uses preprocessor concatenation to directly map the tree_code name to the compressed operator enumeration. So no runtime indirection! nathan -- Nathan Sidwell 2017-11-01 Nathan Sidwell gcc/cp/ * cp-tree.h (assign_op_

[C++ PATCH] overloaded operator fns [8/N]

2017-11-01 Thread Nathan Sidwell
perators. This patch does that renumbering, and reserves a value for udlit operators. Those are currently detected by string compare, which isn't the most satisfactory way to do it. But it's a change for another day. nathan -- Nathan Sidwell 2017-11-01 Nathan Sidwell

[PATCH] fix fdump-lang-raw ICE

2017-11-01 Thread Nathan Sidwell
Thomas Koenig noticed -fdump-lang-raw gives an immediate ICE. I broke it with the DECL_ASSEMBLER_NAME changes last month. Fixed thusly, applied as obvious. nathan -- Nathan Sidwell 2017-11-01 Nathan Sidwell * tree-dump.c (dequeue_and_dump): Use HAS_DECL_ASSEMBLER_NAME_P. Index

Re: [PATCH] fix fdump-lang-raw ICE

2017-11-02 Thread Nathan Sidwell
On 11/01/2017 03:40 PM, Jakub Jelinek wrote: On Wed, Nov 01, 2017 at 03:24:56PM -0400, Nathan Sidwell wrote: Thomas Koenig noticed -fdump-lang-raw gives an immediate ICE. I broke it with the DECL_ASSEMBLER_NAME changes last month. Fixed thusly, applied as obvious. Shouldn't there

Re: [C++ PATCH] overloaded operator fns [8/N]

2017-11-02 Thread Nathan Sidwell
On 11/01/2017 04:08 PM, Jason Merrill wrote: On Wed, Nov 1, 2017 at 2:29 PM, Nathan Sidwell wrote: -&& IDENTIFIER_NEWDEL_OP_P (unqualified_id))) +&& IDENTIFIER_OVL_OP_P (unqualified_id) +&& (IDENTIFIER_OVL_OP_FLAGS (unqualified_id) & OVL_OP_FLAG_ALLO

[PR c++/82710] false positive paren warning

2017-11-02 Thread Nathan Sidwell
that '::' was used. So I back off when we see a qualified name there. nathan -- Nathan Sidwell 2017-11-02 Nathan Sidwell PR c++/82710 * decl.c (grokdeclarator): Don't warn when parens protect a return type from a qualified name. PR c++/82710 * g++.dg/warn/pr8

Re: [Diagnostic Patch] don't print column zero

2017-11-02 Thread Nathan Sidwell
On 10/26/2017 10:34 AM, David Malcolm wrote: [CCing Rainer and Mike for the gcc-dg.exp part] My Tcl skills aren't great, so hopefully someone else can review this; CCing Rainer and Mike. Ping? https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01911.html nathan -- Nathan Sidwell

Re: [PR c++/82710] false positive paren warning

2017-11-03 Thread Nathan Sidwell
On 11/02/2017 02:24 PM, Nathan Sidwell wrote: This patch fixes pr82710, were we erroneously warn on something like:    friend class_X (::other::name (...)); the parens are needed, otherwise the '::other' is taken to be a qualified lookup inside the class_X. Unfortunately, at the po

[PATCH] Fix testsuire error message

2017-11-03 Thread Nathan Sidwell
Someone noticed I'd not updated the error message when cloneing scan-tree-dump into scan-lang-dump. Fixed thusly and applied nathan -- Nathan Sidwell 2017-11-03 Nathan Sidwell * lib/scanlang.exp: Fix error message to refer to scan-lang-dump. Index: lib/scanlan

[PR c++/82836] weak pragma checking

2017-11-06 Thread Nathan Sidwell
ve memory. The mangled identifier will remain in the identifier table. So this patch simply removes the above conditional and uses DECL_ASSEMBLER_NAME directly. nathan -- Nathan Sidwell 2017-11-06 Nathan Sidwell c-family/ PR c++/82836 * c-pragma.c (maybe_apply_pragma_wea

Re: [PATCH 8/N][RFC][v3]: GCOV: support multiple functions per a line

2017-11-07 Thread Nathan Sidwell
ause of lack of blank line before the comment, btw) Otherwise looks good, and a nice improvement. Please investigate the corner cases mentioned above though. nathan -- Nathan Sidwell

Re: [C++ PATCH] classtype_has_nothrow_assign_or_copy_p is confusing

2017-07-05 Thread Nathan Sidwell
On 07/05/2017 10:41 AM, Jason Merrill wrote: On Mon, Jul 3, 2017 at 12:58 PM, Nathan Sidwell wrote: I found classtype_has_nothrow_assign_or_copy_p confusing, trying to figure out when it should return false and when true. I'm curious why you were looking at it? It's only used b

[PATCH] remove useless check

2017-07-11 Thread Nathan Sidwell
In killing TYPE_METHODS I discovered this useless check. We already cull these ctors from the methods just after creating the struct. bootstrap with the continue turned into gcc_unreachable worked just fine. applied to trunk. nathan -- Nathan Sidwell 2017-07-11 Nathan Sidwell

[C++ PATCH] ctor name should not change

2017-07-11 Thread Nathan Sidwell
We no longer need to frob the ctor name here, and indeed the name lookup stuff I'm working on would really rather it didn't. Applied to trunk nathan -- Nathan Sidwell 2017-07-11 Nathan Sidwell * decl2.c (reset_type_linkage_2): Dont't change ctor name.

[C++ PATCH] ctor predicates

2017-07-12 Thread Nathan Sidwell
ecks (2 of which contain STRIP_TEMPLATES) with looking at bitflags on the identifier. That all seems like a win to me. Applied to trunk. nathan -- Nathan Sidwell 2017-07-12 Nathan Sidwell * cp-tree.h (DECL_CONSTRUCTOR_P, DECL_MAYBE_IN_CHARGE_CONSTRUCTOR, DECL_DE

Re: [C++ PATCH] ctor predicates

2017-07-12 Thread Nathan Sidwell
: error: lvalue required as left operand of assignment /gccsrc/libcc1/libcp1plugin.cc:1424: error: lvalue required as left operand of assignment make[3]: *** [libcp1plugin.lo] Error 1 whoops, forgot that I had changes there too. Applied the attached. nathan -- Nathan Sidwell 2017-07-12 Nathan

[PATCH] Kill TYPE_METHODS 0/9

2017-07-14 Thread Nathan Sidwell
ous. 7 method-misc.diff - random tree.c. Obvious. 8 method-objc.diff - objc. Obvious 9 method-ectomy.diff - delete the macro. Obvious nathan -- Nathan Sidwell

Re: [PATCH] Kill TYPE_METHODS debug 1/9

2017-07-14 Thread Nathan Sidwell
review of this patch. Oh, the patch series survived a bootstrap on x86_64-linux. nathan -- Nathan Sidwell 2017-07-14 Nathan Sidwell gcc/ * dbxout.c (dbxout_type_fields): Member fns are on TYPE_FIELDS. (dbxout_type_method_1, dbxout_type_method

Re: [PATCH] Kill TYPE_METHODS ipa 2/9

2017-07-14 Thread Nathan Sidwell
pears to be reducing memory footprint. It didn't seem appropriate to merge into the TYPE_FIELDS loop, given it's never exercised. I'd appreciate review. nathan -- Nathan Sidwell 2017-07-14 Nathan Sidwell gcc/ * ipa-devirt.c (odr_types_equivalent_p): Delete

Re: [PATCH] Kill TYPE_METHODS rtl 3/9

2017-07-14 Thread Nathan Sidwell
verly enthusiastic -- if we're not optimizing, who cares? (When we zap TYHPE_METHODS we currently set it to error_mark_node, if it was non-null, so that this above check will work). I'd appreciate comment. nathan -- Nathan Sidwell 2017-07-14 Nathan Sidwell gcc/

Re: [PATCH] Kill TYPE_METHODS ada-spec 4/9

2017-07-14 Thread Nathan Sidwell
This change to the ada-spec generation teaches it about looking at TYPE_FIELDS. quite straight forwards. nathan -- Nathan Sidwell 2017-07-14 Nathan Sidwell gcc/c-family/ * c-ada-spec.c (is_tagged_type, has_nontrivial_methods, dump_ada_template, print_ada_methods

Re: [PATCH] Kill TYPE_METHODS c++ 5/9

2017-07-14 Thread Nathan Sidwell
oking at the method-vector. That's a subsequent cleanup. nathan -- Nathan Sidwell 2017-07-14 Nathan Sidwell gcc/cp/ * class.c (maybe_warn_about_overly_private_class, finish_struct_methods, one_inheriting_sig, count_fields, add_fields_to_record_type, check_f

Re: [PATCH] Kill TYPE_METHODS libcc1 6/9

2017-07-14 Thread Nathan Sidwell
This is the libcc1 change. When creating a clone, it needs to fiddle with TYPE_FIELDS now. nathan -- Nathan Sidwell 2017-07-14 Nathan Sidwell libcc1/ * libcp1plugin.cc (plugin_build_decl): Member fns are on TYPE_FIELDS. Index: libcc1/libcp1plugin.cc

Re: [PATCH] Kill TYPE_METHODS misc 7/9

2017-07-14 Thread Nathan Sidwell
check. nathan -- Nathan Sidwell 2017-07-14 Nathan Sidwell gcc/ * tree.c (free_lang_data_in_type): Stitch out member functions and templates from TYPE_FIELDS. (build_distinct_type_copy, verify_type_variant, verify_type): Member fns are on TYPE_FIELDS. *

Re: [PATCH] Kill TYPE_METHODS objc 8/9

2017-07-14 Thread Nathan Sidwell
This bit of the objective C runtime already knows that TYPE_FIELDS might contain non-FIELD_DECL things. But it has the delightful assumption that the first thing is a FIELD_DECL, which apparently was fine until now. Fixed by simplifying the loop. nathan -- Nathan Sidwell 2017-07-14 Nathan

Re: [PATCH] Kill TYPE_METHODS 9/9

2017-07-14 Thread Nathan Sidwell
And finally, this patch kills the TYPE_METHODS macro. As I mentioned earlier, I have other patches to repurpose the now-unused slot in records and unions. nathan -- Nathan Sidwell 2017-07-14 Nathan Sidwell gcc/ * tree.h (TYPE_METHODS): Delete. Index: gcc/tree.h

Re: [C++ Patch] PR 79790 ("[C++17] ICE class template argument deduction")

2017-07-14 Thread Nathan Sidwell
#x27; pieces, but didn't investigate enough to confirm/deny. Thanks for getting this. nathan -- Nathan Sidwell

Re: [PATCH] Kill TYPE_METHODS rtl 3/9

2017-07-15 Thread Nathan Sidwell
On 07/15/2017 12:43 AM, Jeff Law wrote: On 07/14/2017 10:54 AM, Nathan Sidwell wrote: This was the most surprising check of TYPE_METHODS. When not optimizing we use the non-nullness of TYPE_METHODS to figure out if we want to place a non BLKmode structure into a register. On the grounds that

[C++ PATCH] combine move assign/ctor check

2017-07-17 Thread Nathan Sidwell
We currently have separate 'has-move-assign' and 'has-move-ctor' functions. but they are always called together. so lets just have a single 'has-move-assign-or-move-ctor' function. Applied to trunk. nathan -- Nathan Sidwell 2017-07-17

[C++ PATCH] ctor privacy

2017-07-17 Thread Nathan Sidwell
py or move ctors do not make the class sufficiently public. I didn't implement the further suggested check of ignoring a ctor that takes an already constructed object -- be it copy ctor or not. applied to trunk. nathan -- Nathan Sidwell 2017-07-17 Nathan Sidwell

[C++ PATCH] move ctors and assign (again)

2017-07-18 Thread Nathan Sidwell
stunningly similar a further merging may be in the near future ... nathan -- Nathan Sidwell 2017-07-18 Nathan Sidwell * class.c (classtype_has_move_assign_or_move_ctor): Declare. (add_implicitly_declared_members): Use it. (type_has_move_constructor, type_has_move_assign):

[PATCH] TYPE_{MIN,MAX}VAL and TYPE_{MIN,MAX}_VALUE

2017-07-18 Thread Nathan Sidwell
. I've committed this patch where the former pair were used when the latter pair should have been. That's the obvious cleanup. I'll post renaming patch shortly. nathan -- Nathan Sidwell 2017-07-18 Nathan Sidwell gcc/ * tree-parloops.c (try_transform_to_exit_first

[PATCH] Rename TYPE_{MIN,MAX}VAL

2017-07-18 Thread Nathan Sidwell
, I'm hesitant to apply the obvious rule. I'd appreciate review. thanks. (This patch is not dependent on the TYPE_METHODS removal patch) nathan -- Nathan Sidwell 2017-07-18 Nathan Sidwell gcc/ * tree.h (TYPE_MINVAL, TYPE_MAXVAL): Rename to ... (TYPE_MINVAL_RAW, TYPE_

Re: [PATCH] Rename TYPE_{MIN,MAX}VAL

2017-07-19 Thread Nathan Sidwell
On 07/19/2017 06:28 AM, Richard Biener wrote: On Tue, Jul 18, 2017 at 5:19 PM, Nathan Sidwell wrote: Looks good but now we have TYPE_MAX_VALUE and TYPE_MAXVAL_RAW. Why's that not TYPE_MAX_VALUE_RAW? I named TYPE_MAXVAL_RAW from the underlying field, but I'm fine with TYPE_MAX

[C++ PATCH] move assign/ctor detection

2017-07-19 Thread Nathan Sidwell
As mentioned yesterday, classtype_has_move_assign_or_move_ctor & classtype_has_user_move_assign_or_move_ctor_p have stunningly similar functionality. This patch merges them to provide classtype_has_move_assign_or_move_ctor_p. committed to trunk. nathan -- Nathan Sidwell 2017-07-19 Na

Re: [PATCH] Rename TYPE_{MIN,MAX}VAL

2017-07-19 Thread Nathan Sidwell
INVAL. (TYPE_GCC_MAX_VALUE): Use TYPE_MAX_VALUE_RAW instead of TYPE_MAXVAL. Sorry. -- Nathan Sidwell

Re: [PATCH] Kill TYPE_METHODS debug 1/9

2017-07-20 Thread Nathan Sidwell
it worse there. thoughts? nathan -- Nathan Sidwell

Re: [PATCH] Kill TYPE_METHODS debug 1/9

2017-07-20 Thread Nathan Sidwell
On 07/20/2017 07:31 AM, Nathan Sidwell wrote: So I don't think I've made it worse there. thoughts? aha, gstabs+ for gnu extensions. With a small fix I get the following before and after (I changed the example to add another frob member). (gdb) ptype X type = struct X { publi

Re: [PATCH] Kill TYPE_METHODS debug 1/9

2017-07-20 Thread Nathan Sidwell
e manner if you declare overloads discontigously. With this patch the gdb stabs test results are still awful, but they are unchanged awfulness. nathan -- Nathan Sidwell 2017-07-20 Nathan Sidwell * dbxout.c (dbxout_type_fields): Ignore FUNCTION_DECLs. (dbxout_type_methods): Scan TYPE_FIELDS

Re: [PATCH] Kill TYPE_METHODS debug 1/9

2017-07-20 Thread Nathan Sidwell
ave committed the patch series, thanks all for comments. nathan -- Nathan Sidwell

Deprecate DBX/stabs?

2017-07-21 Thread Nathan Sidwell
[darwin, cygwin, rx maintainers, you might have an opinion] On 07/21/2017 01:11 AM, Richard Biener wrote: On July 21, 2017 12:03:58 AM GMT+02:00, Jim Wilson wrote: On Thu, Jul 20, 2017 at 2:00 PM, Nathan Sidwell wrote: With this patch the gdb stabs test results are still awful, but they

Re: Deprecate DBX/stabs?

2017-07-21 Thread Nathan Sidwell
On 07/21/2017 09:16 AM, Richard Biener wrote: On Fri, Jul 21, 2017 at 3:07 PM, Nathan Sidwell wrote: +#ifndef DBX_DEBBUG_OK ^^^ typo? The patch doesn't define this anywhere - I suggest to add it to defaults.h as 0 and use #if? Also would need documenting if th

[C++ PACTH] small add_candidates cleanup

2017-07-21 Thread Nathan Sidwell
I wandered into add_candidates and got confused by !!. There were a few opportunities for other cleanup too, so committed the attached. nathan -- Nathan Sidwell 2017-07-21 Nathan Sidwell * call.c (add_candidates): Move decls to initialization. Don't use !!. Index: c

[C++ PATCH] no special cdtor slots

2017-07-21 Thread Nathan Sidwell
single map map, so don't worry about this making looking for cdtors slower than an array access right now) Applied to trunk. nathan -- Nathan Sidwell 2017-07-21 Nathan Sidwell Remove special CDtor METHOD_VEC slots. * cp-tree.h (CLASSTYPE_CONSTRUCTOR_SLOT, CLASSTYPE_DESTRUCTOR_SLOT): D

[C++ PATCH] merge various METHOD_VEC accessors

2017-07-21 Thread Nathan Sidwell
accessors, and the only users of the index accessors are the slot accessors themselves. This patch does the obvious merging, so we only have lookup_fnfields_slot{,_nolazy}. Much simples. More simples later ... nathan -- Nathan Sidwell 2017-07-21 Nathan Sidwell * search.c

Re: [PATCH] Kill TYPE_METHODS 0/9

2017-07-24 Thread Nathan Sidwell
On 07/24/2017 05:25 AM, Jakub Jelinek wrote: On Fri, Jul 14, 2017 at 12:44:08PM -0400, Nathan Sidwell wrote: Seems TYPE_METHODS have been left in a couple of spots. For winnt-cxx.c it apparently causes bootstrap failure (I have no way to test it for that target, but given that the bootstrap

tls-dialect gnu2

2017-07-27 Thread Nathan Sidwell
Jan, I notice the x86 default -mtls-dialect is GNU not GNU2. The latter was added in 2006. Is there a reason not to default to it now? (perhaps because of the ldso dependency?) nathan -- Nathan Sidwell

[PATCH] don't confuse user when OOM happens

2017-08-14 Thread Nathan Sidwell
using this patch inside Facebook for a while, and it's cut down on OOM-related bug reports. So works for me :) ok? nathan -- Nathan Sidwell 2017-08-14 Nathan Sidwell * gcc.c (execute): Emit friendlier message if inferior is killed by an external cause. In

[PATCH] Further driver signal cleanup

2017-08-16 Thread Nathan Sidwell
-- Nathan Sidwell 2017-08-16 Nathan Sidwell * gcc.c (execute): Fold SIGPIPE handling into switch statement. Adjust internal error message. Index: gcc.c === --- gcc.c (revision 251119) +++ gcc.c (working copy

[PATCH] Move TYPE_BINFO

2017-08-16 Thread Nathan Sidwell
used in a number of FEs already, and removing it looked hard. I have a plan for the C++ FE's use of that slot in RECORD_TYPE -- so hands off! Applied to trunk. nathan -- Nathan Sidwell 2017-08-16 Nathan Sidwell * tree-core.h (tree_type_non_common): Rename binfo to lang_1. * t

[C++ PATCH] move template_info field

2017-08-17 Thread Nathan Sidwell
f the form (TYPE_LANG_SPECIFIC (x) && TYPE_TEMPLATE_INFO (x)) can drop the T_L_S check. applied to trunk nathan -- Nathan Sidwell 2017-08-17 Nathan Sidwell * cp-tree.h (struct lang_type): Remove template_info field. (CLASSTYPE_TEMPLATE_INFO): Us

[C++ PATCH] BOUND_TEMPLATE_TEMPLATE_PARM_TYPE

2017-08-17 Thread Nathan Sidwell
Now that template info is on TYPE_LANG_SLOT_1, B_T_T_P_Types don't need type_lang_specific. Excised thusly. nathan -- Nathan Sidwell 2017-08-17 Nathan Sidwell * lex.c (maybe_add_lang_type_raw): BOUND_TEMPLATE_TEMPLATE_PARMs don't need lang_type. (cxx_make_

[C++ PATCH] TYPE_TEMPLATE_INFO

2017-08-17 Thread Nathan Sidwell
recall the underlying reason why TEMPLATE_TEMPLATE_PARM was forked to add BOUND_TEMPLATE_TEMPLATE_PARM. Naively it seems these are distinguished by the absence or presence of TEMPLATE_INFO. But again, too fiddly to examine right now. nathan -- Nathan Sidwell 2017-08-17 Nathan Sidwell * c

Re: [PATCH] PR c++/80287 add new testcase

2017-08-21 Thread Nathan Sidwell
On 08/18/2017 04:28 AM, Yvan Roux wrote: https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00730.html Thanks, Yvan gcc/testsuite 2017-07-13 Yvan Roux PR c++/80287 * g++.dg/pr80287.C: New test. ok -- Nathan Sidwell

[c++/81899] bound tpl-tpl-parm ICE

2017-08-21 Thread Nathan Sidwell
DECL_HIDDEN, so we lucked out. This patch adds an explicit check for not being a B_T_T_P before checking CLASSTYPE_USE_TEMPLATE. applied to trunk. nathan -- Nathan Sidwell 2017-08-21 Nathan Sidwell PR c++/81899 * pt.c (instantiate_class_template_1): BOUND_TEMPLATE_TEMPLATE_PARM is never friend

Re: [c++/81899] bound tpl-tpl-parm ICE

2017-08-21 Thread Nathan Sidwell
at O2 and above). nathan -- Nathan Sidwell 2017-08-21 Nathan Sidwell * g++.dg/template/pr81899.C: Fix c++03. * g++.dg/debug/debug9.C: Add -fno-reorder-blocks-and-partition" Index: g++.dg/debug/debug9.C === --- g++.dg/debu

[C++ PATCH] class member lookup

2017-08-21 Thread Nathan Sidwell
iant. I also noticed that fuzzy lookup no longer needed to look at METHOD_VEC, as member fns are on TYPE_FIELDS now. David, FWIW it looks like that lookup could be less twisty if fuzzy_lookup_fields was a static member fn taking a void *? nathan -- Nathan Sidwell 2017-08-21 Nathan Sidwell

[C++ PATCH]: Dead code-ectomy

2017-08-21 Thread Nathan Sidwell
athan -- Nathan Sidwell 2017-08-21 Nathan Sidwell * search.c (lookup_field_r): Remove obsolete code for type-named field in PoD. Index: search.c === --- search.c (revision 251241) +++ search.c (working copy) @@ -,39 +11

[C++ PATCH] excise search stats

2017-08-23 Thread Nathan Sidwell
We can always add different, more meaningful, stats back if the need arises. Applied to trunk. nathan -- Nathan Sidwell 2017-08-23 Nathan Sidwell * cp-tree.h (print_search_statistics, reinit_search_statistics): Don't declare. * search.c (n_fields_searched, n_calls_lookup_field, n_

[C++ PATCH] Commonize function-version checking

2017-08-23 Thread Nathan Sidwell
eaking out of a common function, and calls it from both locations. nathan -- Nathan Sidwell 2017-08-23 Nathan Sidwell * cp-tree.h (maybe_version_functions): Declare. * decl.c (decls_match): Break function versioning check to separate function. Call it. (maybe_version_functions)

[C++ PATCH] finish-member-decl cleanups

2017-08-23 Thread Nathan Sidwell
ing = true; After adding a member fn or a non-fn member we perform similar actions in duplicated code blocks. This commonizes that adding of the DECL. applied to trunk. nathan -- Nathan Sidwell 2017-08-23 Nathan Sidwell * semantics.c (finish_member_declaration): Move USING_DECL check earlie

[C++ PATCH] move class lookup fns

2017-08-23 Thread Nathan Sidwell
plant with no change of functionality, so that future diffs don't have extraneous churn. Applied to trunk. nathan -- Nathan Sidwell 2017-08-23 Nathan Sidwell * cp-tree.h (lookup_field_1, lookup_fnfields_slot, lookup_fnfields_slot_nolazy, lookup_all_conversions): Move declatations to .

Re: [Patch] PR c++/80287 backport on GCC 6 branch

2017-08-24 Thread Nathan Sidwell
://gcc.gnu.org/ml/gcc-patches/2017-07/msg00730.html Bootstrapped and regression tested on x86, ARM and AArch64 targets. Ok for gcc-6-branch ? ok -- Nathan Sidwell

[C++ PATCH] put all conv-ops onto single overload

2017-08-24 Thread Nathan Sidwell
o get at it. That's temporary, until they get a proper name to be looked up by. Applied to trunk. nathan -- Nathan Sidwell 2017-08-24 Nathan Sidwell Conversion operators kept on single overload set * class.c (add_method): Keep all conv-ops on one slot. * name-lookup.c (lookup_convers

[C++ PATCH] Find conv ops by name

2017-08-25 Thread Nathan Sidwell
ulling out just those (usually at most one) converting the the required type. And with that CLASSTYPE_FIRST_CONVERSION_SLOT is no more. Applied to trunk. nathan -- Nathan Sidwell 2017-08-25 Nathan Sidwell Conversion operators have a special name * cp-tree.h (CPTI_CONV

[C++ PATCH] METHOD_VEC sorting

2017-08-25 Thread Nathan Sidwell
While I intend to kill METHOD_VEC, I noticed its comparison function contemplated functions with NULL DECL_NAMEs. Those aren't a thing. applied to trunk. nathan -- Nathan Sidwell 2017-08-25 Nathan Sidwell * class.c (method_name_cmp, resort_method_name_cmp): Method names can nev

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