Added FPU emulation to SPARC port
[akaros.git] / gccinclude / i386 / stdfix.h
1 /* Copyright (C) 2007 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 2, 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 You should have received a copy of the GNU General Public License
16 along with GCC; see the file COPYING.  If not, write to
17 the Free Software Foundation, 51 Franklin Street, Fifth Floor,
18 Boston, MA 02110-1301, USA.  */
19
20 /* As a special exception, if you include this header file into source
21    files compiled by GCC, this header file does not by itself cause
22    the resulting executable to be covered by the GNU General Public
23    License.  This exception does not however invalidate any other
24    reasons why the executable file might be covered by the GNU General
25    Public License.  */
26
27 /* ISO/IEC JTC1 SC22 WG14 N1169
28  * Date: 2006-04-04
29  * ISO/IEC TR 18037
30  * Programming languages - C - Extensions to support embedded processors
31  */
32
33 #ifndef _STDFIX_H
34 #define _STDFIX_H
35
36 /* 7.18a.1 Introduction.  */
37
38 #undef fract
39 #undef accum
40 #undef sat
41 #define fract           _Fract
42 #define accum           _Accum
43 #define sat             _Sat
44
45 /* 7.18a.3 Precision macros.  */
46
47 #undef SFRACT_FBIT
48 #undef SFRACT_MIN
49 #undef SFRACT_MAX
50 #undef SFRACT_EPSILON
51 #define SFRACT_FBIT     __SFRACT_FBIT__
52 #define SFRACT_MIN      __SFRACT_MIN__
53 #define SFRACT_MAX      __SFRACT_MAX__
54 #define SFRACT_EPSILON  __SFRACT_EPSILON__
55
56 #undef USFRACT_FBIT
57 #undef USFRACT_MIN
58 #undef USFRACT_MAX
59 #undef USFRACT_EPSILON
60 #define USFRACT_FBIT    __USFRACT_FBIT__
61 #define USFRACT_MIN     __USFRACT_MIN__         /* GCC extension.  */
62 #define USFRACT_MAX     __USFRACT_MAX__
63 #define USFRACT_EPSILON __USFRACT_EPSILON__
64
65 #undef FRACT_FBIT
66 #undef FRACT_MIN
67 #undef FRACT_MAX
68 #undef FRACT_EPSILON
69 #define FRACT_FBIT      __FRACT_FBIT__
70 #define FRACT_MIN       __FRACT_MIN__
71 #define FRACT_MAX       __FRACT_MAX__
72 #define FRACT_EPSILON   __FRACT_EPSILON__
73
74 #undef UFRACT_FBIT
75 #undef UFRACT_MIN
76 #undef UFRACT_MAX
77 #undef UFRACT_EPSILON
78 #define UFRACT_FBIT     __UFRACT_FBIT__
79 #define UFRACT_MIN      __UFRACT_MIN__          /* GCC extension.  */
80 #define UFRACT_MAX      __UFRACT_MAX__
81 #define UFRACT_EPSILON  __UFRACT_EPSILON__
82
83 #undef LFRACT_FBIT
84 #undef LFRACT_MIN
85 #undef LFRACT_MAX
86 #undef LFRACT_EPSILON
87 #define LFRACT_FBIT     __LFRACT_FBIT__
88 #define LFRACT_MIN      __LFRACT_MIN__
89 #define LFRACT_MAX      __LFRACT_MAX__
90 #define LFRACT_EPSILON  __LFRACT_EPSILON__
91
92 #undef ULFRACT_FBIT
93 #undef ULFRACT_MIN
94 #undef ULFRACT_MAX
95 #undef ULFRACT_EPSILON
96 #define ULFRACT_FBIT    __ULFRACT_FBIT__
97 #define ULFRACT_MIN     __ULFRACT_MIN__         /* GCC extension.  */
98 #define ULFRACT_MAX     __ULFRACT_MAX__
99 #define ULFRACT_EPSILON __ULFRACT_EPSILON__
100
101 #undef LLFRACT_FBIT
102 #undef LLFRACT_MIN
103 #undef LLFRACT_MAX
104 #undef LLFRACT_EPSILON
105 #define LLFRACT_FBIT    __LLFRACT_FBIT__        /* GCC extension.  */
106 #define LLFRACT_MIN     __LLFRACT_MIN__         /* GCC extension.  */
107 #define LLFRACT_MAX     __LLFRACT_MAX__         /* GCC extension.  */
108 #define LLFRACT_EPSILON __LLFRACT_EPSILON__     /* GCC extension.  */
109
110 #undef ULLFRACT_FBIT
111 #undef ULLFRACT_MIN
112 #undef ULLFRACT_MAX
113 #undef ULLFRACT_EPSILON
114 #define ULLFRACT_FBIT   __ULLFRACT_FBIT__       /* GCC extension.  */
115 #define ULLFRACT_MIN    __ULLFRACT_MIN__        /* GCC extension.  */
116 #define ULLFRACT_MAX    __ULLFRACT_MAX__        /* GCC extension.  */
117 #define ULLFRACT_EPSILON        __ULLFRACT_EPSILON__    /* GCC extension.  */
118
119 #undef SACCUM_FBIT
120 #undef SACCUM_IBIT
121 #undef SACCUM_MIN
122 #undef SACCUM_MAX
123 #undef SACCUM_EPSILON
124 #define SACCUM_FBIT     __SACCUM_FBIT__
125 #define SACCUM_IBIT     __SACCUM_IBIT__
126 #define SACCUM_MIN      __SACCUM_MIN__
127 #define SACCUM_MAX      __SACCUM_MAX__
128 #define SACCUM_EPSILON  __SACCUM_EPSILON__
129
130 #undef USACCUM_FBIT
131 #undef USACCUM_IBIT
132 #undef USACCUM_MIN
133 #undef USACCUM_MAX
134 #undef USACCUM_EPSILON
135 #define USACCUM_FBIT    __USACCUM_FBIT__
136 #define USACCUM_IBIT    __USACCUM_IBIT__
137 #define USACCUM_MIN     __USACCUM_MIN__         /* GCC extension.  */
138 #define USACCUM_MAX     __USACCUM_MAX__
139 #define USACCUM_EPSILON __USACCUM_EPSILON__
140
141 #undef ACCUM_FBIT
142 #undef ACCUM_IBIT
143 #undef ACCUM_MIN
144 #undef ACCUM_MAX
145 #undef ACCUM_EPSILON
146 #define ACCUM_FBIT      __ACCUM_FBIT__
147 #define ACCUM_IBIT      __ACCUM_IBIT__
148 #define ACCUM_MIN       __ACCUM_MIN__
149 #define ACCUM_MAX       __ACCUM_MAX__
150 #define ACCUM_EPSILON   __ACCUM_EPSILON__
151
152 #undef UACCUM_FBIT
153 #undef UACCUM_IBIT
154 #undef UACCUM_MIN
155 #undef UACCUM_MAX
156 #undef UACCUM_EPSILON
157 #define UACCUM_FBIT     __UACCUM_FBIT__
158 #define UACCUM_IBIT     __UACCUM_IBIT__
159 #define UACCUM_MIN      __UACCUM_MIN__          /* GCC extension.  */
160 #define UACCUM_MAX      __UACCUM_MAX__
161 #define UACCUM_EPSILON  __UACCUM_EPSILON__
162
163 #undef LACCUM_FBIT
164 #undef LACCUM_IBIT
165 #undef LACCUM_MIN
166 #undef LACCUM_MAX
167 #undef LACCUM_EPSILON
168 #define LACCUM_FBIT     __LACCUM_FBIT__
169 #define LACCUM_IBIT     __LACCUM_IBIT__
170 #define LACCUM_MIN      __LACCUM_MIN__
171 #define LACCUM_MAX      __LACCUM_MAX__
172 #define LACCUM_EPSILON  __LACCUM_EPSILON__
173
174 #undef ULACCUM_FBIT
175 #undef ULACCUM_IBIT
176 #undef ULACCUM_MIN
177 #undef ULACCUM_MAX
178 #undef ULACCUM_EPSILON
179 #define ULACCUM_FBIT    __ULACCUM_FBIT__
180 #define ULACCUM_IBIT    __ULACCUM_IBIT__
181 #define ULACCUM_MIN     __ULACCUM_MIN__         /* GCC extension.  */
182 #define ULACCUM_MAX     __ULACCUM_MAX__
183 #define ULACCUM_EPSILON __ULACCUM_EPSILON__
184
185 #undef LLACCUM_FBIT
186 #undef LLACCUM_IBIT
187 #undef LLACCUM_MIN
188 #undef LLACCUM_MAX
189 #undef LLACCUM_EPSILON
190 #define LLACCUM_FBIT    __LLACCUM_FBIT__        /* GCC extension.  */
191 #define LLACCUM_IBIT    __LLACCUM_IBIT__        /* GCC extension.  */
192 #define LLACCUM_MIN     __LLACCUM_MIN__         /* GCC extension.  */
193 #define LLACCUM_MAX     __LLACCUM_MAX__         /* GCC extension.  */
194 #define LLACCUM_EPSILON __LLACCUM_EPSILON__     /* GCC extension.  */
195
196 #undef ULLACCUM_FBIT
197 #undef ULLACCUM_IBIT
198 #undef ULLACCUM_MIN
199 #undef ULLACCUM_MAX
200 #undef ULLACCUM_EPSILON
201 #define ULLACCUM_FBIT   __ULLACCUM_FBIT__       /* GCC extension.  */
202 #define ULLACCUM_IBIT   __ULLACCUM_IBIT__       /* GCC extension.  */
203 #define ULLACCUM_MIN    __ULLACCUM_MIN__        /* GCC extension.  */
204 #define ULLACCUM_MAX    __ULLACCUM_MAX__        /* GCC extension.  */
205 #define ULLACCUM_EPSILON        __ULLACCUM_EPSILON__    /* GCC extension.  */
206
207 #endif /* _STDFIX_H */