See https://bugs.helixcommunity.org/show_bug.cgi?id=5641 -- particularly the assignment to va_list (the references are uncommon enough that they probably don't matter).
The world would be a better place if this kind of code would fail to build, or at least _warn_, on i386. The ABI might not allow us to make va_list 'const' but we could perhaps add an __attribute__((va_list)) which marks it for 'special' treatment? This warning could perhaps be enabled by default on any platform which code is expected to be portable (like Linux) but disabled on i386-only platforms (win32). -- Summary: non-portable va_list abuse is permitted on i386 Product: gcc Version: 4.1.1 Status: UNCONFIRMED Severity: enhancement Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: dwmw2 at infradead dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30171