aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/ast.boot8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot
index b49f149f..95d7cbc5 100644
--- a/src/boot/ast.boot
+++ b/src/boot/ast.boot
@@ -1615,16 +1615,20 @@ genSBCLnativeTranslation(op,s,t,op') ==
newArgs := [coerceToNativeType(a,x), :newArgs]
if needsStableReference? x then
unstableArgs := [a,:unstableArgs]
+
+ op' :=
+ %hasFeature KEYWORD::WIN32 => strconc('"__",SYMBOL_-NAME op')
+ SYMBOL_-NAME op'
null unstableArgs =>
[["DEFUN",op,args,
[INTERN('"ALIEN-FUNCALL",'"SB-ALIEN"),
- [INTERN('"EXTERN-ALIEN",'"SB-ALIEN"),SYMBOL_-NAME op',
+ [INTERN('"EXTERN-ALIEN",'"SB-ALIEN"), op',
["FUNCTION",rettype,:argtypes]], :args]]]
[["DEFUN",op,args,
[bfColonColon("SB-SYS","WITH-PINNED-OBJECTS"), nreverse unstableArgs,
[INTERN('"ALIEN-FUNCALL",'"SB-ALIEN"),
- [INTERN('"EXTERN-ALIEN",'"SB-ALIEN"),SYMBOL_-NAME op',
+ [INTERN('"EXTERN-ALIEN",'"SB-ALIEN"), op',
["FUNCTION",rettype,:argtypes]], :nreverse newArgs]]]]