summaryrefslogtreecommitdiff
path: root/nt/inc/stdalign.h
blob: 7e349dc31d0a2a94ae7eb67c0d2e808595697008 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#ifndef _NT_STDALIGN_H_
#define _NT_STDALIGN_H_

/* This header has the necessary stuff from lib/stdalign.in.h, but
   avoids the need to have Sed at build time.  */

#include <stddef.h>
#if defined __cplusplus
   template <class __t> struct __alignof_helper { char __a; __t __b; };
# define _Alignof(type) offsetof (__alignof_helper<type>, __b)
#else
# define _Alignof(type) offsetof (struct { char __a; type __b; }, __b)
#endif
#define alignof _Alignof

#if __GNUC__
# define _Alignas(a) __attribute__ ((__aligned__ (a)))
#elif 1300 <= _MSC_VER
# define _Alignas(a) __declspec (align (a))
#endif
#ifdef _Alignas
# define alignas _Alignas
#endif

#endif	/* _NT_STDALIGN_H_ */