// RUN: clang -parse-ast-check %s #include #include void check_string_literal( FILE* fp, const char* s, char *buf, ... ) { char * b; va_list ap; va_start(ap,buf); printf(s); // expected-warning {{format string is not a string literal}} vprintf(s,ap); // expected-warning {{format string is not a string liter}} fprintf(fp,s); // expected-warning {{format string is not a string literal}} vfprintf(fp,s,ap); // expected-warning {{format string is not a string lit}} asprintf(&b,s); // expected-warning {{format string is not a string lit}} vasprintf(&b,s,ap); // expected-warning {{format string is not a string lit}} sprintf(buf,s); // expected-warning {{format string is not a string literal}} snprintf(buf,2,s); // expected-warning {{format string is not a string lit}} vsprintf(buf,s,ap); // expected-warning {{format string is not a string lit}} vsnprintf(buf,2,s,ap); // expected-warning {{mat string is not a string lit}} }