46 lines
1.0 KiB
C
46 lines
1.0 KiB
C
/* 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 "" } */
|
|
}
|