Fix packed attribute check for Windows targets
authorJussi Kivilinna <jussi.kivilinna@iki.fi>
Fri, 1 May 2015 16:07:07 +0000 (19:07 +0300)
committerJussi Kivilinna <jussi.kivilinna@iki.fi>
Fri, 1 May 2015 16:07:07 +0000 (19:07 +0300)
* configure.ac (gcry_cv_gcc_attribute_packed): Move 'long b' to its
own packed structure.
--

Change packed attribute test so that it works with both MS ABI and SYSV ABI.

Signed-off-by: Jussi Kivilinna <jussi.kivilinna@iki.fi>
configure.ac

index 16f6a21..555ad1e 100644 (file)
@@ -964,7 +964,9 @@ AC_CACHE_CHECK([whether the GCC style packed attribute is supported],
        [gcry_cv_gcc_attribute_packed],
        [gcry_cv_gcc_attribute_packed=no
         AC_COMPILE_IFELSE([AC_LANG_SOURCE(
-          [[struct foo_s { char a; long b; } __attribute__ ((packed));
+          [[struct foolong_s { long b; } __attribute__ ((packed));
+            struct foo_s { char a; struct foolong_s b; }
+              __attribute__ ((packed));
             enum bar {
               FOO = 1 / (sizeof(struct foo_s) == (sizeof(char) + sizeof(long))),
             };]])],