https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86562
Jonathan Wakely <redi at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |INVALID --- Comment #1 from Jonathan Wakely <redi at gcc dot gnu.org> --- Not a bug. The standard says passing non-trivial types through varargs is "conditionally-supported" so an implementation can either support it, or reject it with a diagnostic. GCC supports it, Clang doesn't.