From e7ea5e3d8d60b92467b653b91daf47146b49b53f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?M=C3=A5ns=20Rullg=C3=A5rd?= <mans@mansr.com>
Date: Fri, 17 Jul 2009 08:21:43 +0000
Subject: [PATCH] Check for __attribute__((packed)) support

Not all compilers claiming to be gcc support this attribute.

Originally committed as revision 19453 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 configure                | 5 +++++
 libavutil/intreadwrite.h | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/configure b/configure
index 435f9f42e19..9a614a5abea 100755
--- 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
 
diff --git a/libavutil/intreadwrite.h b/libavutil/intreadwrite.h
index ee597937b9b..d46595eea7c 100644
--- a/libavutil/intreadwrite.h
+++ b/libavutil/intreadwrite.h
@@ -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));
-- 
GitLab