/* Define if the input iterator category is supported */
#cmakedefine HAVE_CONTIGUOUS_ITERATOR_CATEGORY @HAVE_CONTIGUOUS_ITERATOR_CATEGORY@
+/* Define if the compiler supports __declspec(align) */
+#cmakedefine HAVE_DECLSPEC_ALIGN
+
#endif /* !OSCONFIG_H*/
fi
])
+AC_DEFUN([AC_CHECK_ALIGNOF],
+[
+ AC_MSG_CHECKING([for __alignof__])
+ AC_LINK_IFELSE(
+ [
+ AC_LANG_SOURCE(
+ [
+ int main(){char c[__alignof__(int)];return 0;}
+ ])
+ ],
+ [dcmtk_have_alignof=[yes]],
+ [dcmtk_have_alignof=[no]]
+ )
+ if test "$dcmtk_have_alignof" = yes; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE($1,[1],[Define if __alignof__ is available])
+ else
+ AC_MSG_RESULT([no])
+ fi
+])
+
+AC_DEFUN([AC_CHECK_ATTRIBUTE_ALIGNED],
+[
+ AC_MSG_CHECKING([for __attribute__((aligned))])
+ AC_LINK_IFELSE(
+ [
+ AC_LANG_SOURCE(
+ [
+ int main(){__attribute__((aligned(4))) char c[16];return 0;}
+ ])
+ ],
+ [dcmtk_have_attribute_aligned=[yes]],
+ [dcmtk_have_attribute_aligned=[no]]
+ )
+ if test "$dcmtk_have_attribute_aligned" = yes; then
+ AC_MSG_RESULT([yes])
+ AC_DEFINE($1,[1],[Define if __attribute__((aligned)) is available])
+ else
+ AC_MSG_RESULT([no])
+ fi
+])
dnl
dnl This macro checks if a given preprocessor symbol exists and is a string
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __alignof__" >&5
+$as_echo_n "checking for __alignof__... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+ int main(){char c__alignof__(int);return 0;}
+
+
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ dcmtk_have_alignof=yes
+else
+ dcmtk_have_alignof=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$dcmtk_have_alignof" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_GNU_ALIGNOF 1" >>confdefs.h
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __attribute__((aligned))" >&5
+$as_echo_n "checking for __attribute__((aligned))... " >&6; }
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+
+ int main(){__attribute__((aligned(4))) char c16;return 0;}
+
+
+_ACEOF
+if ac_fn_cxx_try_link "$LINENO"; then :
+ dcmtk_have_attribute_aligned=yes
+else
+ dcmtk_have_attribute_aligned=no
+
+fi
+rm -f core conftest.err conftest.$ac_objext \
+ conftest$ac_exeext conftest.$ac_ext
+ if test "$dcmtk_have_attribute_aligned" = yes; then
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
+$as_echo "yes" >&6; }
+
+$as_echo "#define HAVE_ATTRIBUTE_ALIGNED 1" >>confdefs.h
+
+ else
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
+$as_echo "no" >&6; }
+ fi
+
+
CFLAGS="$DEBUGCFLAGS $CFLAGS"
CXXFLAGS="$DEBUGCXXFLAGS $CXXFLAGS"
OFoptional<int> o0( 3 ), o1, o2( OFnullopt );
+ COUT << OFalignof(OFoptional<char>) << ' ' << sizeof(OFoptional<char>) << OFendl;
+ COUT << OFalignof(OFoptional<short>) << ' ' << sizeof(OFoptional<short>) << OFendl;
+ COUT << OFalignof(OFoptional<float>) << ' ' << sizeof(OFoptional<float>) << OFendl;
+ COUT << OFalignof(long) << ' ' << sizeof(long) << ' ' << OFalignof(OFoptional<long>) << ' ' << sizeof(OFoptional<long>) << OFendl;
+
OFCHECK( o0 && *o0 == 3 );
OFCHECK( !o1 && !o2 );