diff options
Diffstat (limited to 'gcc/testsuite/gdc.test/runnable/testargtypes.d')
-rw-r--r-- | gcc/testsuite/gdc.test/runnable/testargtypes.d | 113 |
1 files changed, 0 insertions, 113 deletions
diff --git a/gcc/testsuite/gdc.test/runnable/testargtypes.d b/gcc/testsuite/gdc.test/runnable/testargtypes.d deleted file mode 100644 index 343a1c80e14..00000000000 --- a/gcc/testsuite/gdc.test/runnable/testargtypes.d +++ /dev/null @@ -1,113 +0,0 @@ - -void chkArgTypes(S, V...)() -{ - pragma(msg, S); - static if (is(S U == __argTypes)) - { - foreach (T; U) { pragma(msg, T); } - static assert(U.length == V.length); - foreach (i, T; U) - static assert(is(V[i] == T)); - } - else - static assert(0); -} - -void chkSingle(T,U)() -{ - struct S { T a; } - chkArgTypes!(S, U)(); -} - -void chkIdentity(T)() -{ - chkSingle!(T,T)(); -} - -void chkPair(T,U,V)() -{ - struct S { T a; U b; } - chkArgTypes!(S, V)(); -} - -version (X86_64) -{ - int main() - { - chkIdentity!byte(); - chkIdentity!ubyte(); - chkIdentity!short(); - chkIdentity!ushort(); - chkIdentity!int(); - chkIdentity!uint(); - chkIdentity!long(); - chkIdentity!ulong(); - chkSingle!(char,ubyte)(); - chkSingle!(wchar,ushort)(); - chkSingle!(dchar,uint)(); - - chkIdentity!float(); - chkIdentity!double(); - chkIdentity!real(); - - chkIdentity!(void*)(); - - chkIdentity!(__vector(byte[16]))(); - chkIdentity!(__vector(ubyte[16]))(); - chkIdentity!(__vector(short[8]))(); - chkIdentity!(__vector(ushort[8]))(); - chkIdentity!(__vector(int[4]))(); - chkIdentity!(__vector(uint[4]))(); - chkIdentity!(__vector(long[2]))(); - chkIdentity!(__vector(ulong[2]))(); - - chkIdentity!(__vector(float[4]))(); - chkIdentity!(__vector(double[2]))(); - - chkPair!(byte,byte,short); - chkPair!(ubyte,ubyte,short); - chkPair!(short,short,int); - chkPair!(int,int,long); - - chkPair!(byte,short,int); - chkPair!(short,byte,int); - - chkPair!(int,float,long); - chkPair!(float,int,long); - chkPair!(byte,float,long); - chkPair!(float,short,long); - - //struct S1 { long a; long b; } - //chkArgTypes!(S1, long, long)(); - - struct S2 { union { long a; double d; }} - chkArgTypes!(S2, long)(); - - struct S3 { union { double d; long a; }} - chkArgTypes!(S3, long)(); - - struct S4 { int a,b,c,d,e; } - chkArgTypes!(S4)(); - - struct S5 { align(1): char a; int b; } - chkArgTypes!(S5)(); - - struct S6 { align(1): int a; void* b; } - chkArgTypes!(S5)(); - - struct S7 { union { void* p; real r; }} - chkArgTypes!(S7)(); - - struct S8 { union { real r; void* p; }} - chkArgTypes!(S8)(); - - return 0; - } -} -else -{ - int main() - { - return 0; - } -} |