Hello, there is one problem with the 64 bit build on AIX... it was not a 64 bit build... I need to explain this a bit.
__WORDSIZE is not defined in AIX -> so in rexxapitypes.h __REXX64__ never gets defined ==> no go - crash - boom If I feed -D__WORDSIZE=64 to configure then I get the following make error: xlC_r -DHAVE_CONFIG_H -I. -DORX_VER=4 -DORX_REL=0 -DORX_MOD=0 -DORX_FIX=0 -DORX_SYS_STR=\"AIX\" -DORX_CATDIR=\"/opt/ooRexx/bin\" -DORX_SHARED_LIBRARY_EXT=\".so\" -I./lib -I./api -I./api/platform/unix -I./common -I./common/platform/unix -I./interpreter -I./interpreter/behaviour -I./interpreter/execution -I./interpreter/memory -I./interpreter/package -I./interpreter/concurrency -I./interpreter/expression -I./interpreter/instructions -I./interpreter/classes -I./interpreter/classes/support -I./interpreter/runtime -I./interpreter/parser -I./interpreter/messages -I./interpreter/streamLibrary -I./interpreter/platform/common -I./interpreter/platform/unix -g -D__WORDSIZE=64 -+ -qchars=unsigned -qnodigraph -DNOOPT -DPTHREAD_KERNEL -D_POSIX_THREAD -D_REENTRANT -D_GNU_SOURCE -DOPSYS_AIX43 -DAIX -DOPSYS_AIX -c -M ./interpreter/runtime/Numerics.cpp -DPIC -o .libs/librexx_la-Numerics.o "./interpreter/runtime/Numerics.cpp", line 53.49: 1540-0274 (S) The name lookup for "__INT64_C" did not find a declaration. "./interpreter/runtime/Numerics.cpp", line 54.49: 1540-0274 (S) The name lookup for "__INT64_C" did not find a declaration. "./interpreter/runtime/Numerics.cpp", line 55.46: 1540-0274 (S) The name lookup for "__INT64_C" did not find a declaration. "./interpreter/runtime/Numerics.cpp", line 56.46: 1540-0274 (S) The name lookup for "__INT64_C" did not find a declaration. gmake: *** [librexx_la-Numerics.lo] Error 1 ==> __INT64_C does not work on AIX I can use limits.h on AIX: #ifdef __64BIT__ #define LONG_MAX (9223372036854775807L) #define LONG_MIN (-LONG_MAX - 1) ... Is this what you have intended ? So I changed Numerics.cpp #ifdef __REXX64__ #ifdef AIX const wholenumber_t Numerics::MAX_WHOLENUMBER = LONG_MAX; const wholenumber_t Numerics::MIN_WHOLENUMBER = LONG_MIN; const wholenumber_t Numerics::MAX_EXPONENT = LONG_MAX; const wholenumber_t Numerics::MIN_EXPONENT = LONG_MIN; #else ... With this patch I can create the image and 64 bit rexx is working on AIX. The samples + callrex1 / callrexx2 are working fine. I still have to run the test suite. So now I have to prepare (a more polished) patch. Bye Rainer ------------------------------------------------------------------------------ _______________________________________________ Oorexx-devel mailing list Oorexx-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/oorexx-devel