blob: 32b3d8c0f78fdab4abda0765ae51df5586dd6a2e [file] [log] [blame]
// { dg-do run }
// { dg-options "" }
class A {
public:
operator bool () {
return true;
}
} a;
class A1 {
public:
operator int () {
return true;
}
} a1;
class A2 {
public:
operator const char * () {
return "";
}
} a2;
class A3 {
public:
operator unsigned long long int () {
return true;
}
} a3;
class A4 {
public:
operator const char * () {
return "";
}
operator unsigned long long int () {
return true;
}
} a4;
class A5 {
public:
operator double () {
return 256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0
*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0
*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0
*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0*256.0e0;
}
} a5;
int i = true;
bool b = true;
bool c = (bool)(void (A::*)())0;
bool d = 256;
int
main() {
if (!d) return 1;
if (!a) return 1;
if (!(bool)a) return 1;
// if (!(long long)a) return 1;
if (!a1) return 1;
if (!a2) return 1;
if (!a3) return 1;
if (!a5) return 1;
return 0;
}