]> www.ginac.de Git - cln.git/blobdiff - include/cln/modules.h
* include/cln/types.h ([su]intE): 64-bit exponents for MIPS and RS6000.
[cln.git] / include / cln / modules.h
index ee64fc06272ba1a2dda5b6f0d79e7f8098295dc5..ad05e0bd827aa15708c2370359e01c688fc3b4c1 100644 (file)
   // in gcc-2.95. For new CPUs, look for "jump" and "indirect_jump" in gcc's
   // machine description.
   #if defined(__i386__)
-    #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp %*%0" : : "rm" ((void*)(addr)))
+    #if defined(__APPLE__) && defined(__MACH__)
+      #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp " ASM_UNDERSCORE_PREFIX #addr)
+    #else
+      #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp %*%0" : : "rm" ((void*)(addr)))
+    #endif
   #endif
   #if defined(__x86_64__)
     #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp " ASM_UNDERSCORE_PREFIX #addr)
   #endif
   #if defined(__m68k__)
-    #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp %0@" : : "a" ((void*)(addr)))
+    //#define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp %0@" : : "a" ((void*)(addr)))
+    #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp (" ASM_UNDERSCORE_PREFIX #addr ",%pc)")
   #endif
   #if defined(__mips__) || defined(__mipsel__)
     //#define CL_JUMP_TO(addr)  ASM_VOLATILE("%*j %0" : : "d" ((void*)(addr)))