ction I'm heading in with this clean up.
nathan
--
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
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
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
ks
nathan
--
Nathan Sidwell
parser of course)
nathan
--
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
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
-literal,
so perhaps the preprocessor could detect:
NON-FN-MACRO
and warn on that sequence?
nathan
--
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
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_
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
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
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
:', 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
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
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
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
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
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
and the code matches my thought :)
Looks good otherwise, WDYT?
nathan
--
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
): Do not release sources.
(find_source): Use vector methods.
(add_line_counts): Do not use typedef.
ok
--
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
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
-
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
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_
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.
I've adapted your code snippet.
thanks, this is ok.
nathan
--
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
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
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
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
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
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_
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
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
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
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
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
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
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
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
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
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
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
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
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.
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
: 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
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
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
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
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/
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
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
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
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.
*
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
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
#x27; pieces, but
didn't investigate enough to confirm/deny. Thanks for getting this.
nathan
--
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
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
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
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):
. 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
, 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_
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
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
INVAL.
(TYPE_GCC_MAX_VALUE): Use TYPE_MAX_VALUE_RAW instead of TYPE_MAXVAL.
Sorry.
--
Nathan Sidwell
it worse there. thoughts?
nathan
--
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
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
ave committed the patch series, thanks all for comments.
nathan
--
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
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
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
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
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
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
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
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
--
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
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
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
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_
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
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
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
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
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
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
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_
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)
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
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 .
://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
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
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
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
1601 - 1700 of 2551 matches
Mail list logo