On Tue, Oct 6, 2015 at 4:12 PM, Joerg Sonnenberger via cfe-commits <cfe-commits@lists.llvm.org> wrote: > On Mon, Oct 05, 2015 at 07:36:08PM +0000, Aaron Ballman via cfe-commits wrote: >> 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. > > I would restrict this a bit to exclude function definitions with C > linkage. If you have such a ABI requirement, you normally can't replace > it with any of the alternatives.
Under what circumstances would you run into this issue with C++ code? The only circumstance I can think of is if you have a C API that takes a function pointer to a varargs function as an argument. Is that the situation you are thinking of, or are there others? Thank you for the feedback! ~Aaron _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits