Path: utzoo!attcan!uunet!van-bc!ubc-cs!alberta!ccu!umholtm0 From: umholtm0@ccu.umanitoba.ca (Heston Holtmann) Newsgroups: comp.sys.amiga.tech Subject: Lattice(tm) __regargs , -rr, lcr.lib/lcmr.lib probs Keywords: Lattice(tm), lc -rr, __regargs, register parms Message-ID: <1990Feb28.091642.7789@ccu.umanitoba.ca> Date: 28 Feb 90 09:16:42 GMT Sender: umholtm0@ccu.umanitoba.ca (Heston Holtmann) Organization: University of Manitoba, Winnipeg, Canada Lines: 49 Has anyone had linking problems with lcr.lib lcmr.lib when using __regargs instead of __stdargs (compiler default) on your functions to force the compiler to use registerized parameters instead of the standard stack convention of passing function arguments?? I HAVE.. I have a simple test program that calls a function returning a double and has a double as its single argument. when i use the __regargs or compile with the -rr option to override the stack convesion and then link with the registerized versions of the Lattice libraries i get undefeined references to @main. SAMPLE CODE FORMAT #include #include main() { extern double __regargs func( double ); func( x ); } double __regargs func( double n ) { .... return( n ); } compile format: lc -cweik -fl -rr foo.c link format: blink from lib:c.o+foo.o to foo lib lib:lcmr.lib lib:lcr.lib lib:amiga.lib sc sd nd blink error: Undefined sysmbols First References @main File 'lib:lcr.lib' Enter a DEFINE value for @main (default _stuf): I have the feeling i missed something along the line, but the docs don't document __regargs or -rr very much... this pertains to Lattice(tm) version 5.04a Heston Holtmann ________________________________________________________________________ The One Who Masters All the Funny Symbols, Masters the World! ________________________________________________________________________