xref: /freebsd/contrib/llvm-project/clang/lib/Headers/__stddef_max_align_t.h (revision 5f757f3ff9144b609b3c433dfd370cc6bdc191ad)
1 /*===---- __stddef_max_align_t.h - Definition of max_align_t ---------------===
2  *
3  * Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4  * See https://llvm.org/LICENSE.txt for license information.
5  * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6  *
7  *===-----------------------------------------------------------------------===
8  */
9 
10 #ifndef __CLANG_MAX_ALIGN_T_DEFINED
11 #define __CLANG_MAX_ALIGN_T_DEFINED
12 
13 #if defined(_MSC_VER)
14 typedef double max_align_t;
15 #elif defined(__APPLE__)
16 typedef long double max_align_t;
17 #else
18 // Define 'max_align_t' to match the GCC definition.
19 typedef struct {
20   long long __clang_max_align_nonce1
21       __attribute__((__aligned__(__alignof__(long long))));
22   long double __clang_max_align_nonce2
23       __attribute__((__aligned__(__alignof__(long double))));
24 } max_align_t;
25 #endif
26 
27 #endif
28