Check for __attribute__((packed)) support
authorMåns Rullgård <mans@mansr.com>
Fri, 17 Jul 2009 08:21:43 +0000 (08:21 +0000)
committerMåns Rullgård <mans@mansr.com>
Fri, 17 Jul 2009 08:21:43 +0000 (08:21 +0000)
Not all compilers claiming to be gcc support this attribute.

Originally committed as revision 19453 to svn://svn.ffmpeg.org/ffmpeg/trunk

configure
libavutil/intreadwrite.h

index 435f9f4..9a614a5 100755 (executable)
--- a/configure
+++ b/configure
@@ -899,6 +899,7 @@ HAVE_LIST="
     alsa_asoundlib_h
     altivec_h
     arpa_inet_h
+    attribute_packed
     bigendian
     bswap
     closesocket
@@ -2165,6 +2166,10 @@ void foo(char * $restrict_keyword p);
 EOF
 done
 
+check_cc <<EOF && enable attribute_packed
+struct { int x; } __attribute__((packed)) x;
+EOF
+
 ##########################################
 # SDL check
 
index ee59793..d46595e 100644 (file)
@@ -42,7 +42,7 @@
  * by per-arch headers.
  */
 
-#if   defined(__GNUC__)
+#if   HAVE_ATTRIBUTE_PACKED
 
 struct unaligned_64 { uint64_t l; } __attribute__((packed));
 struct unaligned_32 { uint32_t l; } __attribute__((packed));