File: stdalign.h

package info (click to toggle)
emacs25 25.1%2B1-4%2Bdeb9u1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 131,428 kB
  • ctags: 97,538
  • sloc: lisp: 1,107,716; ansic: 305,108; objc: 16,577; makefile: 5,931; sh: 2,547; perl: 1,567; yacc: 1,566; cpp: 1,287; xml: 1,110; php: 1,035; pascal: 1,011; python: 831; cs: 770; ada: 725; awk: 640; ruby: 396; erlang: 153; java: 27
file content (25 lines) | stat: -rw-r--r-- 677 bytes parent folder | download | duplicates (13)
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_ */