https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79364
--- Comment #2 from Guillaume Knispel <xilun0 at gmail dot com> --- Note: I hit that bug after cleaning some real code after a cppcheck static analysis. The original code sometimes had "..." after references, which is technically forbidden (but seems to work with g++, for now) One of the "natural" ways to avoid this theoretical UB (... after a ref) is to create an allowed type just to prefix the ... in those cases. Technically, an empty struct seems to be allowed by the standard, so it's a good candidate. After I got some additional crashes following that change and traced back their origin to it, I switched my vatag type to typedef void* in order to workaround that compiler bug.