1189647Sdelphij/* $NetBSD: fpsetmask.c,v 1.4 2008/04/28 20:23:00 martin Exp $ */
2129203Scognet
3129203Scognet/*-
4129203Scognet * Copyright (c) 1997 The NetBSD Foundation, Inc.
5129203Scognet * All rights reserved.
6129203Scognet *
7129203Scognet * This code is derived from software contributed to The NetBSD Foundation
8129203Scognet * by Neil A. Carson and Mark Brinicombe
9129203Scognet *
10129203Scognet * Redistribution and use in source and binary forms, with or without
11129203Scognet * modification, are permitted provided that the following conditions
12129203Scognet * are met:
13129203Scognet * 1. Redistributions of source code must retain the above copyright
14129203Scognet *    notice, this list of conditions and the following disclaimer.
15129203Scognet * 2. Redistributions in binary form must reproduce the above copyright
16129203Scognet *    notice, this list of conditions and the following disclaimer in the
17129203Scognet *    documentation and/or other materials provided with the distribution.
18129203Scognet *
19129203Scognet * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
20129203Scognet * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
21129203Scognet * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
22129203Scognet * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
23129203Scognet * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
24129203Scognet * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
25129203Scognet * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
26129203Scognet * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
27129203Scognet * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
28129203Scognet * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
29129203Scognet * POSSIBILITY OF SUCH DAMAGE.
30129203Scognet */
31129203Scognet
32129203Scognet#include <sys/cdefs.h>
33129203Scognet__FBSDID("$FreeBSD$");
34129203Scognet
35129203Scognet#include "namespace.h"
36129203Scognet
37129203Scognet#include <ieeefp.h>
38129203Scognet#ifdef SOFTFLOAT_FOR_GCC
39129203Scognet#include "softfloat-for-gcc.h"
40129203Scognet#endif
41129203Scognet#include "milieu.h"
42129203Scognet#include "softfloat.h"
43129203Scognet
44129203Scognet#ifdef __weak_alias
45129203Scognet__weak_alias(fpsetmask,_fpsetmask)
46129203Scognet#endif
47129203Scognet
48129203Scognetfp_except
49129203Scognetfpsetmask(fp_except mask)
50129203Scognet{
51129203Scognet	fp_except old;
52129203Scognet
53129203Scognet	old = float_exception_mask;
54129203Scognet	float_exception_mask = mask;
55129203Scognet	return old;
56129203Scognet}
57