1 /* Copyright (C) 2007, 2009 Free Software Foundation, Inc. 2 3 This file is part of GCC. 4 5 GCC is free software; you can redistribute it and/or modify 6 it under the terms of the GNU General Public License as published by 7 the Free Software Foundation; either version 3, or (at your option) 8 any later version. 9 10 GCC is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 GNU General Public License for more details. 14 15 Under Section 7 of GPL version 3, you are granted additional 16 permissions described in the GCC Runtime Library Exception, version 17 3.1, as published by the Free Software Foundation. 18 19 You should have received a copy of the GNU General Public License and 20 a copy of the GCC Runtime Library Exception along with this program; 21 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 22 <http://www.gnu.org/licenses/>. */ 23 24 /* ISO/IEC JTC1 SC22 WG14 N1169 25 * Date: 2006-04-04 26 * ISO/IEC TR 18037 27 * Programming languages - C - Extensions to support embedded processors 28 */ 29 30 #ifndef _STDFIX_H 31 #define _STDFIX_H 32 33 /* 7.18a.1 Introduction. */ 34 35 #undef fract 36 #undef accum 37 #undef sat 38 #define fract _Fract 39 #define accum _Accum 40 #define sat _Sat 41 42 /* 7.18a.3 Precision macros. */ 43 44 #undef SFRACT_FBIT 45 #undef SFRACT_MIN 46 #undef SFRACT_MAX 47 #undef SFRACT_EPSILON 48 #define SFRACT_FBIT __SFRACT_FBIT__ 49 #define SFRACT_MIN __SFRACT_MIN__ 50 #define SFRACT_MAX __SFRACT_MAX__ 51 #define SFRACT_EPSILON __SFRACT_EPSILON__ 52 53 #undef USFRACT_FBIT 54 #undef USFRACT_MIN 55 #undef USFRACT_MAX 56 #undef USFRACT_EPSILON 57 #define USFRACT_FBIT __USFRACT_FBIT__ 58 #define USFRACT_MIN __USFRACT_MIN__ /* GCC extension. */ 59 #define USFRACT_MAX __USFRACT_MAX__ 60 #define USFRACT_EPSILON __USFRACT_EPSILON__ 61 62 #undef FRACT_FBIT 63 #undef FRACT_MIN 64 #undef FRACT_MAX 65 #undef FRACT_EPSILON 66 #define FRACT_FBIT __FRACT_FBIT__ 67 #define FRACT_MIN __FRACT_MIN__ 68 #define FRACT_MAX __FRACT_MAX__ 69 #define FRACT_EPSILON __FRACT_EPSILON__ 70 71 #undef UFRACT_FBIT 72 #undef UFRACT_MIN 73 #undef UFRACT_MAX 74 #undef UFRACT_EPSILON 75 #define UFRACT_FBIT __UFRACT_FBIT__ 76 #define UFRACT_MIN __UFRACT_MIN__ /* GCC extension. */ 77 #define UFRACT_MAX __UFRACT_MAX__ 78 #define UFRACT_EPSILON __UFRACT_EPSILON__ 79 80 #undef LFRACT_FBIT 81 #undef LFRACT_MIN 82 #undef LFRACT_MAX 83 #undef LFRACT_EPSILON 84 #define LFRACT_FBIT __LFRACT_FBIT__ 85 #define LFRACT_MIN __LFRACT_MIN__ 86 #define LFRACT_MAX __LFRACT_MAX__ 87 #define LFRACT_EPSILON __LFRACT_EPSILON__ 88 89 #undef ULFRACT_FBIT 90 #undef ULFRACT_MIN 91 #undef ULFRACT_MAX 92 #undef ULFRACT_EPSILON 93 #define ULFRACT_FBIT __ULFRACT_FBIT__ 94 #define ULFRACT_MIN __ULFRACT_MIN__ /* GCC extension. */ 95 #define ULFRACT_MAX __ULFRACT_MAX__ 96 #define ULFRACT_EPSILON __ULFRACT_EPSILON__ 97 98 #undef LLFRACT_FBIT 99 #undef LLFRACT_MIN 100 #undef LLFRACT_MAX 101 #undef LLFRACT_EPSILON 102 #define LLFRACT_FBIT __LLFRACT_FBIT__ /* GCC extension. */ 103 #define LLFRACT_MIN __LLFRACT_MIN__ /* GCC extension. */ 104 #define LLFRACT_MAX __LLFRACT_MAX__ /* GCC extension. */ 105 #define LLFRACT_EPSILON __LLFRACT_EPSILON__ /* GCC extension. */ 106 107 #undef ULLFRACT_FBIT 108 #undef ULLFRACT_MIN 109 #undef ULLFRACT_MAX 110 #undef ULLFRACT_EPSILON 111 #define ULLFRACT_FBIT __ULLFRACT_FBIT__ /* GCC extension. */ 112 #define ULLFRACT_MIN __ULLFRACT_MIN__ /* GCC extension. */ 113 #define ULLFRACT_MAX __ULLFRACT_MAX__ /* GCC extension. */ 114 #define ULLFRACT_EPSILON __ULLFRACT_EPSILON__ /* GCC extension. */ 115 116 #undef SACCUM_FBIT 117 #undef SACCUM_IBIT 118 #undef SACCUM_MIN 119 #undef SACCUM_MAX 120 #undef SACCUM_EPSILON 121 #define SACCUM_FBIT __SACCUM_FBIT__ 122 #define SACCUM_IBIT __SACCUM_IBIT__ 123 #define SACCUM_MIN __SACCUM_MIN__ 124 #define SACCUM_MAX __SACCUM_MAX__ 125 #define SACCUM_EPSILON __SACCUM_EPSILON__ 126 127 #undef USACCUM_FBIT 128 #undef USACCUM_IBIT 129 #undef USACCUM_MIN 130 #undef USACCUM_MAX 131 #undef USACCUM_EPSILON 132 #define USACCUM_FBIT __USACCUM_FBIT__ 133 #define USACCUM_IBIT __USACCUM_IBIT__ 134 #define USACCUM_MIN __USACCUM_MIN__ /* GCC extension. */ 135 #define USACCUM_MAX __USACCUM_MAX__ 136 #define USACCUM_EPSILON __USACCUM_EPSILON__ 137 138 #undef ACCUM_FBIT 139 #undef ACCUM_IBIT 140 #undef ACCUM_MIN 141 #undef ACCUM_MAX 142 #undef ACCUM_EPSILON 143 #define ACCUM_FBIT __ACCUM_FBIT__ 144 #define ACCUM_IBIT __ACCUM_IBIT__ 145 #define ACCUM_MIN __ACCUM_MIN__ 146 #define ACCUM_MAX __ACCUM_MAX__ 147 #define ACCUM_EPSILON __ACCUM_EPSILON__ 148 149 #undef UACCUM_FBIT 150 #undef UACCUM_IBIT 151 #undef UACCUM_MIN 152 #undef UACCUM_MAX 153 #undef UACCUM_EPSILON 154 #define UACCUM_FBIT __UACCUM_FBIT__ 155 #define UACCUM_IBIT __UACCUM_IBIT__ 156 #define UACCUM_MIN __UACCUM_MIN__ /* GCC extension. */ 157 #define UACCUM_MAX __UACCUM_MAX__ 158 #define UACCUM_EPSILON __UACCUM_EPSILON__ 159 160 #undef LACCUM_FBIT 161 #undef LACCUM_IBIT 162 #undef LACCUM_MIN 163 #undef LACCUM_MAX 164 #undef LACCUM_EPSILON 165 #define LACCUM_FBIT __LACCUM_FBIT__ 166 #define LACCUM_IBIT __LACCUM_IBIT__ 167 #define LACCUM_MIN __LACCUM_MIN__ 168 #define LACCUM_MAX __LACCUM_MAX__ 169 #define LACCUM_EPSILON __LACCUM_EPSILON__ 170 171 #undef ULACCUM_FBIT 172 #undef ULACCUM_IBIT 173 #undef ULACCUM_MIN 174 #undef ULACCUM_MAX 175 #undef ULACCUM_EPSILON 176 #define ULACCUM_FBIT __ULACCUM_FBIT__ 177 #define ULACCUM_IBIT __ULACCUM_IBIT__ 178 #define ULACCUM_MIN __ULACCUM_MIN__ /* GCC extension. */ 179 #define ULACCUM_MAX __ULACCUM_MAX__ 180 #define ULACCUM_EPSILON __ULACCUM_EPSILON__ 181 182 #undef LLACCUM_FBIT 183 #undef LLACCUM_IBIT 184 #undef LLACCUM_MIN 185 #undef LLACCUM_MAX 186 #undef LLACCUM_EPSILON 187 #define LLACCUM_FBIT __LLACCUM_FBIT__ /* GCC extension. */ 188 #define LLACCUM_IBIT __LLACCUM_IBIT__ /* GCC extension. */ 189 #define LLACCUM_MIN __LLACCUM_MIN__ /* GCC extension. */ 190 #define LLACCUM_MAX __LLACCUM_MAX__ /* GCC extension. */ 191 #define LLACCUM_EPSILON __LLACCUM_EPSILON__ /* GCC extension. */ 192 193 #undef ULLACCUM_FBIT 194 #undef ULLACCUM_IBIT 195 #undef ULLACCUM_MIN 196 #undef ULLACCUM_MAX 197 #undef ULLACCUM_EPSILON 198 #define ULLACCUM_FBIT __ULLACCUM_FBIT__ /* GCC extension. */ 199 #define ULLACCUM_IBIT __ULLACCUM_IBIT__ /* GCC extension. */ 200 #define ULLACCUM_MIN __ULLACCUM_MIN__ /* GCC extension. */ 201 #define ULLACCUM_MAX __ULLACCUM_MAX__ /* GCC extension. */ 202 #define ULLACCUM_EPSILON __ULLACCUM_EPSILON__ /* GCC extension. */ 203 204 #endif /* _STDFIX_H */ 205