blob: 94f4078d0e8296f01e1af9043a02f1d97cf82290 [file] [log] [blame]
/* PR c/71858 */
/* Only consider function names, function pointers and macros for implicit function declarations. */
/* { dg-do compile } */
/* { dg-options "-Wimplicit-function-declaration -fdiagnostics-show-caret" } */
void fn1abcd (void);
void
test_1 (int fn1bacd)
{
fn1badc (); /* { dg-warning "3: implicit declaration of function .fn1badc.; did you mean .fn1abcd.?" } */
/* { dg-begin-multiline-output "" }
fn1badc ();
^~~~~~~
fn1abcd
{ dg-end-multiline-output "" } */
}
void fn2efgh (void);
void (*fn2efhg) (void);
void
test_2 (void)
{
fn2fehg (); /* { dg-warning "3: implicit declaration of function .fn2fehg.; did you mean .fn2efhg.?" } */
/* { dg-begin-multiline-output "" }
fn2fehg ();
^~~~~~~
fn2efhg
{ dg-end-multiline-output "" } */
}
void fn3ijkl (void);
typedef int fn3ijlk;
void
test_3 (void)
{
fn3jilk (); /* { dg-warning "3: implicit declaration of function .fn3jilk.; did you mean .fn3ijkl.?" } */
/* { dg-begin-multiline-output "" }
fn3jilk ();
^~~~~~~
fn3ijkl
{ dg-end-multiline-output "" } */
}