Merge branch 'boehm-demers-weiser-gc' into bdw-gc-static-alloc
[bpt/guile.git] / libguile / __scm.h
index 791150d..32b52df 100644 (file)
  * and then SCM_API marks them for export. */
 #define SCM_INTERNAL  extern
 
+/* The SCM_ALIGNED macro, when defined, can be used to instruct the compiler
+ * to honor the given alignment constraint.  */
+#if (defined __GNUC__)
+# define SCM_ALIGNED(x)  __attribute__ ((aligned (x)))
+#elif (defined __INTEL_COMPILER)
+# define SCM_ALIGNED(x)  __declspec (align (x))
+#else
+/* Don't know how to align things.  */
+# undef SCM_ALIGNED
+#endif
 
 \f
 /* {Supported Options}