blob: 063e3f9eda19a021c2d4a8bca4acf46b1771238c [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-Wimplicit-function-declaration -fdiagnostics-show-caret" } */
typedef struct GtkWidget { int dummy; } GtkWidget;
extern void gtk_widget_show_all (GtkWidget *w);
void
test_1 (GtkWidget *w)
{
gtk_widget_showall (w); /* { dg-warning "3: implicit declaration of function .gtk_widget_showall.; did you mean .gtk_widget_show_all.?" } */
/* { dg-begin-multiline-output "" }
gtk_widget_showall (w);
^~~~~~~~~~~~~~~~~~
gtk_widget_show_all
{ dg-end-multiline-output "" } */
/* Ensure we don't try to suggest "gtk_widget_showall" for subsequent
corrections. */
gtk_widget_showall_ (w); /* { dg-warning "3: implicit declaration of function .gtk_widget_showall_.; did you mean .gtk_widget_show_all.?" } */
/* { dg-begin-multiline-output "" }
gtk_widget_showall_ (w);
^~~~~~~~~~~~~~~~~~~
gtk_widget_show_all
{ dg-end-multiline-output "" } */
GtkWidgetShowAll (w); /* { dg-warning "3: implicit declaration of function .GtkWidgetShowAll.; did you mean .gtk_widget_show_all.?" } */
/* { dg-begin-multiline-output "" }
GtkWidgetShowAll (w);
^~~~~~~~~~~~~~~~
gtk_widget_show_all
{ dg-end-multiline-output "" } */
}
int
test_2 (int param)
{
return parma * parma; /* { dg-error "10: .parma. undeclared .first use in this function.; did you mean .param." } */
/* { dg-begin-multiline-output "" }
return parma * parma;
^~~~~
param
{ dg-end-multiline-output "" } */
}
#define MACRO(X) ((X))
int
test_3 (int i)
{
return MACRAME (i); /* { dg-warning "10: implicit declaration of function .MACRAME.; did you mean .MACRO.?" } */
/* { dg-begin-multiline-output "" }
return MACRAME (i);
^~~~~~~
MACRO
{ dg-end-multiline-output "" } */
}
#define IDENTIFIER_POINTER(X) ((X))
int
test_4 (int node)
{
return IDENTIFIER_PTR (node); /* { dg-warning "10: implicit declaration of function .IDENTIFIER_PTR.; did you mean .IDENTIFIER_POINTER.?" } */
/* { dg-begin-multiline-output "" }
return IDENTIFIER_PTR (node);
^~~~~~~~~~~~~~
IDENTIFIER_POINTER
{ dg-end-multiline-output "" } */
}
int
test_5 (void)
{
return __LINE_; /* { dg-error "10: .__LINE_. undeclared .first use in this function.; did you mean .__LINE__." } */
/* { dg-begin-multiline-output "" }
return __LINE_;
^~~~~~~
__LINE__
{ dg-end-multiline-output "" } */
}
#define MAX_ITEMS 100
int array[MAX_ITEM]; /* { dg-error "11: .MAX_ITEM. undeclared here .not in a function.; did you mean .MAX_ITEMS." } */
/* { dg-begin-multiline-output "" }
int array[MAX_ITEM];
^~~~~~~~
MAX_ITEMS
{ dg-end-multiline-output "" } */
enum foo {
FOO_FIRST,
FOO_SECOND
};
int
test_6 (enum foo f)
{
switch (f)
{
case FOO_FURST: /* { dg-error "10: .FOO_FURST. undeclared .first use in this function.; did you mean .FOO_FIRST." } */
break;
/* { dg-begin-multiline-output "" }
case FOO_FURST:
^~~~~~~~~
FOO_FIRST
{ dg-end-multiline-output "" } */
case FOO_SECCOND: /* { dg-error "10: .FOO_SECCOND. undeclared .first use in this function.; did you mean .FOO_SECOND." } */
break;
/* { dg-begin-multiline-output "" }
case FOO_SECCOND:
^~~~~~~~~~~
FOO_SECOND
{ dg-end-multiline-output "" } */
default:
break;
}
}
int snprintf (char *, __SIZE_TYPE__, const char *, ...);
void
test_7 (int i, int j)
{
int buffer[100];
snprint (buffer, 100, "%i of %i", i, j); /* { dg-warning "3: implicit declaration of function .snprint.; did you mean .snprintf.." } */
/* { dg-begin-multiline-output "" }
snprint (buffer, 100, "%i of %i", i, j);
^~~~~~~
snprintf
{ dg-end-multiline-output "" } */
}