On Wed, Apr 09, 2014 at 02:10:04PM -0400, Jason Merrill wrote: > On 04/09/2014 04:21 AM, Richard Biener wrote: > >>The names of the in-charge and not-in-charge constructor clones are > >>complete_ctor_identifier and base_ctor_identifier (and dtor for > >>destructors); you could check for those. > > > >I was more asking for how we present those To the user in diagnostics. I > >wanted to use a consistent 'quoting' style. If using <clone> is fine then > >I'll just stick to that. > > I think saying <complete> and <base> would be helpful for > distinguishing them.
My preference for 4.9 would be just print the abstract name and nothing else and for stage1 improve that to make it clear what is a clone (and with what kind of changes), what is which cdtor etc. Thus, I've bootstrapped/regtested this version on x86_64-linux and i686-linux, is this ok to everybody for now? 2014-04-10 Richard Biener <rguent...@suse.de> Jakub Jelinek <ja...@redhat.com> PR ipa/60761 * error.c (dump_decl) <case FUNCTION_DECL>: If DECL_LANG_SPECIFIC is NULL, but DECL_ABSTRACT_ORIGIN is not, recurse on DECL_ABSTRACT_ORIGIN instead of printing <built-in>. --- gcc/cp/error.c.jj 2014-03-03 08:24:14.000000000 +0100 +++ gcc/cp/error.c 2014-04-10 12:10:39.065707779 +0200 @@ -1145,7 +1145,12 @@ dump_decl (cxx_pretty_printer *pp, tree case FUNCTION_DECL: if (! DECL_LANG_SPECIFIC (t)) - pp_string (pp, M_("<built-in>")); + { + if (DECL_ABSTRACT_ORIGIN (t)) + dump_decl (pp, DECL_ABSTRACT_ORIGIN (t), flags); + else + pp_string (pp, M_("<built-in>")); + } else if (DECL_GLOBAL_CTOR_P (t) || DECL_GLOBAL_DTOR_P (t)) dump_global_iord (pp, t); else Jakub