]> www.ginac.de Git - cln.git/blobdiff - include/cln/modules.h
* src/float/base/cl_ieee.cc: try to do magic to the FPU only if
[cln.git] / include / cln / modules.h
index 913e4439ff58df098cc74e9b999ebb74009496e1..314df9c4474261b7319d551f57ae8a54263e1c15 100644 (file)
     #define ASM_UNDERSCORE_PREFIX ""
   #endif
   // Globalize a label defined in the same translation unit.
-  // See macro ASM_GLOBALIZE_LABEL in the egcs sources.
+  // See macro ASM_GLOBALIZE_LABEL in the gcc sources.
   #if defined(__i386__) || defined(__m68k__) || defined(__mips__) || defined(__mips64__) || defined(__alpha__) || defined(__rs6000__)
     // Some m68k systems use "xdef" or "global" or ".global"...
     #define CL_GLOBALIZE_LABEL(label)  __asm__("\t.globl " label);
   #endif
-  #if defined(__sparc__) || defined(__sparc64__) || defined(__arm__)
+  #if defined(__sparc__) || defined(__sparc64__) || defined(__arm__) || defined(__ia64__)
     // Some arm systems use "EXPORT" or ".globl"...
     #define CL_GLOBALIZE_LABEL(label)  __asm__("\t.global " label);
   #endif
     #define CL_GLOBALIZE_CTORDTOR_LABEL(label)
   #endif
   // Output a label inside a function.
-  // See macro ASM_OUTPUT_LABEL in the egcs sources.
+  // See macro ASM_OUTPUT_LABEL in the gcc sources.
   #if defined(__hppa__)
-    #define CL_OUTPUT_LABEL(label)  ASM_VOLATILE ("\n" label)
+    // Some hppa (Linux) systems want `label:', HPUX used to use just `label'.
+    // I tried to find out, but was unable to find the assembler on my HPUX-11
+    // boxen so decided to potentially ditch the support (no joke).  Please
+    // send an email if you can explain to me what's going on! (-rbk. 07/2001)
+    #define CL_OUTPUT_LABEL(label)  ASM_VOLATILE ("\n" label ":")
   #else
     #define CL_OUTPUT_LABEL(label)  ASM_VOLATILE ("\n" label ":")
   #endif
   #if defined(__convex__)
     #define CL_JUMP_TO(addr)  ASM_VOLATILE("jmp (%0)" : : "r" ((void*)(addr)))
   #endif
+  #if defined(__ia64__)
+    #define CL_JUMP_TO(addr)  ASM_VOLATILE("br " #addr)
+  #endif
   #define CL_PROVIDE(module)  \
     extern "C" void cl_module__##module##__firstglobalfun () {}                \
     extern "C" void cl_module__##module##__ctorend (void);             \