C-style variadic functions (using an ellipsis) can be dangerous in C++ due to the inherit lack of type safety with argument passing. Better alternatives exist, such as function currying (like STL stream objects use), or function parameter packs. This patch adds a checker to diagnose definitions of variadic functions in C++ code, but still allows variadic function declarations, as those can be safely used to good effect for SFINAE patterns.
This patch corresponds to the CERT C++ Coding Standard rule: https://www.securecoding.cert.org/confluence/display/cplusplus/DCL50-CPP.+Do+not+define+a+C-style+variadic+function
I'm sure this is oversight on CERT's part, but their website actually has terms of use (click the terms of use at the bottom of the page) that says this can't be copied/reused, and here you are, copying it.
It explicit says: "
Use of the Service. You may only display the content of the Service for your own personal use (i.e., non-commercial use) and may not otherwise copy, reproduce, alter, modify, create derivative works, or publicly display any content. "
Before this is accepted, someone should email cert and say "hey, uh, yeah, this seems bad", and get them to okay you doing this.
I'm sure they'll go and fix this.