]> gitweb.factorcode.org Git - factor.git/commitdiff
alien.c-types: ensure that long and ulong types are defined with define-primitive...
authorSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 22 Jan 2010 11:15:08 +0000 (00:15 +1300)
committerSlava Pestov <slava@slava-pestovs-macbook-pro.local>
Fri, 22 Jan 2010 11:15:08 +0000 (00:15 +1300)
basis/alien/c-types/c-types.factor
basis/cpu/x86/x86.factor

index ff17e68e831acdb67e97e464dfe0e7c543ba2556..24221160ce85bfb78ebda04465b95646d70c07ef 100644 (file)
@@ -494,11 +494,11 @@ SYMBOLS:
         \ ulonglong define-primitive-type
 
         os windows? [
-            \ int c-type \ long typedef
-            \ uint c-type \ ulong typedef
+            \ int c-type \ long define-primitive-type
+            \ uint c-type \ ulong define-primitive-type
         ] [
-            \ longlong c-type \ long typedef
-            \ ulonglong c-type \ ulong typedef
+            \ longlong c-type \ long define-primitive-type
+            \ ulonglong c-type \ ulong define-primitive-type
         ] if
 
         \ longlong c-type \ ptrdiff_t typedef
@@ -529,11 +529,12 @@ SYMBOLS:
             "to_unsigned_8" >>unboxer
         \ ulonglong define-primitive-type
 
-        \ int c-type \ long typedef
+        \ int c-type \ long define-primitive-type
+        \ uint c-type \ ulong define-primitive-type
+
         \ int c-type \ ptrdiff_t typedef
         \ int c-type \ intptr_t typedef
 
-        \ uint c-type \ ulong typedef
         \ uint c-type \ uintptr_t typedef
         \ uint c-type \ size_t typedef
     ] if
index f2751b1be21b23c51b488aa0308d901549d0b91b..0cd557896b44efdf1302140f2b531966264649d1 100644 (file)
@@ -56,8 +56,8 @@ M: x86 stack-frame-size ( stack-frame -- i )
     3 cells +
     align-stack ;
 
-! Must be a volatile register not used for parameter passing, for safe
-! use in calls in and out of C
+! Must be a volatile register not used for parameter passing or
+! integer return
 HOOK: temp-reg cpu ( -- reg )
 
 HOOK: pic-tail-reg cpu ( -- reg )