summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMåns Rullgård <mans@mansr.com>2009-07-17 08:21:43 +0000
committerMåns Rullgård <mans@mansr.com>2009-07-17 08:21:43 +0000
commite7ea5e3d8d60b92467b653b91daf47146b49b53f (patch)
tree8200bccbec455490126be41aec3bd224c96bdf30
parentdf5cdc24b94cc3113c370340df374a4d96075352 (diff)
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
-rwxr-xr-xconfigure5
-rw-r--r--libavutil/intreadwrite.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/configure b/configure
index 435f9f42e1..9a614a5abe 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 ee597937b9..d46595eea7 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));