Files
gf-core/src/runtime/c/m4/c_ext.m4
2013-09-04 10:27:08 +00:00

43 lines
1.3 KiB
Plaintext

# AC_C_ALIGNOF
# ------------
# Check whether the C compiler supports the alignof(type) operator
AC_DEFUN([AC_C_ALIGNOF],
[
AC_CACHE_CHECK([for alignof],ac_cv_c_alignof,
[ac_cv_c_alignof=no
for ac_kw in alignof __alignof __alignof__; do
AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([], [int align = $ac_kw (int);])],
[ac_cv_c_alignof=$ac_kw; break])
done])
if test $ac_cv_c_alignof != no; then
AC_DEFINE([HAVE_ALIGNOF], 1,
[Define to 1 if alignof works on your compiler])
if test $ac_cv_c_alignof != alignof; then
AC_DEFINE_UNQUOTED([alignof], [$ac_cv_c_alignof],
[Define to the name of the alignof operator.])
fi
fi
])
# AC_C_FAM_IN_MEM
# ---------------
# Check whether the C compiler supports a flexible array member
# in a struct that is the (last) member of a struct
AC_DEFUN([AC_C_FAM_IN_MEM],
[
AC_CACHE_CHECK([for flexible array members in struct members],
ac_cv_c_fam_in_mem,
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([
struct { struct { char foo[]; } bar; } baz;
])],
[ac_cv_c_fam_in_mem=yes],
[ac_cv_c_fam_in_mem=no])])
if test $ac_cv_c_fam_in_mem = yes; then
AC_DEFINE([CAN_HAVE_FAM_IN_MEMBER], 1,
[Define to 1 if a struct with flexible array members can be
the last member of another struct.])
fi
])