Import gcc-4.7.2 to new vendor branch
[dragonfly.git] / contrib / gcc-4.7 / gcc / ginclude / stdfix.h
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 */