]> www.ginac.de Git - cln.git/blobdiff - include/cln/object.h
Added e2k arch support.
[cln.git] / include / cln / object.h
index bb5a24216ceab8e22cf3c8587051f420f1565083..15c13593f4aa98b2b4d29d597444590238eab400 100644 (file)
@@ -17,15 +17,15 @@ namespace cln {
 //              or immediate data.
 
 // It is possible to distinguish these because pointers are aligned.
-// cl_uint_alignment is the guaranteed alignment of a `void*' or `long'
+// cl_word_alignment is the guaranteed alignment of a `void*' or `long'
 // in memory. Must be > 1.
 #if defined(__m68k__)
   #define cl_word_alignment  2
 #endif
-#if defined(__i386__) || defined(__mips__) || defined(__mipsel__) || defined(__sparc__) || defined(__hppa__) || defined(__arm__) || defined(__rs6000__) || defined(__m88k__) || defined(__convex__) || defined(__s390__)
+#if defined(__i386__) || (defined(__mips__) && !defined(__LP64__)) || (defined(__sparc__) && !defined(__arch64__)) || defined(__hppa__) || defined(__arm__) || defined(__rs6000__) || defined(__m88k__) || defined(__convex__) || (defined(__s390__) && !defined(__s390x__)) || defined(__sh__) || (defined(__x86_64__) && defined(__ILP32__))
   #define cl_word_alignment  4
 #endif
-#if defined(__alpha__) || defined(__ia64__) || defined(__mips64__) || defined(__powerpc64__) || defined(__sparc64__) || defined(__x86_64__)
+#if defined(__alpha__) || defined(__ia64__) || defined(__mips64__) || defined(__powerpc64__) || (defined(__sparc__) && defined(__arch64__)) || (defined(__x86_64__) && !defined(__ILP32__)) || defined(__s390x__) || defined(__aarch64__) || (defined(__riscv) && __riscv_xlen == 64) || defined(__e2k__)
   #define cl_word_alignment  8
 #endif
 #if !defined(cl_word_alignment)
@@ -327,11 +327,7 @@ public:
        cl_private_thing _as_cl_private_thing () const;
 // Private constructor.
        cl_gcobject (cl_private_thing p)
-               #if !(defined(__alpha__) && !defined(__GNUC__))
                : pointer (p) {}
-               #else
-               { pointer = p; }
-               #endif
 // Debugging output.
        void debug_print () const;
 // Ability to place an object at a given address.
@@ -377,11 +373,7 @@ public:
        cl_private_thing _as_cl_private_thing () const;
 // Private constructor.
        cl_gcpointer (cl_private_thing p)
-               #if !(defined(__alpha__) && !defined(__GNUC__))
                : pointer (p) {}
-               #else
-               { pointer = p; }
-               #endif
 // Debugging output.
        void debug_print () const;
 // Ability to place an object at a given address.
@@ -427,11 +419,7 @@ public:
        cl_private_thing _as_cl_private_thing () const;
 // Private constructor.
        cl_rcobject (cl_private_thing p)
-               #if !(defined(__alpha__) && !defined(__GNUC__))
                : pointer (p) {}
-               #else
-               { pointer = p; }
-               #endif
 // Debugging output.
        void debug_print () const;
 // Ability to place an object at a given address.
@@ -477,11 +465,7 @@ public:
        cl_private_thing _as_cl_private_thing () const;
 // Private constructor.
        cl_rcpointer (cl_private_thing p)
-               #if !(defined(__alpha__) && !defined(__GNUC__))
                : pointer (p) {}
-               #else
-               { pointer = p; }
-               #endif
 // Debugging output.
        void debug_print () const;
 // Ability to place an object at a given address.