On Thu, Jun 18, 2026 at 11:15:03PM +0200, Jakub Jelinek wrote:
> On Thu, Jun 18, 2026 at 04:37:44PM -0400, Jason Merrill wrote:
> > On 6/18/26 3:20 PM, Marek Polacek wrote:
> > > Bootstrapped/regtested on x86_64-pc-linux-gnu, ok for trunk/16?
> > > 
> > > -- >8 --
> > > Currently, we include all the built-ins like __builtin_fdimf32x in
> > > the result of members_of.  We probably should skip them.  This patch
> > > uses DECL_IS_UNDECLARED_BUILTIN so that we skip __builtin_abs but
> > > include abs.
> > > 
> > > On ^^:: this reduces the # of elements from 2591 to 653.
> > > 
> > >   PR c++/125819
> > > 
> > > gcc/cp/ChangeLog:
> > > 
> > >   * reflect.cc (namespace_members_of): Skip
> > >   DECL_IS_UNDECLARED_BUILTIN functions.
> > 
> > Why only functions?  I'd think we want to skip all kinds of built-in decls.
> 
> I think it would be weird if builtins are hidden from members_of (sure, the
> __integer_pack can be an exception), users can use say
> decltype (::__builtin_fdimf32x) etc. too, so why should we hide them from
> users during reflection through which they can query them similarly?

I guess whatever we decide is OK from the standard POV.  I just don't see
much use for things like ^^__builtin_abs when one can do ^^abs.  But I don't
insist on getting this patch in at all.

Marek

Reply via email to