ping. Le 16 févr. 2012 à 23:39, Jean-Daniel Dupas a écrit :
> > Le 16 févr. 2012 à 19:17, Ted Kremenek a écrit : > >> On Feb 16, 2012, at 1:57 AM, Jean-Daniel Dupas <[email protected]> >> wrote: >> >>> Hi, >>> >>> This patch implements a long standing FIXME. >>> When calling a non variadic format function(vprintf, vscanf, NSLogv, …), is >>> the format argument references a parameter of the enclosing function, clang >>> never warned. >>> With this change, clang will inhibit the warning only if the parameter is >>> declared as a format string with a compatible type. >>> >>> >>> -- Jean-Daniel >>> >> >> Hi Jean-Daniel, >> >> I've noticed this patch contains seemingly unrelated changes, e.g.: >> >> >>> // RUN: %clang_cc1 -fsyntax-only -verify -Wformat-nonliteral -pedantic %s >>> >>> +#include <stdarg.h> >>> + >>> extern "C" { >>> -extern int scanf(const char *restrict, ...); >>> -extern int printf(const char *restrict, ...); >>> +extern int scanf(const char *, ...); >>> +extern int printf(const char *, ...); >>> +extern int vprintf(const char *, va_list ap); >>> } >>> >> >> >> What is the motivation for removing the 'restrict' in these test cases? It >> seems completely unrelated, unnecessary, and actually incorrect since clang >> defaults to c99. > > My bad. > I noticed that the restrict keyword was not supported in C++ member > declaration and was interpreted as the parameter name instead, so I removed > it to avoid confusion, and I erroneously removed it from the C functions too. > > Is this new patch OK ? > > -- Jean-Daniel > > > > <vprintf.patch>_______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits -- Jean-Daniel
vprintf.patch
Description: Binary data
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
