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
