blob: 8494bf10df6c29f55b309edbcfb3abbafff7d5e7 [file] [log] [blame]
// { dg-options "-Wformat -fdiagnostics-show-caret" }
class logger
{
public:
void log (const char *fmt, ...) __attribute__((format (printf, 2, 3)));
};
void test ()
{
logger out;
out.log ("before %s after", 42); // { dg-warning "argument 3 has type 'int'" }
/* { dg-begin-multiline-output "" }
out.log ("before %s after", 42);
~^ ~~
| |
char* int
%d
{ dg-end-multiline-output "" } */
}
template <typename T>
class logger_2
{
public:
void log (const char *fmt, ...) __attribute__((format (printf, 2, 3)));
};
void test_2 ()
{
logger_2<int> out;
out.log ("before %s after", 42); // { dg-warning "argument 3 has type 'int'" }
/* { dg-begin-multiline-output "" }
out.log ("before %s after", 42);
~^ ~~
| |
char* int
%d
{ dg-end-multiline-output "" } */
}