blob: 70e86445c07af9f7f6ad2992f7f1bbe3982f0fa8 [file] [log] [blame]
/* PR c++/94510 - nullptr_t implicitly cast to zero twice in std::array
{ dg-do compile } */
int ia1[2] = { (void*)0 }; // { dg-error "invalid conversion from 'void\\\*'" }
int ia2[2] = { (void*)0, 0 }; // { dg-error "invalid conversion from 'void\\\*'" }
int ia3[] = { (void*)0, 0 }; // { dg-error "invalid conversion from 'void\\\*'" }
int ia4[2] = { __null }; // { dg-warning "\\\[-Wconversion-null" }
int ia5[2] = { __null, 0 }; // { dg-warning "\\\[-Wconversion-null" }
int ia6[] = { __null, 0 }; // { dg-warning "\\\[-Wconversion-null" }
const char ca1[2] = { (char*)0, 0 }; // { dg-error "invalid conversion from 'char\\\*'" }
const char ca2[2] = { __null, 0 }; // { dg-warning "\\\[-Wconversion-null" }
typedef void Func ();
const char ca6[2] = { (Func*)0, 0 }; // { dg-error "invalid conversion from 'void \\\(\\\*\\\)\\\(\\\)' to 'char'" }
struct S;
typedef int S::*MemPtr;
typedef int (S::*MemFuncPtr)();
const char ca4[2] = { (MemPtr)0, 0 }; // { dg-error "cannot convert 'MemPtr' " }
const char ca5[2] = { (MemFuncPtr)0, 0 }; // { dg-error "cannot convert 'int \\\(S::\\\*\\\)\\\(\\\)' " }