Home | History | Annotate | Download | only in include
      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 */
    208