// { dg-do link }
|
// { dg-do link }
|
// { dg-options "-Wconversion" }
|
// { dg-options "-Wconversion" }
|
|
|
#include
|
#include
|
|
|
void g(int) {}
|
void g(int) {}
|
void g(long) {}
|
void g(long) {}
|
extern void g(void*);
|
extern void g(void*);
|
|
|
template
|
template
|
void h() {}
|
void h() {}
|
|
|
void k(int) {}
|
void k(int) {}
|
|
|
template
|
template
|
void l(T);
|
void l(T);
|
|
|
template <>
|
template <>
|
void l(int) {}
|
void l(int) {}
|
|
|
template <>
|
template <>
|
void l(long) {}
|
void l(long) {}
|
|
|
int main()
|
int main()
|
{
|
{
|
int i = NULL; // { dg-warning "" } converting NULL to non-pointer type
|
int i = NULL; // { dg-warning "" } converting NULL to non-pointer type
|
float z = NULL; // { dg-warning "" } converting NULL to non-pointer type
|
float z = NULL; // { dg-warning "" } converting NULL to non-pointer type
|
int a[2];
|
int a[2];
|
|
|
i != NULL; // { dg-warning "" } NULL used in arithmetic
|
i != NULL; // { dg-warning "" } NULL used in arithmetic
|
NULL != z; // { dg-warning "" } NULL used in arithmetic
|
NULL != z; // { dg-warning "" } NULL used in arithmetic
|
k != NULL; // No warning: decay conversion
|
k != NULL; // No warning: decay conversion
|
NULL != a; // Likewise.
|
NULL != a; // Likewise.
|
-NULL; // { dg-warning "" } converting NULL to non-pointer type
|
-NULL; // { dg-warning "" } converting NULL to non-pointer type
|
+NULL; // { dg-warning "" } converting NULL to non-pointer type
|
+NULL; // { dg-warning "" } converting NULL to non-pointer type
|
~NULL; // { dg-warning "" } converting NULL to non-pointer type
|
~NULL; // { dg-warning "" } converting NULL to non-pointer type
|
a[NULL] = 3; // { dg-warning "" } converting NULL to non-pointer-type
|
a[NULL] = 3; // { dg-warning "" } converting NULL to non-pointer-type
|
i = NULL; // { dg-warning "" } converting NULL to non-pointer type
|
i = NULL; // { dg-warning "" } converting NULL to non-pointer type
|
z = NULL; // { dg-warning "" } converting NULL to non-pointer type
|
z = NULL; // { dg-warning "" } converting NULL to non-pointer type
|
k(NULL); // { dg-warning "" } converting NULL to int
|
k(NULL); // { dg-warning "" } converting NULL to int
|
g(NULL); // { dg-warning "" } converting NULL to int
|
g(NULL); // { dg-warning "" } converting NULL to int
|
h(); // No warning: NULL bound to integer template parameter
|
h(); // No warning: NULL bound to integer template parameter
|
l(NULL); // { dg-warning "" } converting NULL to int
|
l(NULL); // { dg-warning "" } converting NULL to int
|
NULL && NULL; // No warning: converting NULL to bool is OK
|
NULL && NULL; // No warning: converting NULL to bool is OK
|
}
|
}
|
|
|