head 1.26; access; symbols netbsd-10-0-RELEASE:1.26 netbsd-10-0-RC6:1.26 netbsd-10-0-RC5:1.26 netbsd-10-0-RC4:1.26 netbsd-10-0-RC3:1.26 netbsd-10-0-RC2:1.26 netbsd-10-0-RC1:1.26 netbsd-10:1.26.0.22 netbsd-10-base:1.26 netbsd-9-3-RELEASE:1.26 cjep_sun2x-base1:1.26 cjep_sun2x:1.26.0.20 cjep_sun2x-base:1.26 cjep_staticlib_x-base1:1.26 netbsd-9-2-RELEASE:1.26 cjep_staticlib_x:1.26.0.18 cjep_staticlib_x-base:1.26 netbsd-9-1-RELEASE:1.26 phil-wifi-20200421:1.26 phil-wifi-20200411:1.26 is-mlppp:1.26.0.16 is-mlppp-base:1.26 phil-wifi-20200406:1.26 netbsd-8-2-RELEASE:1.26 netbsd-9-0-RELEASE:1.26 netbsd-9-0-RC2:1.26 netbsd-9-0-RC1:1.26 phil-wifi-20191119:1.26 netbsd-9:1.26.0.14 netbsd-9-base:1.26 phil-wifi-20190609:1.26 netbsd-8-1-RELEASE:1.26 netbsd-8-1-RC1:1.26 pgoyette-compat-merge-20190127:1.26 pgoyette-compat-20190127:1.26 pgoyette-compat-20190118:1.26 pgoyette-compat-1226:1.26 pgoyette-compat-1126:1.26 pgoyette-compat-1020:1.26 pgoyette-compat-0930:1.26 pgoyette-compat-0906:1.26 netbsd-7-2-RELEASE:1.10.2.1 pgoyette-compat-0728:1.26 netbsd-8-0-RELEASE:1.26 phil-wifi:1.26.0.12 phil-wifi-base:1.26 pgoyette-compat-0625:1.26 netbsd-8-0-RC2:1.26 pgoyette-compat-0521:1.26 pgoyette-compat-0502:1.26 pgoyette-compat-0422:1.26 netbsd-8-0-RC1:1.26 pgoyette-compat-0415:1.26 pgoyette-compat-0407:1.26 pgoyette-compat-0330:1.26 pgoyette-compat-0322:1.26 pgoyette-compat-0315:1.26 netbsd-7-1-2-RELEASE:1.10.2.1 pgoyette-compat:1.26.0.10 pgoyette-compat-base:1.26 netbsd-7-1-1-RELEASE:1.10.2.1 matt-nb8-mediatek:1.26.0.8 matt-nb8-mediatek-base:1.26 perseant-stdc-iso10646:1.26.0.6 perseant-stdc-iso10646-base:1.26 netbsd-8:1.26.0.4 netbsd-8-base:1.26 prg-localcount2-base3:1.26 prg-localcount2-base2:1.26 prg-localcount2-base1:1.26 prg-localcount2:1.26.0.2 prg-localcount2-base:1.26 pgoyette-localcount-20170426:1.26 bouyer-socketcan-base1:1.26 pgoyette-localcount-20170320:1.24 netbsd-7-1:1.10.2.1.0.6 netbsd-7-1-RELEASE:1.10.2.1 netbsd-7-1-RC2:1.10.2.1 netbsd-7-nhusb-base-20170116:1.10.2.1 bouyer-socketcan:1.23.0.2 bouyer-socketcan-base:1.23 pgoyette-localcount-20170107:1.23 netbsd-7-1-RC1:1.10.2.1 pgoyette-localcount-20161104:1.23 netbsd-7-0-2-RELEASE:1.10.2.1 localcount-20160914:1.23 netbsd-7-nhusb:1.10.2.1.0.4 netbsd-7-nhusb-base:1.10.2.1 pgoyette-localcount-20160806:1.21 pgoyette-localcount-20160726:1.21 pgoyette-localcount:1.21.0.2 pgoyette-localcount-base:1.21 netbsd-7-0-1-RELEASE:1.10.2.1 netbsd-7-0:1.10.2.1.0.2 netbsd-7-0-RELEASE:1.10.2.1 netbsd-7-0-RC3:1.10.2.1 netbsd-7-0-RC2:1.10.2.1 netbsd-7-0-RC1:1.10.2.1 netbsd-6-0-6-RELEASE:1.6 netbsd-6-1-5-RELEASE:1.6 netbsd-7:1.10.0.2 netbsd-7-base:1.10 yamt-pagecache-base9:1.9 yamt-pagecache-tag8:1.6.4.1 netbsd-6-1-4-RELEASE:1.6 netbsd-6-0-5-RELEASE:1.6 tls-earlyentropy:1.9.0.4 tls-earlyentropy-base:1.9 riastradh-xf86-video-intel-2-7-1-pre-2-21-15:1.9 riastradh-drm2-base3:1.9 netbsd-6-1-3-RELEASE:1.6 netbsd-6-0-4-RELEASE:1.6 netbsd-6-1-2-RELEASE:1.6 netbsd-6-0-3-RELEASE:1.6 netbsd-6-1-1-RELEASE:1.6 riastradh-drm2-base2:1.9 riastradh-drm2-base1:1.9 riastradh-drm2:1.9.0.2 riastradh-drm2-base:1.9 netbsd-6-1:1.6.0.12 netbsd-6-0-2-RELEASE:1.6 netbsd-6-1-RELEASE:1.6 netbsd-6-1-RC4:1.6 netbsd-6-1-RC3:1.6 agc-symver:1.7.0.6 agc-symver-base:1.7 netbsd-6-1-RC2:1.6 netbsd-6-1-RC1:1.6 yamt-pagecache-base8:1.7 netbsd-6-0-1-RELEASE:1.6 yamt-pagecache-base7:1.7 matt-nb6-plus-nbase:1.6 yamt-pagecache-base6:1.7 netbsd-6-0:1.6.0.10 netbsd-6-0-RELEASE:1.6 netbsd-6-0-RC2:1.6 tls-maxphys:1.7.0.2 tls-maxphys-base:1.10 matt-nb6-plus:1.6.0.8 matt-nb6-plus-base:1.6 netbsd-6-0-RC1:1.6 yamt-pagecache-base5:1.7 yamt-pagecache-base4:1.7 netbsd-6:1.6.0.6 netbsd-6-base:1.6 yamt-pagecache-base3:1.6 yamt-pagecache-base2:1.6 yamt-pagecache:1.6.0.4 yamt-pagecache-base:1.6 cherry-xenmp:1.6.0.2 cherry-xenmp-base:1.6 uebayasi-xip-base7:1.3 bouyer-quota2-nbase:1.3 bouyer-quota2:1.2.0.4 bouyer-quota2-base:1.3 matt-mips64-premerge-20101231:1.2 uebayasi-xip-base6:1.2 uebayasi-xip-base5:1.2 uebayasi-xip-base4:1.2 uebayasi-xip-base3:1.2 uebayasi-xip:1.2.0.2 uebayasi-xip-base2:1.2; locks; strict; comment @ * @; 1.26 date 2017.04.09.15.29.07; author christos; state Exp; branches; next 1.25; commitid QyiG4dPSV8EfbSMz; 1.25 date 2017.03.22.23.11.07; author chs; state Exp; branches; next 1.24; commitid TrNjBZjUFqiCjBKz; 1.24 date 2017.02.23.02.06.12; author scole; state Exp; branches; next 1.23; commitid aIJeAU9hl6Cyb1Hz; 1.23 date 2016.08.25.12.12.59; author christos; state Exp; branches 1.23.2.1; next 1.22; commitid LhGiS8kwQWeqoGjz; 1.22 date 2016.08.23.09.59.46; author christos; state Exp; branches; next 1.21; commitid 2wnIRHQbkFXFIpjz; 1.21 date 2015.12.29.01.58.26; author christos; state Exp; branches 1.21.2.1; next 1.20; commitid QYb1SEaiabfIHMOy; 1.20 date 2015.12.28.11.03.36; author martin; state Exp; branches; next 1.19; commitid 8mdLuxVurvWOKHOy; 1.19 date 2015.12.27.19.50.31; author christos; state Exp; branches; next 1.18; commitid OGLKTfNdja4yHCOy; 1.18 date 2015.12.24.14.13.59; author christos; state Exp; branches; next 1.17; commitid lRdyYMTY0OxaWcOy; 1.17 date 2015.12.24.04.16.00; author christos; state Exp; branches; next 1.16; commitid 6P8lQQrbfAT0D9Oy; 1.16 date 2015.12.22.14.24.55; author christos; state Exp; branches; next 1.15; commitid m2DkMDa6g4QS3XNy; 1.15 date 2015.12.21.16.49.53; author christos; state Exp; branches; next 1.14; commitid iFeV5cKAekUCTPNy; 1.14 date 2015.12.20.16.24.45; author christos; state Exp; branches; next 1.13; commitid LiBzaqixbV30NHNy; 1.13 date 2014.12.27.16.54.02; author martin; state Exp; branches; next 1.12; commitid P5T5A81rjjxxsH3y; 1.12 date 2014.09.19.17.39.15; author matt; state Exp; branches; next 1.11; commitid f36qxMKGhtCgTYQx; 1.11 date 2014.09.03.19.28.20; author matt; state Exp; branches; next 1.10; commitid Hu9mxv7qq4OB0WOx; 1.10 date 2014.08.10.05.57.30; author matt; state Exp; branches 1.10.2.1; next 1.9; commitid gGKJLbfxyXHhiMLx; 1.9 date 2013.04.28.21.07.36; author matt; state Exp; branches; next 1.8; 1.8 date 2013.04.27.21.35.25; author joerg; state Exp; branches; next 1.7; 1.7 date 2012.03.22.03.06.06; author dholland; state Exp; branches 1.7.2.1; next 1.6; 1.6 date 2011.05.20.21.42.48; author nakayama; state Exp; branches 1.6.4.1; next 1.5; 1.5 date 2011.05.16.14.50.36; author martin; state Exp; branches; next 1.4; 1.4 date 2011.05.16.07.59.19; author he; state Exp; branches; next 1.3; 1.3 date 2011.01.31.00.19.33; author christos; state Exp; branches; next 1.2; 1.2 date 2010.08.02.17.49.04; author joerg; state Exp; branches 1.2.2.1 1.2.4.1; next 1.1; 1.1 date 2010.07.31.21.47.53; author joerg; state Exp; branches; next ; 1.23.2.1 date 2017.04.21.16.53.06; author bouyer; state Exp; branches; next ; commitid dUG7nkTKALCadqOz; 1.21.2.1 date 2017.03.20.06.56.55; author pgoyette; state Exp; branches; next 1.21.2.2; commitid jjw7cAwgyKq7RfKz; 1.21.2.2 date 2017.04.26.02.52.54; author pgoyette; state Exp; branches; next ; commitid ojV02aOSdzvBqZOz; 1.10.2.1 date 2015.01.20.20.57.24; author snj; state Exp; branches; next ; commitid W4e6WfoR6QfQ1O6y; 1.7.2.1 date 2013.06.23.06.28.49; author tls; state Exp; branches; next 1.7.2.2; commitid OnlO1cBgtQRcIHUw; 1.7.2.2 date 2014.08.20.00.02.05; author tls; state Exp; branches; next ; commitid jTnpym9Qu0o4R1Nx; 1.6.4.1 date 2012.04.17.00.05.10; author yamt; state Exp; branches; next 1.6.4.2; 1.6.4.2 date 2014.05.22.11.36.35; author yamt; state Exp; branches; next ; commitid OndjEcbQZzO4KwBx; 1.2.2.1 date 2010.08.02.17.49.04; author uebayasi; state dead; branches; next 1.2.2.2; 1.2.2.2 date 2010.08.17.06.41.03; author uebayasi; state Exp; branches; next ; 1.2.4.1 date 2011.02.08.16.18.55; author bouyer; state Exp; branches; next ; desc @@ 1.26 log @fexcept_t + fenv_t should be handled the same way for softfloat @ text @/* $NetBSD: fenv.h,v 1.25 2017/03/22 23:11:07 chs Exp $ */ /* * Copyright (c) 2010 The NetBSD Foundation, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #ifndef _FENV_H_ #define _FENV_H_ #include #if defined(__vax__) # ifndef __TEST_FENV # error "fenv.h is currently not supported for this architecture" # endif typedef int fexcept_t; typedef int fenv_t; #else # define __HAVE_FENV # include #endif #if \ (defined(__arm__) && defined(__SOFTFP__)) || \ (defined(__m68k__) && !defined(__HAVE_68881__)) || \ defined(__mips_soft_float) || \ (defined(__powerpc__) && defined(_SOFT_FLOAT)) || \ (defined(__sh__) && !defined(__SH_FPU_ANY__)) || \ 0 /* * Common definitions for softfloat. */ #ifndef __HAVE_FENV_SOFTFLOAT_DEFS typedef int fexcept_t; typedef struct { int __flags; int __mask; int __round; } fenv_t; #define __FENV_GET_FLAGS(__envp) (__envp)->__flags #define __FENV_GET_MASK(__envp) (__envp)->__mask #define __FENV_GET_ROUND(__envp) (__envp)->__round #define __FENV_SET_FLAGS(__envp, __val) \ (__envp)->__flags = (__val) #define __FENV_SET_MASK(__envp, __val) \ (__envp)->__mask = (__val) #define __FENV_SET_ROUND(__envp, __val) \ (__envp)->__round = (__val) #endif /* __FENV_GET_FLAGS */ #endif /* softfloat */ __BEGIN_DECLS /* Function prototypes */ int feclearexcept(int); int fegetexceptflag(fexcept_t *, int); int feraiseexcept(int); int fesetexceptflag(const fexcept_t *, int); int fetestexcept(int); int fegetround(void); int fesetround(int); int fegetenv(fenv_t *); int feholdexcept(fenv_t *); int fesetenv(const fenv_t *); int feupdateenv(const fenv_t *); #if defined(_NETBSD_SOURCE) || defined(_GNU_SOURCE) int feenableexcept(int); int fedisableexcept(int); int fegetexcept(void); #endif /* _NETBSD_SOURCE || _GNU_SOURCE */ __END_DECLS #endif /* ! _FENV_H_ */ @ 1.25 log @provide a common softfloat fenv implemenation and use it for softfloat builds. restore ABI compatibility with previous releases for ieeefp.h on sh3. add namespace.h protection for all the fenv interfaces. use MKSOFTFLOAT on sh3 instead of assuming softfloat. standardize on comparing MKSOFTFLOAT with "no". remove the arm-specific softfloat fenv code (which also had several bugs). fix logic errors in the arm hardfloat feraiseexcept() and feupdateenv(). @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.24 2017/02/23 02:06:12 scole Exp $ */ d55 2 a58 2 #ifndef __HAVE_FENV_SOFTFLOAT_DEFS @ 1.24 log @Add fenv for ia64, imported from FreeBSD, compile tested only. @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.23 2016/08/25 12:12:59 christos Exp $ */ d32 1 a32 6 #if !defined(__aarch64__) && !defined(__arm__) && !defined(__i386__) \ && !defined(__ia64__) \ && !defined(__hppa__) && !defined(__powerpc__) && !defined(__mips__) \ && !defined(__or1k__) && !defined(__riscv__) && !defined(__sparc__) \ && !defined(__x86_64__) && !defined(__alpha__) && !defined(__sh__) \ && !(defined(__m68k__) && !(defined(__mc68010__) || defined(__mcoldfire__))) d43 36 @ 1.23 log @add sh @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.22 2016/08/23 09:59:46 christos Exp $ */ d33 1 @ 1.23.2.1 log @Sync with HEAD @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.26 2017/04/09 15:29:07 christos Exp $ */ d32 5 a36 1 #if defined(__vax__) a46 36 #if \ (defined(__arm__) && defined(__SOFTFP__)) || \ (defined(__m68k__) && !defined(__HAVE_68881__)) || \ defined(__mips_soft_float) || \ (defined(__powerpc__) && defined(_SOFT_FLOAT)) || \ (defined(__sh__) && !defined(__SH_FPU_ANY__)) || \ 0 /* * Common definitions for softfloat. */ #ifndef __HAVE_FENV_SOFTFLOAT_DEFS typedef int fexcept_t; typedef struct { int __flags; int __mask; int __round; } fenv_t; #define __FENV_GET_FLAGS(__envp) (__envp)->__flags #define __FENV_GET_MASK(__envp) (__envp)->__mask #define __FENV_GET_ROUND(__envp) (__envp)->__round #define __FENV_SET_FLAGS(__envp, __val) \ (__envp)->__flags = (__val) #define __FENV_SET_MASK(__envp, __val) \ (__envp)->__mask = (__val) #define __FENV_SET_ROUND(__envp, __val) \ (__envp)->__round = (__val) #endif /* __FENV_GET_FLAGS */ #endif /* softfloat */ @ 1.22 log @add alpha @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.21 2015/12/29 01:58:26 christos Exp $ */ d35 1 a35 1 && !defined(__x86_64__) && !defined(__alpha__) \ @ 1.21 log @fix inverted condition... @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.20 2015/12/28 11:03:36 martin Exp $ */ d35 1 a35 1 && !defined(__x86_64__) \ @ 1.21.2.1 log @Sync with HEAD @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.24 2017/02/23 02:06:12 scole Exp $ */ a32 1 && !defined(__ia64__) \ @ 1.21.2.2 log @Sync with HEAD @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.26 2017/04/09 15:29:07 christos Exp $ */ d32 6 a37 1 #if defined(__vax__) a47 36 #if \ (defined(__arm__) && defined(__SOFTFP__)) || \ (defined(__m68k__) && !defined(__HAVE_68881__)) || \ defined(__mips_soft_float) || \ (defined(__powerpc__) && defined(_SOFT_FLOAT)) || \ (defined(__sh__) && !defined(__SH_FPU_ANY__)) || \ 0 /* * Common definitions for softfloat. */ #ifndef __HAVE_FENV_SOFTFLOAT_DEFS typedef int fexcept_t; typedef struct { int __flags; int __mask; int __round; } fenv_t; #define __FENV_GET_FLAGS(__envp) (__envp)->__flags #define __FENV_GET_MASK(__envp) (__envp)->__mask #define __FENV_GET_ROUND(__envp) (__envp)->__round #define __FENV_SET_FLAGS(__envp, __val) \ (__envp)->__flags = (__val) #define __FENV_SET_MASK(__envp, __val) \ (__envp)->__mask = (__val) #define __FENV_SET_ROUND(__envp, __val) \ (__envp)->__round = (__val) #endif /* __FENV_GET_FLAGS */ #endif /* softfloat */ @ 1.20 log @Add missing eol-escape @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.19 2015/12/27 19:50:31 christos Exp $ */ d36 1 a36 1 && !(defined(__m68k__) && (defined(__mc68010__) || defined(__mcoldfire__))) @ 1.19 log @We need at least 68010 or coldfire for fenv. @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.18 2015/12/24 14:13:59 christos Exp $ */ d35 1 a35 1 && !defined(__x86_64__) @ 1.18 log @add m68k, default types. @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.17 2015/12/24 04:16:00 christos Exp $ */ d35 2 a36 1 && !defined(__x86_64__) && !defined(__m68k__) @ 1.17 log @rearrange... @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.16 2015/12/22 14:24:55 christos Exp $ */ d35 1 a35 1 && !defined(__x86_64__) d39 2 d63 2 a64 2 int feenableexcept(int mask); int fedisableexcept(int mask); @ 1.16 log @Add __HAVE_FENV @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.15 2015/12/21 16:49:53 christos Exp $ */ d27 4 d36 3 a38 3 #ifndef __TEST_FENV #error "fenv.h is currently not supported for this architecture" #endif d41 1 a43 6 #ifndef _FENV_H_ #define _FENV_H_ #include #include @ 1.15 log @Add fenv.h for mips @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.14 2015/12/20 16:24:45 christos Exp $ */ d32 1 d35 3 @ 1.14 log @Powerpc now has fenv.h @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.13 2014/12/27 16:54:02 martin Exp $ */ d29 1 a29 1 && !defined(__hppa__) && !defined(__powerpc__) \ @ 1.13 log @fenv(3) support for hppa @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.12 2014/09/19 17:39:15 matt Exp $ */ d29 1 a29 1 && !defined(__hppa__) \ @ 1.12 log @RISC-V support @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.11 2014/09/03 19:28:20 matt Exp $ */ d29 1 @ 1.11 log @or1k support @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.10 2014/08/10 05:57:30 matt Exp $ */ d29 2 a30 1 && !defined(__or1k__) && !defined(__sparc__) && !defined(__x86_64__) @ 1.10 log @Changes to existing files to enable building AARCH64 userland. evbarm64-el This is clang only. While gcc4.8 supports aarch64, no netbsd support has been written for aarch64 with gcc4.8. @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.9 2013/04/28 21:07:36 matt Exp $ */ d29 1 a29 1 && !defined(__sparc__) && !defined(__x86_64__) @ 1.10.2.1 log @Pull up following revision(s) (requested by martin in ticket #416): distrib/sets/lists/comp/md.hppa: revision 1.3 include/fenv.h: revision 1.13 via patch lib/libm/Makefile: revision 1.168 lib/libm/arch/hppa/fenv.c: revisions 1.1, 1.2 sys/arch/hppa/include/Makefile: revision 1.12 sys/arch/hppa/include/fenv.h: revisions 1.1, 1.2 sys/arch/hppa/include/ieeefp.h: revisions 1.5-1.7 tests/lib/libm/Makefile: revision 1.29 via patch fenv(3) support for hppa -- use unsigned over uint32_t so that this file works without stdint.h being included before hand. fixes mknative-gcc problems, and likely others. -- Properly separate fenv.h and ieeefp.h by moving all fenv defines over to the former. Now that they are decoupled, make rounding modes match the hardware bits. -- Simplify, now that rounding mode defines match the hardware bits. @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.10 2014/08/10 05:57:30 matt Exp $ */ a28 1 && !defined(__hppa__) \ @ 1.9 log @Enable fenv support for arm. @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.8 2013/04/27 21:35:25 joerg Exp $ */ d28 1 a28 1 #if !defined(__arm__) && !defined(__i386__) \ @ 1.8 log @Systematically include sys/featuretest.h when _NETBSD_SOURCE is used. Some are redundant, but make verification with grep much easier. @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.7 2012/03/22 03:06:06 dholland Exp $ */ d28 2 a29 1 #if !defined(__i386__) && !defined(__amd64__) && !defined(__sparc__) @ 1.7 log @typo in comment @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.6 2011/05/20 21:42:48 nakayama Exp $ */ d35 1 @ 1.7.2.1 log @resync from head @ text @d1 1 a1 1 /* $NetBSD$ */ d28 1 a28 2 #if !defined(__arm__) && !defined(__i386__) \ && !defined(__sparc__) && !defined(__x86_64__) a34 1 #include @ 1.7.2.2 log @Rebase to HEAD as of a few days ago. @ text @d28 1 a28 1 #if !defined(__aarch64__) && !defined(__arm__) && !defined(__i386__) \ @ 1.6 log @Add fenv support for sparc. Mostly copied from sparc64 and share with it. @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.5 2011/05/16 14:50:36 martin Exp $ */ d58 1 a58 1 #endif /* _NETBDS_SOURCE || _GNU_SOURCE */ @ 1.6.4.1 log @sync with head @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.6 2011/05/20 21:42:48 nakayama Exp $ */ d58 1 a58 1 #endif /* _NETBSD_SOURCE || _GNU_SOURCE */ @ 1.6.4.2 log @sync with head. for a reference, the tree before this commit was tagged as yamt-pagecache-tag8. this commit was splitted into small chunks to avoid a limitation of cvs. ("Protocol error: too many arguments") @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.6.4.1 2012/04/17 00:05:10 yamt Exp $ */ d28 1 a28 2 #if !defined(__arm__) && !defined(__i386__) \ && !defined(__sparc__) && !defined(__x86_64__) a34 1 #include @ 1.5 log @Actually test for sparc v9 architecture, doesn't matter if we are building 32bit or 64bit (fixes 32bit compat library build on sparc64 - yes, they differ from native sparc libs!) @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.4 2011/05/16 07:59:19 he Exp $ */ d28 1 a28 1 #if !defined(__i386__) && !defined(__amd64__) && !defined(__sparc_v9__) @ 1.4 log @The support of is actually for __sparc64__, not for __sparc__ (which is also defined on sparc64). This fixes a build problem for plain sparc. @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.3 2011/01/31 00:19:33 christos Exp $ */ d28 1 a28 1 #if !defined(__i386__) && !defined(__amd64__) && !defined(__sparc64__) @ 1.3 log @fenv support for sparc64 from Stathis Kamperis @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.2 2010/08/02 17:49:04 joerg Exp $ */ d28 1 a28 1 #if !defined(__i386__) && !defined(__amd64__) && !defined(__sparc__) @ 1.2 log @Missing defined. @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.1 2010/07/31 21:47:53 joerg Exp $ */ d28 1 a28 1 #if !defined(__i386__) && !defined(__amd64__) @ 1.2.4.1 log @Sync with HEAD @ text @d1 1 a1 1 /* $NetBSD: fenv.h,v 1.3 2011/01/31 00:19:33 christos Exp $ */ d28 1 a28 1 #if !defined(__i386__) && !defined(__amd64__) && !defined(__sparc__) @ 1.2.2.1 log @file fenv.h was added on branch uebayasi-xip on 2010-08-17 06:41:03 +0000 @ text @d1 62 @ 1.2.2.2 log @Sync with HEAD. @ text @a0 62 /* $NetBSD$ */ /* * Copyright (c) 2010 The NetBSD Foundation, Inc. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. */ #if !defined(__i386__) && !defined(__amd64__) #error "fenv.h is currently not supported for this architecture" #endif #ifndef _FENV_H_ #define _FENV_H_ #include __BEGIN_DECLS /* Function prototypes */ int feclearexcept(int); int fegetexceptflag(fexcept_t *, int); int feraiseexcept(int); int fesetexceptflag(const fexcept_t *, int); int fetestexcept(int); int fegetround(void); int fesetround(int); int fegetenv(fenv_t *); int feholdexcept(fenv_t *); int fesetenv(const fenv_t *); int feupdateenv(const fenv_t *); #if defined(_NETBSD_SOURCE) || defined(_GNU_SOURCE) int feenableexcept(int mask); int fedisableexcept(int mask); int fegetexcept(void); #endif /* _NETBDS_SOURCE || _GNU_SOURCE */ __END_DECLS #endif /* ! _FENV_H_ */ @ 1.1 log @Add support for fenv.h interface for i386 and amd64. Submitted by Stathis Kamperis as part of GSoC 2010 and ported from FreeBSD. @ text @d1 1 a1 1 /* $NetBSD$ */ d52 1 a52 1 #if defined(_NETBSD_SOURCE) || (_GNU_SOURCE) @