1/*===---- __stddef_max_align_t.h - Definition of max_align_t for modules ---===
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)
14typedef double max_align_t;
15#elif defined(__APPLE__)
16typedef long double max_align_t;
17#else
18// Define 'max_align_t' to match the GCC definition.
19typedef 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