summaryrefslogtreecommitdiff
path: root/libavutil/attributes.h
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-01-31 02:19:30 +0000
committerMans Rullgard <mans@mansr.com>2011-01-31 16:01:26 +0000
commit365e3c7878e4e821d5dec922d2d51f92ce13f926 (patch)
tree6fd2773fbe7ae4efa898a8ab2af9ba01b5779d36 /libavutil/attributes.h
parent445996aa51f4f1d9a26456a8511988291a720ba0 (diff)
Rename attribute_used to av_used and move it to attributes.h
This is consistent with most of the other attribute macros. Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavutil/attributes.h')
-rw-r--r--libavutil/attributes.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/libavutil/attributes.h b/libavutil/attributes.h
index d93f46093c..65a9249cd5 100644
--- a/libavutil/attributes.h
+++ b/libavutil/attributes.h
@@ -96,6 +96,19 @@
#endif
#endif
+/**
+ * Mark a variable as used and prevent the compiler from optimizing it
+ * away. This is useful for variables accessed only from inline
+ * assembler without the compiler being aware.
+ */
+#ifndef av_used
+#if AV_GCC_VERSION_AT_LEAST(3,1)
+# define av_used __attribute__((used))
+#else
+# define av_used
+#endif
+#endif
+
#ifndef av_alias
#if (!defined(__ICC) || __ICC > 1200) && AV_GCC_VERSION_AT_LEAST(3,3)
# define av_alias __attribute__((may_alias))