Changeset 389 for azure_iot_hub/trunk/asp3_dcre/arch/gcc/tool_stddef.h
- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/trunk/asp3_dcre/arch/gcc/tool_stddef.h
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-chdr
totext/x-chdr;charset=UTF-8
r388 r389 8 8 * Graduate School of Information Science, Nagoya Univ., JAPAN 9 9 * 10 * ä¸è¨èä½æ¨©è 11 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 12 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 13 * å¤ã»åé 14 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 15 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 16 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 17 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 18 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 19 * ç¨ã§ããå½¢ã§åé 20 å¸ããå ´åã«ã¯ï¼åé 21 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 22 * è 23 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 24 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 25 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 26 * ç¨ã§ããªãå½¢ã§åé 27 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 28 * ã¨ï¼ 29 * (a) åé 30 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 31 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 32 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 33 * (b) åé 34 å¸ã®å½¢æ 35 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 36 * å ±åãããã¨ï¼ 37 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 38 * 害ãããï¼ä¸è¨èä½æ¨©è 39 ããã³TOPPERSããã¸ã§ã¯ããå 40 責ãããã¨ï¼ 41 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 42 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 43 ããã³TOPPERSããã¸ã§ã¯ãã 44 * å 45 責ãããã¨ï¼ 46 * 47 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 48 ã 49 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 50 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 51 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 52 * ã®è²¬ä»»ãè² ããªãï¼ 10 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 11 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 12 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 13 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 14 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 15 * スコード中に含まれていること. 16 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 17 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 18 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 19 * の無保証規定を掲載すること. 20 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 21 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 22 * と. 23 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 24 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 25 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 26 * 報告すること. 27 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 28 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 29 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 30 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 31 * 免責すること. 32 * 33 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 34 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 35 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 36 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 37 * の責任を負わない. 53 38 * 54 39 * $Id$ … … 56 41 57 42 /* 58 * t_stddef.h ã®éçºç°å¢ä¾åé¨ï¼GCCç¨ï¼43 * t_stddef.hの開発環境依存部(GCC用) 59 44 */ 60 45 … … 63 48 64 49 /* 65 * ã³ã³ãã¤ã©ã®æ¡å¼µæ©è½ã®ããã®ãã¯ãå®ç¾©66 */ 67 #ifndef __cplusplus /* C++ ã«ã¯inline ããã*/50 * コンパイラの拡張機能のためのマクロ定義 51 */ 52 #ifndef __cplusplus /* C++にはinline がある */ 68 53 #if !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L 69 /* C99 ã«ã¯inline ããã*/70 #define inline __inline__ /* ã¤ã³ã©ã¤ã³é¢æ°*/54 /* C99にはinline がある */ 55 #define inline __inline__ /* インライン関数 */ 71 56 #endif /* !defined(__STDC_VERSION__) || __STDC_VERSION__ < 199901L */ 72 57 #endif /* __cplusplus */ 73 58 74 #define Inline static inline /* ã¤ã³ã©ã¤ã³é¢æ°*/75 76 #ifndef __cplusplus /* C++ ã«ã¯asmããã*/77 #define asm __asm__ /* ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©*/59 #define Inline static inline /* インライン関数 */ 60 61 #ifndef __cplusplus /* C++にはasmがある */ 62 #define asm __asm__ /* インラインアセンブラ */ 78 63 #endif /* __cplusplus */ 79 64 80 #define Asm __asm__ volatile /* ã¤ã³ã©ã¤ã³ã¢ã»ã³ãã©ï¼æé©åææ¢ï¼*/65 #define Asm __asm__ volatile /* インラインアセンブラ(最適化抑止)*/ 81 66 82 67 #define NoReturn __attribute__((__noreturn__)) 83 /* ãªã¿ã¼ã³ããªãé¢æ° */ 84 85 /* 86 * éçºç°å¢ã®æ¨æºã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ã®å©ç¨ 87 * 88 * NULLã®å®ç¾©ãstddef.hããï¼INT_MAXï¼INT_MINï¼UINT_MAXï¼LONG_MAXï¼ 89 * LONG_MINï¼ULONG_MAXï¼CHAR_BITã®å®ç¾©ãlimits.hããåãè¾¼ãï¼ 90 * 91 * C++/EC++ã§ã¯ï¼æ¨æºä»æ§ä¸ã¯ãããã®ã¤ã³ã¯ã«ã¼ããã¡ã¤ã«ãç¨æãã㦠92 * ããã¨ã¯éããªãã®ã§æ³¨æãå¿ 93 è¦ã§ããï¼ã»ã¨ãã©ã®éçºç°å¢ã§ç¨æãã 94 * ã¦ããï¼ï¼ 68 /* リターンしない関数 */ 69 70 /* 71 * 開発環境の標準インクルードファイルの利用 72 * 73 * NULLの定義をstddef.hから,INT_MAX,INT_MIN,UINT_MAX,LONG_MAX, 74 * LONG_MIN,ULONG_MAX,CHAR_BITの定義をlimits.hから取り込む. 75 * 76 * C++/EC++では,標準仕様上はこれらのインクルードファイルが用意されて 77 * いるとは限らないので注意が必要である(ほとんどの開発環境で用意され 78 * ている). 95 79 */ 96 80 #ifndef TOPPERS_MACRO_ONLY … … 100 84 101 85 /* 102 * stdint.h ã®ä»£ç¨ã¨ãªãå®ç¾©103 * 104 * éçºç°å¢ã«stdint.hãç¨æããã¦ãããï¼åæ´æ°åã®ãµã¤ãºããããã¿ã¼105 * ã³ã«å½ã¦ã¯ã¾ãå ´åã«ï¼stdint.hã®ä»£ç¨ã¨ãªãå®ç¾©ãä¸ããï¼106 * 107 * TOPPERS_STDINT_TYPE1: char/short/int/long long ã®ãããé·ããããã108 * 8/16/32/64 ãããã§ï¼ãã¤ã³ã¿ã®ãããé·ãlong109 * ã®ãããé·ã¨ä¸è´ããå ´å86 * stdint.hの代用となる定義 87 * 88 * 開発環境にstdint.hが用意されておらず,各整数型のサイズがあるパター 89 * ンに当てはまる場合に,stdint.hの代用となる定義を与える. 90 * 91 * TOPPERS_STDINT_TYPE1: char/short/int/long longのビット長がそれぞれ 92 * 8/16/32/64ビットで,ポインタのビット長がlong 93 * のビット長と一致する場合 110 94 */ 111 95 #ifdef TOPPERS_STDINT_TYPE1 112 96 113 97 /* 114 * ã³ã³ãã¤ã©ä¾åã®ãã¼ã¿åã®å®ç¾©98 * コンパイラ依存のデータ型の定義 115 99 */ 116 100 #ifndef TOPPERS_MACRO_ONLY 117 101 118 typedef signed char int8_t; /* 符å·ä»ã8ãããæ´æ°*/119 typedef unsigned char uint8_t; /* 符å·ç¡ã8ãããæ´æ°*/120 121 typedef signed short int16_t; /* 符å·ä»ã16ãããæ´æ°*/122 typedef unsigned short uint16_t; /* 符å·ç¡ã16ãããæ´æ°*/123 124 typedef signed int int32_t; /* 符å·ä»ã32ãããæ´æ°*/125 typedef unsigned int uint32_t; /* 符å·ç¡ã32ãããæ´æ°*/126 127 typedef signed long long int64_t; /* 符å·ä»ã64ãããæ´æ°*/128 typedef unsigned long long uint64_t; /* 符å·ç¡ã64ãããæ´æ°*/129 130 typedef int8_t int_least8_t; /* 8 ããã以ä¸ã®ç¬¦å·ä»ãæ´æ°*/131 typedef uint8_t uint_least8_t; /* 8 ããã以ä¸ã®ç¬¦å·ç¡ãæ´æ°*/132 133 typedef long intptr_t; /* ãã¤ã³ã¿ãæ ¼ç´ã§ãã符å·ä»ãæ´æ°*/134 typedef unsigned long uintptr_t; /* ãã¤ã³ã¿ãæ ¼ç´ã§ãã符å·ç¡ãæ´æ°*/102 typedef signed char int8_t; /* 符号付き8ビット整数 */ 103 typedef unsigned char uint8_t; /* 符号無し8ビット整数 */ 104 105 typedef signed short int16_t; /* 符号付き16ビット整数 */ 106 typedef unsigned short uint16_t; /* 符号無し16ビット整数 */ 107 108 typedef signed int int32_t; /* 符号付き32ビット整数 */ 109 typedef unsigned int uint32_t; /* 符号無し32ビット整数 */ 110 111 typedef signed long long int64_t; /* 符号付き64ビット整数 */ 112 typedef unsigned long long uint64_t; /* 符号無し64ビット整数 */ 113 114 typedef int8_t int_least8_t; /* 8ビット以上の符号付き整数 */ 115 typedef uint8_t uint_least8_t; /* 8ビット以上の符号無し整数 */ 116 117 typedef long intptr_t; /* ポインタを格納できる符号付き整数 */ 118 typedef unsigned long uintptr_t; /* ポインタを格納できる符号無し整数 */ 135 119 136 120 #endif /* TOPPERS_MACRO_ONLY */ 137 121 138 122 /* 139 * ã³ã³ãã¤ã©ä¾åã®ãã¼ã¿åã®æ´æ°å®æ°ãä½ããã¯ã123 * コンパイラ依存のデータ型の整数定数を作るマクロ 140 124 */ 141 125 #ifndef INT8_C … … 172 156 173 157 /* 174 * ã³ã³ãã¤ã©ä¾åã®ãã¼ã¿åã«æ ¼ç´ã§ããæ大å¤ã¨æå°å¤ã®å®ç¾©158 * コンパイラ依存のデータ型に格納できる最大値と最小値の定義 175 159 */ 176 160 #define INT8_MAX SCHAR_MAX … … 197 181 198 182 /* 199 * æµ®åå°æ°ç¹åã«é¢ããå®ç¾©200 * 201 * TOPPERS_STDFLOAT_TYPE1: float ãIEEE754æºæ ã®å精度浮åå°æ°ç¹æ°ï¼202 * double ãå精度浮åå°æ°ç¹æ°ã®å ´å183 * 浮動小数点型に関する定義 184 * 185 * TOPPERS_STDFLOAT_TYPE1: floatがIEEE754準拠の単精度浮動小数点数, 186 * doubleが倍精度浮動小数点数の場合 203 187 */ 204 188 #ifdef TOPPERS_STDFLOAT_TYPE1 205 189 #ifndef TOPPERS_MACRO_ONLY 206 190 207 typedef float float32_t; /* IEEE754 æºæ ã®å精度浮åå°æ°ç¹æ°*/208 typedef double double64_t; /* IEEE754 æºæ ã®å精度浮åå°æ°ç¹æ°*/191 typedef float float32_t; /* IEEE754準拠の単精度浮動小数点数 */ 192 typedef double double64_t; /* IEEE754準拠の倍精度浮動小数点数 */ 209 193 210 194 #endif /* TOPPERS_MACRO_ONLY */
Note:
See TracChangeset
for help on using the changeset viewer.