Commit 4ce94923 authored by Diego Biurrun's avatar Diego Biurrun

Move DECLARE_ALIGNED and DECLARE_ASM_CONST to internal.h.

Their definition depends on preprocessor directives from config.h,
thus they cannot be declared in a public header since public headers
cannot #include config.h.

Originally committed as revision 16781 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent c60208e7
...@@ -258,6 +258,23 @@ if((y)<(x)){\ ...@@ -258,6 +258,23 @@ if((y)<(x)){\
}\ }\
} }
#if defined(__ICC) || defined(__SUNPRO_C)
#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n)))
#define DECLARE_ASM_CONST(n,t,v) const t __attribute__ ((aligned (n))) v
#elif defined(__GNUC__)
#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n)))
#define DECLARE_ASM_CONST(n,t,v) static const t v attribute_used __attribute__ ((aligned (n)))
#elif defined(_MSC_VER)
#define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v
#define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v
#elif HAVE_INLINE_ASM
#error The asm code needs alignment, but we do not know how to do it for this compiler.
#else
#define DECLARE_ALIGNED(n,t,v) t v
#define DECLARE_ASM_CONST(n,t,v) static const t v
#endif
#if !HAVE_LLRINT #if !HAVE_LLRINT
static av_always_inline av_const long long llrint(double x) static av_always_inline av_const long long llrint(double x)
{ {
......
...@@ -26,25 +26,8 @@ ...@@ -26,25 +26,8 @@
#ifndef AVUTIL_MEM_H #ifndef AVUTIL_MEM_H
#define AVUTIL_MEM_H #define AVUTIL_MEM_H
#include "config.h"
#include "common.h" #include "common.h"
#if defined(__ICC) || defined(__SUNPRO_C)
#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n)))
#define DECLARE_ASM_CONST(n,t,v) const t __attribute__ ((aligned (n))) v
#elif defined(__GNUC__)
#define DECLARE_ALIGNED(n,t,v) t v __attribute__ ((aligned (n)))
#define DECLARE_ASM_CONST(n,t,v) static const t v attribute_used __attribute__ ((aligned (n)))
#elif defined(_MSC_VER)
#define DECLARE_ALIGNED(n,t,v) __declspec(align(n)) t v
#define DECLARE_ASM_CONST(n,t,v) __declspec(align(n)) static const t v
#elif HAVE_INLINE_ASM
#error The asm code needs alignment, but we do not know how to do it for this compiler.
#else
#define DECLARE_ALIGNED(n,t,v) t v
#define DECLARE_ASM_CONST(n,t,v) static const t v
#endif
#if AV_GCC_VERSION_AT_LEAST(3,1) #if AV_GCC_VERSION_AT_LEAST(3,1)
#define av_malloc_attrib __attribute__((__malloc__)) #define av_malloc_attrib __attribute__((__malloc__))
#else #else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment