summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/spellcheck-identifiers-3.c
blob: 94f4078d0e8296f01e1af9043a02f1d97cf82290 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
/* 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 "" } */
}