File tree Expand file tree Collapse file tree 1 file changed +24
-4
lines changed
Expand file tree Collapse file tree 1 file changed +24
-4
lines changed Original file line number Diff line number Diff line change @@ -988,14 +988,24 @@ extern (C++) struct Target
988988 */
989989 extern (C++ ) TypeTuple toArgTypes(Type t)
990990 {
991- import dmd.argtypes_x86 : toArgTypes_x86;
992991 import dmd.argtypes_sysv_x64 : toArgTypes_sysv_x64;
993- if (isX86_64 || isAArch64 )
992+ if (isX86_64)
994993 {
995994 // no argTypes for Win64 yet
996995 return isPOSIX ? toArgTypes_sysv_x64(t) : null ;
997996 }
998- return toArgTypes_x86 (t);
997+ else if (isX86)
998+ {
999+ import dmd.argtypes_x86 : toArgTypes_x86;
1000+ return toArgTypes_x86 (t);
1001+ }
1002+ else if (isAArch64)
1003+ {
1004+ import dmd.argtypes_aarch64 : toArgTypes_aarch64;
1005+ return toArgTypes_aarch64 (t);
1006+ }
1007+ else
1008+ assert (0 );
9991009 }
10001010
10011011 /**
@@ -1073,14 +1083,24 @@ extern (C++) struct Target
10731083 return true ;
10741084 }
10751085 }
1076- else if (( isX86_64 || isAArch64) && isPOSIX)
1086+ else if (isX86_64 && isPOSIX)
10771087 {
10781088 TypeTuple tt = toArgTypes_sysv_x64(tn);
10791089 if (! tt)
10801090 return false ; // void
10811091
10821092 return ! tt.arguments.length;
10831093 }
1094+ else if (isAArch64 && isPOSIX)
1095+ {
1096+ import dmd.argtypes_aarch64 : toArgTypes_aarch64;
1097+
1098+ TypeTuple tt = toArgTypes_aarch64(tn);
1099+ if (! tt)
1100+ return false ; // void
1101+
1102+ return ! tt.arguments.length;
1103+ }
10841104
10851105 Lagain:
10861106 if (tns.ty == TY .Tsarray)
You can’t perform that action at this time.
0 commit comments