summaryrefslogtreecommitdiff
path: root/configure.ac
diff options
context:
space:
mode:
authorMaria Matejka <mq@ucw.cz>2022-04-14 16:51:18 +0200
committerMaria Matejka <mq@ucw.cz>2022-05-04 15:37:41 +0200
commit1d309c4ce6e95b68c64a8f007f6dd2f1830a5707 (patch)
treefe84dc4c6681c127daee871670aa617e8e2377b5 /configure.ac
parentc1194ab7edbb17cb7371ac38e6eab5ae3ae72163 (diff)
Enforcing certain data structure explicit paddings.
Implicit paddings have undefined values in C. We want the eattr blocks to be comparable by memcmp and eattrs settable directly by structrure literals. This check ensures that all paddings in eattr and bval are explicit and therefore zeroed in all literals.
Diffstat (limited to 'configure.ac')
-rw-r--r--configure.ac7
1 files changed, 7 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index 64181d29..321bed95 100644
--- a/configure.ac
+++ b/configure.ac
@@ -360,6 +360,13 @@ AC_C_BIGENDIAN(
[AC_MSG_ERROR([Cannot determine CPU endianity.])]
)
+BIRD_CHECK_POINTER_ALIGNMENT
+if test "$bird_cv_pointer_alignment" = "unknown" ; then
+ AC_MSG_ERROR([Couldn't determine pointer alignment])
+else
+ AC_DEFINE_UNQUOTED([CPU_POINTER_ALIGNMENT], [$bird_cv_pointer_alignment], [Pointer alignment for macro usage])
+fi
+
BIRD_CHECK_ANDROID_GLOB
if test "$bird_cv_lib_glob" = no ; then
AC_MSG_ERROR([glob.h not found.])