cdefs.h revision 1.19
1/* $NetBSD: cdefs.h,v 1.19 2020/12/01 02:43:14 rin Exp $ */ 2 3#ifndef _ARM_CDEFS_H_ 4#define _ARM_CDEFS_H_ 5 6#ifndef __lint__ 7#if (__GNUC__ == 4 && __GNUC_MINOR__ < 1) || __GNUC__ < 4 8#error GCC 4.1 or compatible required. 9#endif 10#endif 11 12 13#if defined (__ARM_ARCH_8A__) || defined (__ARM_ARCH_8A) || \ 14 __ARM_ARCH == 8 15 /* __ARM_ARCH_8A__ is a typo */ 16#define _ARM_ARCH_8 17#endif 18 19#if defined (_ARM_ARCH_8) || defined (__ARM_ARCH_7__) || \ 20 defined (__ARM_ARCH_7A__) || defined (__ARM_ARCH_7R__) || \ 21 defined (__ARM_ARCH_7M__) || defined (__ARM_ARCH_7EM__) 22 /* 7R, 7M, 7EM are for non MMU arms */ 23#define _ARM_ARCH_7 24#endif 25 26#if defined (_ARM_ARCH_7) || defined (__ARM_ARCH_6T2__) 27#define _ARM_ARCH_T2 /* Thumb2 */ 28#endif 29 30#if defined (_ARM_ARCH_T2) || defined (__ARM_ARCH_6__) || \ 31 defined (__ARM_ARCH_6J__) || \ 32 defined (__ARM_ARCH_6K__) || defined (__ARM_ARCH_6KZ__) || \ 33 defined (__ARM_ARCH_6Z__) || defined (__ARM_ARCH_6ZK__) || \ 34 defined (__ARM_ARCH_6ZM__) 35#define _ARM_ARCH_6 36#endif 37 38#if defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5T__) || \ 39 defined (__ARM_ARCH_5TE__) || defined (__ARM_ARCH_5TEJ__) 40#define _ARM_ARCH_5T 41#endif 42 43#if defined (_ARM_ARCH_6) || defined (_ARM_ARCH_5T) || defined (__ARM_ARCH_5__) 44#define _ARM_ARCH_5 45#endif 46 47#if defined (_ARM_ARCH_5) || defined (__ARM_ARCH_4T__) 48#define _ARM_ARCH_4T 49#endif 50 51#if defined (_ARM_ARCH_T2) || \ 52 (!defined (__thumb__) && \ 53 (defined (_ARM_ARCH_6) || defined (__ARM_ARCH_5TE__) || \ 54 defined (__ARM_ARCH_5TEJ__))) 55#define _ARM_ARCH_DWORD_OK 56#endif 57 58#if defined (__ARMEB__) && defined (_ARM_ARCH_6) 59#define _ARM_ARCH_BE8 60#endif 61 62#if defined(__ARM_PCS_AAPCS64) 63#define __ALIGNBYTES (sizeof(__int128_t) - 1) 64#elif defined(__ARM_EABI__) 65#define __ALIGNBYTES (sizeof(long long) - 1) 66#else 67#define __ALIGNBYTES (sizeof(int) - 1) 68#endif 69 70#endif /* !_ARM_CDEFS_H_ */ 71