diff options
author | Nathan Sidwell <nathan@acm.org> | 2017-08-25 11:37:10 +0000 |
---|---|---|
committer | Nathan Sidwell <nathan@gcc.gnu.org> | 2017-08-25 11:37:10 +0000 |
commit | bff8b385e997a85cce62031c80bac1b431659fcd (patch) | |
tree | f02f660066158abece2226c1baa96e2f8c16f826 /gcc/cp/decl2.c | |
parent | 6512c0f187d84dd046380aa53673dc5ae20795e3 (diff) | |
download | gcc-bff8b385e997a85cce62031c80bac1b431659fcd.zip gcc-bff8b385e997a85cce62031c80bac1b431659fcd.tar.gz gcc-bff8b385e997a85cce62031c80bac1b431659fcd.tar.bz2 |
Conversion operators have a special name
Conversion operators have a special name
* cp-tree.h (CPTI_CONV_OP_MARKER, CPTI_CONV_OP_IDENTIFIER): New.
(conv_op_marker, conv_op_identifier): New.
(CLASSTYPE_FIRST_CONVERSION_SLOT): Delete.
* decl.c (initialize_predefined_identifiers): Add
conv_op_identifier.
(cxx_init_decl_processing): Create conv_op_marker.
* decl2.c (check_classfn): Lookup conv-ops by name.
* class.c (add_method): Use conv_op_identifier & conv_op_marker.
(resort_type_method_vec): Don't skip conv-ops.
(finish_struct_methods, warn_hidden): Likewise.
* name-lookup.h (lookup_all_conversions): Delete.
* name-lookup.c (lookup_conversion_operator): Replace with ...
(extract_conversion_operator): ... this.
(lookup_fnfields_slot_nolazy): Find conv-ops by name.
(lookup_all_conversions): Delete.
* pt.c (check_explicit_specialization): Find conv-ops by name.
* search.c (lookup_conversions_r): Likewise.
From-SVN: r251348
Diffstat (limited to 'gcc/cp/decl2.c')
-rw-r--r-- | gcc/cp/decl2.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/cp/decl2.c b/gcc/cp/decl2.c index 66d206e..0f828b5 100644 --- a/gcc/cp/decl2.c +++ b/gcc/cp/decl2.c @@ -664,7 +664,7 @@ check_classfn (tree ctype, tree function, tree template_parms) else { if (DECL_CONV_FN_P (function)) - fns = lookup_all_conversions (ctype); + fns = lookup_fnfields_slot (ctype, conv_op_identifier); error_at (DECL_SOURCE_LOCATION (function), "no declaration matches %q#D", function); |