include: Force stack alignment on x86_64 with Clang.

Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Brendan Shanks 2020-11-04 17:29:28 -08:00 committed by Alexandre Julliard
parent 2a9407dd15
commit 91741446c7
2 changed files with 12 additions and 4 deletions

View file

@ -57,6 +57,10 @@
#endif
#endif
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
#if !defined(_MSC_VER) && !defined(__stdcall)
# ifdef __i386__
# ifdef __GNUC__
@ -69,7 +73,7 @@
# error You need to define __stdcall for your compiler
# endif
# elif defined(__x86_64__) && defined (__GNUC__)
# if (__GNUC__ > 5) || ((__GNUC__ == 5) && (__GNUC_MINOR__ >= 3))
# if __has_attribute(__force_align_arg_pointer__)
# define __stdcall __attribute__((ms_abi)) __attribute__((__force_align_arg_pointer__))
# else
# define __stdcall __attribute__((ms_abi))
@ -91,7 +95,7 @@
# define __cdecl __attribute__((__cdecl__))
# endif
# elif defined(__x86_64__) && defined (__GNUC__)
# if (__GNUC__ > 5) || ((__GNUC__ == 5) && (__GNUC_MINOR__ >= 3))
# if __has_attribute(__force_align_arg_pointer__)
# define __cdecl __attribute__((ms_abi)) __attribute__((__force_align_arg_pointer__))
# else
# define __cdecl __attribute__((ms_abi))

View file

@ -31,6 +31,10 @@
# endif /* STRICT */
#endif /* NO_STRICT */
#ifndef __has_attribute
#define __has_attribute(x) 0
#endif
#ifdef __cplusplus
extern "C" {
#endif
@ -62,7 +66,7 @@ extern "C" {
# error You need to define __stdcall for your compiler
# endif
# elif defined(__x86_64__) && defined (__GNUC__)
# if (__GNUC__ > 5) || ((__GNUC__ == 5) && (__GNUC_MINOR__ >= 3))
# if __has_attribute(__force_align_arg_pointer__)
# define __stdcall __attribute__((ms_abi)) __attribute__((__force_align_arg_pointer__))
# else
# define __stdcall __attribute__((ms_abi))
@ -84,7 +88,7 @@ extern "C" {
# define __cdecl __attribute__((__cdecl__))
# endif
# elif defined(__x86_64__) && defined (__GNUC__)
# if (__GNUC__ > 5) || ((__GNUC__ == 5) && (__GNUC_MINOR__ >= 3))
# if __has_attribute(__force_align_arg_pointer__)
# define __cdecl __attribute__((ms_abi)) __attribute__((__force_align_arg_pointer__))
# else
# define __cdecl __attribute__((ms_abi))