Re: [PATCH v3 2/3] Add default implementation of fenv.h and all methods
Corinna Vinschen <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Message-ID | <[email protected]> |
Hi Joel, On Aug 6 14:13, Joel Sherrill wrote: > [...] > +//#define FE_DIVBYZERO 0x00000001 > +//#define FE_INEXACT 0x00000002 > +//#define FE_INVALID 0x00000004 > +//#define FE_OVERFLOW 0x00000008 > +//#define FE_UNDERFLOW 0x00000010 > + > +//#define FE_ALL_EXCEPT \ > + //(FE_DIVBYZERO|FE_INEXACT|FE_INVALID|FE_OVERFLOW|FE_UNDERFLOW) > +#define FE_ALL_EXCEPT 0 /* NONE SUPPORTED IN PLACEHOLDER TEMPLATE */ > + > +/* > + * The following macros are to be defined if the respective rounding > + * direction is supported by the implementation via the fegetround() and > + * fesetround() functions, each with a unique positive value. > + * > + * FE_DOWNWARD > + * FE_TONEAREST > + * FE_TOWARDZERO > + * FE_UPWARD > + * > + * Other implementation-specific rounding modes may be defined, and must start > + * with FE_ followed by a capital letter. > + */ > +//#define FE_DOWNWARD 1 > +//#define FE_TONEAREST 2 > +//#define FE_TOWARDZERO 3 > +//#define FE_UPWARD 4 > + > +/* > + * The following typedefs are required. See the C and POSIX standards for > + * details: > + * > + * fenv_t > + * fexcept_t > + */ > +typedef size_t fenv_t; > +typedef size_t fexcept_t; While these types are defined, the above macros are not. Wouldn't it make sense to define all or nothing by default? Additionally, the default type here should better be one of the predefined types like 'int' or 'unsigned int'. The target has to overwrite them anyway. Using a derived type like size_t could puzzle the developer into thinking there are minimum size requirements. The rest looks ok to me. Thanks, Corinna -- Corinna Vinschen Cygwin Maintainer Red Hat
signature.asc
(application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEoVYPmneWZnwT6kwF9TYGna5ET6AFAl1KjZEACgkQ9TYGna5E T6B28RAAm60eP6xTtA+svIVzkoi5MlnFYyWcKZLsoY8aNAXYMQGENN1WN7QKb2TK 0dhbYJopBkWeFppZ+2pyAp+OvT1aOVI3oNA6llnrjzr4NLs2XckBq8Sku8kSpy6Q H5Nudz7GcW6t9cNlwNJgyb8HMPR4RD5loSkXvmcwwCuZYoY5zbvC4HZcv6BpZ7WD go3s56GPDwFLrGMAIllJQDH7zMeCcq0zJwgmE7Z60+HYy2p61TmyWKf1iX1DJuSl aCPKzZ2aGEzpkI3UrH0cDNTNGoHZ5cLpQxzPZ/HUreu/1JeTTwpZtI7wJVvC42pe LsHEjnqZL49pcnhNawozXe9rUeH+YxfYrzJNBQiSKu2xc43kISYW+nhJDJSR3OIH /+ouRLYdcjOzP0WNaglZa8Yt2ThgpsDbuDuJTXUXjkvGpHs6XbTPsFaGjtRV9Hg/ ReLBj/TfWymeceFLORf6W0RPi++lTE7i8ykpuNwpp7m7/PWDIFi3rKG/TUfgOCfX 1dln2quhOp53ZODLL8uuJmhG9Cmcm2A5KJQJ+ErDVrLj81lNE6j4Lw86hftoyz9i A+9eh+SmH2trwlH0p/Hpm4FOJI0xpjWEyTXt+wz0va0xkUuxLUscshU7wIvUHXTy Np8ekKK9h0r5hIX3M34OPp+xOJ2fNTOOBjMBuVzbZdTewzmzHEs= =ucQ4 -----END PGP SIGNATURE-----