This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [C++ PATCH] ctor predicates
- From: Christophe Lyon <christophe dot lyon at linaro dot org>
- To: Nathan Sidwell <nathan at acm dot org>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 12 Jul 2017 21:14:04 +0200
- Subject: Re: [C++ PATCH] ctor predicates
- Authentication-results: sourceware.org; auth=none
- References: <30196cb7-0d55-36bd-401d-5a48d6899ef5@acm.org>
Hi Nathan,
On 12 July 2017 at 19:34, Nathan Sidwell <nathan@acm.org> wrote:
> Now that all the cdtors have special names, we can detect them by looking at
> the name, rather than a collection of other things.
>
> For the DECL_[CD]TOR_P cases we're now comparing identifiers, removing a
> STRIP_TEMPLATE
>
> For the IN_CHARGE case we're replacing a conjunction of 3 checks (2 of which
> contain STRIP_TEMPLATES) with looking at bitflags on the identifier.
>
> That all seems like a win to me. Applied to trunk.
>
After this commit (r250158), gcc fails to build at least for aarch64 and arm.
The build logs ends with:
/gccsrc/libcc1/libcp1plugin.cc: In function ‘gcc_decl
plugin_build_decl(cc1_plugin::connection*,
const char*, gcc_cp_symbol_kind, gcc_type, const char*, gcc_address,
const char*, unsigned int)’:
/gccsrc/libcc1/libcp1plugin.cc:1422: 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
Christophe
> nathan
> --
> Nathan Sidwell