mirror of
https://github.com/DrBeef/QuestZDoom.git
synced 2025-03-06 09:21:22 +00:00
39 lines
1.1 KiB
C
39 lines
1.1 KiB
C
/*
|
|
mpg123lib_intern: Common non-public stuff for libmpg123
|
|
|
|
copyright 1995-2008 by the mpg123 project - free software under the terms of the LGPL 2.1
|
|
see COPYING and AUTHORS files in distribution or http://mpg123.org
|
|
|
|
derived from the old mpg123.h
|
|
*/
|
|
|
|
#ifndef MPG123_H_ABI_ALIGN
|
|
#define MPG123_H_ABI_ALIGN
|
|
|
|
#include "config.h"
|
|
|
|
/* ABI conformance for other compilers.
|
|
mpg123 needs 16byte-aligned stack for SSE and friends.
|
|
gcc provides that, but others don't necessarily. */
|
|
#ifdef ABI_ALIGN_FUN
|
|
#ifndef attribute_align_arg
|
|
#if defined(__GNUC__) && (__GNUC__ > 4 || __GNUC__ == 4 && __GNUC_MINOR__>1)
|
|
# define attribute_align_arg __attribute__((force_align_arg_pointer))
|
|
/* The gcc that can align the stack does not need the check... nor does it work with gcc 4.3+, anyway. */
|
|
#else
|
|
|
|
# define attribute_align_arg
|
|
/* Other compilers get code to catch misaligned stack.
|
|
Well, except Sun Studio, which accepts the aligned attribute but does not honor it. */
|
|
#if !defined(__SUNPRO_C)
|
|
# define NEED_ALIGNCHECK
|
|
#endif
|
|
|
|
#endif
|
|
#endif
|
|
#else
|
|
#define attribute_align_arg
|
|
/* We won't try the align check... */
|
|
#endif
|
|
|
|
#endif
|