Hi,

Felix Rabe <[EMAIL PROTECTED]> writes:

> In file included from SqueakProxy.o.c:569:
> vmProxy.c: In function ‘pop’:
> vmProxy.c:17: warning: implicit declaration of function ‘_send’
> make: *** [SqueakProxy.o] Error 1

I've fixed this error in my experimental Oean branch (see
http://vpri.org/fonc_wiki/Sources).  Attached is what I believe is the
relevant part of
http://fig.org/ocean/.hg/patches/struct-send-fixes.patch

Good luck,

-- 
Michael FIG <[EMAIL PROTECTED]> //\
   http://michael.fig.org/    \//

diff -r 7b078983ae0b object/examples/sqvm/vmProxy.c
--- a/object/examples/sqvm/vmProxy.c    Wed Apr 23 12:17:46 2008 -0600
+++ b/object/examples/sqvm/vmProxy.c    Wed Apr 23 12:19:45 2008 -0600
@@ -5,7 +5,7 @@
 
 #define _O(I)          ((oop)((I) << 1 | 1))
 #define _I(O)          ((int)(O) >> 1)
-#define VM(S, ARGS...) ((int)_send(s_##S, vm, ## ARGS))
+#define VM(S, N, ARGS...)      ((int)_sendv(s_##S, N, vm, ## ARGS))
 
 static oop vm= 0;
 
@@ -14,7 +14,7 @@ static int minorVersion(void)                                 
                        { r
 static int minorVersion(void)                                                  
        { return VM_PROXY_MINOR; }
 static int majorVersion(void)                                                  
        { return VM_PROXY_MAJOR; }
 /* InterpreterProxy methodsFor: 'stack access' */
-static int pop(int nItems)                                                     
        { return VM(pop_, _O(nItems)); }
+static int pop(int nItems)                                                     
        { return VM(pop_, 1, _O(nItems)); }
 static int popthenPush(int nItems, int oop)                                    
        { MISSING; }
 static int push(int object)                                                    
        { MISSING; }
 static int pushBool(int trueOrFalse)                                           
        { MISSING; }
@@ -24,32 +24,32 @@ static int stackIntegerValue(int offset)
 static int stackIntegerValue(int offset)                                       
        { MISSING; }
 static int stackObjectValue(int offset)                                        
                { MISSING; }
 
-static int stackValue(int offset)                                              
        { return (int)VM(stackValue_, _O(offset)); }
+static int stackValue(int offset)                                              
        { return (int)VM(stackValue_, 1, _O(offset)); }
 
 /* InterpreterProxy methodsFor: 'object access' */
 static int argumentCountOf(int methodPointer)                                  
        { MISSING; }
 static void * arrayValueOf(int oop)                                            
        { MISSING; }
-static int byteSizeOf(int objectPointer)                                       
        { return _I(VM(byteSizeOf_, objectPointer)); }
+static int byteSizeOf(int objectPointer)                                       
        { return _I(VM(byteSizeOf_, 1, objectPointer)); }
 static void * fetchArrayofObject(int fieldIndex, int objectPointer)            
        { MISSING; }
 static int fetchClassOf(int oop)                                               
        { MISSING; }
 static double fetchFloatofObject(int fieldIndex, int objectPointer)            
        { MISSING; }
 
-static int fetchIntegerofObject(int fieldIndex, int objectPointer)             
        { return _I(VM(fetchInteger_ofObject_, _O(fieldIndex), objectPointer)); 
}
-
-static int fetchPointerofObject(int fieldIndex, int objectPointer)             
        { return VM(fetchPointer_ofObject_, _O(fieldIndex), objectPointer); }
+static int fetchIntegerofObject(int fieldIndex, int objectPointer)             
        { return _I(VM(fetchInteger_ofObject_, 2, _O(fieldIndex), 
objectPointer)); }
+
+static int fetchPointerofObject(int fieldIndex, int objectPointer)             
        { return VM(fetchPointer_ofObject_, 2, _O(fieldIndex), objectPointer); }
 
 static int fetchWordofObject(int fieldFieldIndex, int oop)                     
        { MISSING; }
 static void * firstFixedField(int oop)                                         
        { MISSING; }
-static void * firstIndexableField(int objectPointer)                           
        { return (void *)VM(firstIndexableField_, objectPointer); }
+static void * firstIndexableField(int objectPointer)                           
        { return (void *)VM(firstIndexableField_, 1, objectPointer); }
 static int literalofMethod(int offset, int methodPointer)                      
        { MISSING; }
 static int literalCountOf(int methodPointer)                                   
        { MISSING; }
 
-static int methodArgumentCount(void)                                           
        { return _I(VM(methodArgumentCount)); }
+static int methodArgumentCount(void)                                           
        { return _I(VM(methodArgumentCount, 0)); }
 
 static int methodPrimitiveIndex(void)                                          
        { MISSING; }
 static int primitiveIndexOf(int methodPointer)                                 
        { MISSING; }
 static int sizeOfSTArrayFromCPrimitive(void *cPtr)                             
        { MISSING; }
-static int slotSizeOf(int objectPointer)                                       
        { return _I(VM(slotSizeOf_, objectPointer)); }
+static int slotSizeOf(int objectPointer)                                       
        { return _I(VM(slotSizeOf_, 1, objectPointer)); }
 static int stObjectat(int array, int fieldIndex)                               
        { MISSING; }
 static int stObjectatput(int array, int fieldIndex, int value)                 
        { MISSING; }
 static int stSizeOf(int oop)                                                   
        { MISSING; }
@@ -63,10 +63,10 @@ static int isIndexable(int oop)                             
                                {
 static int isIndexable(int oop)                                                
                { MISSING; }
 static int isIntegerObject(int objectPointer)                                  
        { MISSING; }
 static int isIntegerValue(int intValue)                                        
                { MISSING; }
-static int isPointers(int objectPointer)                                       
        { return VM(isPointers_, objectPointer); }
+static int isPointers(int objectPointer)                                       
        { return VM(isPointers_, 1, objectPointer); }
 static int isWeak(int oop)                                                     
        { MISSING; }
-static int isWords(int objectPointer)                                          
        { return VM(isWords_, objectPointer); }
-static int isWordsOrBytes(int objectPointer)                                   
        { return VM(isWordsOrBytes_, objectPointer); }
+static int isWords(int objectPointer)                                          
        { return VM(isWords_, 1, objectPointer); }
+static int isWordsOrBytes(int objectPointer)                                   
        { return VM(isWordsOrBytes_, 1, objectPointer); }
 /* InterpreterProxy methodsFor: 'converting' */
 static int booleanValueOf(int obj)                                             
        { MISSING; }
 static int checkedIntegerValueOf(int intOop)                                   
        { MISSING; }
@@ -78,11 +78,11 @@ static int positive32BitValueOf(int oop)
 static int positive32BitValueOf(int oop)                                       
        { MISSING; }
 /* InterpreterProxy methodsFor: 'special objects' */
 
-static int characterTable(void)                                                
                { return VM(characterTable); }
-static int displayObject(void)                                                 
        { return VM(displayObject); }
-static int falseObject(void)                                                   
        { return VM(falseObject); }
-static int nilObject(void)                                                     
        { return VM(nilObject); }
-static int trueObject(void)                                                    
        { return VM(trueObject); }
+static int characterTable(void)                                                
                { return VM(characterTable, 0); }
+static int displayObject(void)                                                 
        { return VM(displayObject, 0); }
+static int falseObject(void)                                                   
        { return VM(falseObject, 0); }
+static int nilObject(void)                                                     
        { return VM(nilObject, 0); }
+static int trueObject(void)                                                    
        { return VM(trueObject, 0); }
 
 
 /* InterpreterProxy methodsFor: 'special classes' */
@@ -106,15 +106,15 @@ static int becomewith(int array1, int ar
 static int becomewith(int array1, int array2)                                  
        { MISSING; }
 static int byteSwapped(int w)                                                  
        { MISSING; }
 
-static int failed(void)                                                        
                { return !!VM(failed); }
+static int failed(void)                                                        
                { return !!VM(failed, 0); }
 
 static int fullDisplayUpdate(void)                                             
        { MISSING; }
 static int fullGC(void)                                                        
                { MISSING; }
 static int incrementalGC(void)                                                 
        { MISSING; }
 
-static int primitiveFail(void)                                                 
        { return VM(primitiveFail); }
-
-static int showDisplayBitsLeftTopRightBottom(int aForm, int l, int t, int r, 
int b)    { return VM(showDisplayBits_l_t_r_b_, aForm, _O(l), _O(t), _O(r), 
_O(b)); }
+static int primitiveFail(void)                                                 
        { return VM(primitiveFail, 0); }
+
+static int showDisplayBitsLeftTopRightBottom(int aForm, int l, int t, int r, 
int b)    { return VM(showDisplayBits_l_t_r_b_, 5, aForm, _O(l), _O(t), _O(r), 
_O(b)); }
 static int signalSemaphoreWithIndex(int semaIndex)                             
        { MISSING; }
 static int success(int aBoolean)                                               
        { MISSING; }
 static int superclassOf(int classPointer)                                      
        { MISSING; }

_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to