blob: e4a606e2052a70fb57d83757f5f86788bee34cf7 [file] [log] [blame]
/* { dg-do compile } */
/* { dg-options "-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-error "3: 'gtk_widget_showall' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
gtk_widget_showall (w);
^~~~~~~~~~~~~~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "3: suggested alternative: 'gtk_widget_show_all'" "" { target *-*-* } 12 }
/* { 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-error "3: 'gtk_widget_showall_' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
gtk_widget_showall_ (w);
^~~~~~~~~~~~~~~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "3: suggested alternative: 'gtk_widget_show_all'" "" { target *-*-* } 26 }
/* { dg-begin-multiline-output "" }
gtk_widget_showall_ (w);
^~~~~~~~~~~~~~~~~~~
gtk_widget_show_all
{ dg-end-multiline-output "" } */
GtkWidgetShowAll (w); // { dg-error "3: 'GtkWidgetShowAll' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
GtkWidgetShowAll (w);
^~~~~~~~~~~~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "3: suggested alternative: 'gtk_widget_show_all'" "" { target *-*-* } 38 }
/* { 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' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
return parma * parma;
^~~~~
{ dg-end-multiline-output "" } */
// { dg-message "10: suggested alternative: 'param'" "" { target *-*-* } 54 }
/* { 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-error "10: 'MACRAME' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
return MACRAME (i);
^~~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "10: suggested alternative: 'MACRO'" "" { target *-*-* } 72 }
/* { 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-error "10: 'IDENTIFIER_PTR' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
return IDENTIFIER_PTR (node);
^~~~~~~~~~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "10: suggested alternative: 'IDENTIFIER_POINTER'" "" { target *-*-* } 90 }
/* { dg-begin-multiline-output "" }
return IDENTIFIER_PTR (node);
^~~~~~~~~~~~~~
IDENTIFIER_POINTER
{ dg-end-multiline-output "" } */
}
int
test_5 (void)
{
return __LINE_; /* { dg-error "10: '__LINE_' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
return __LINE_;
^~~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "10: suggested alternative: '__LINE__'" "" { target *-*-* } 107 }
/* { dg-begin-multiline-output "" }
return __LINE_;
^~~~~~~
__LINE__
{ dg-end-multiline-output "" } */
}
#define MAX_ITEMS 100
int array[MAX_ITEM]; // { dg-error "11: 'MAX_ITEM' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
int array[MAX_ITEM];
^~~~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "11: suggested alternative: 'MAX_ITEMS'" "" { target *-*-* } 121 }
/* { dg-begin-multiline-output "" }
int array[MAX_ITEM];
^~~~~~~~
MAX_ITEMS
{ dg-end-multiline-output "" } */
enum foo {
FOO_FIRST,
FOO_SECOND
};
void
test_6 (enum foo f)
{
switch (f)
{
case FOO_FURST: // { dg-error "10: 'FOO_FURST' was not declared in this scope" }
break;
/* { dg-begin-multiline-output "" }
case FOO_FURST:
^~~~~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "10: suggested alternative: 'FOO_FIRST'" "" { target *-*-* } 144 }
/* { dg-begin-multiline-output "" }
case FOO_FURST:
^~~~~~~~~
FOO_FIRST
{ dg-end-multiline-output "" } */
case FOO_SECCOND: // { dg-error "10: 'FOO_SECCOND' was not declared in this scope" }
break;
/* { dg-begin-multiline-output "" }
case FOO_SECCOND:
^~~~~~~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "10: suggested alternative: 'FOO_SECOND'" "" { target *-*-* } 157 }
/* { 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-error "3: 'snprint' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
snprint (buffer, 100, "%i of %i", i, j);
^~~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "3: suggested alternative: 'snprintf'" "" { target *-*-* } 181 }
/* { dg-begin-multiline-output "" }
snprint (buffer, 100, "%i of %i", i, j);
^~~~~~~
snprintf
{ dg-end-multiline-output "" } */
}
int
test_8 ()
{
int local = 42;
return locale; // { dg-error "10: 'locale' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
return locale;
^~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "10: suggested alternative: 'local'" "" { target *-*-* } 199 }
/* { dg-begin-multiline-output "" }
return locale;
^~~~~~
local
{ dg-end-multiline-output "" } */
}
class base
{
public:
int test_method_1 ();
protected:
int m_foo;
};
class sub : public base
{
public:
int test_method_2 ();
};
int base::test_method_1 ()
{
return m_food; // { dg-error "10: 'm_food' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
return m_food;
^~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "10: suggested alternative: 'm_foo'" "" { target *-*-* } 229 }
/* { dg-begin-multiline-output "" }
return m_food;
^~~~~~
m_foo
{ dg-end-multiline-output "" } */
}
int sub::test_method_2 ()
{
return m_food; // { dg-error "10: 'm_food' was not declared in this scope" }
/* { dg-begin-multiline-output "" }
return m_food;
^~~~~~
{ dg-end-multiline-output "" } */
// { dg-message "10: suggested alternative: 'm_foo'" "" { target *-*-* } 244 }
/* { dg-begin-multiline-output "" }
return m_food;
^~~~~~
m_foo
{ dg-end-multiline-output "" } */
}