1/* Temporary library support for decimal floating point.
2   Copyright (C) 2005-2015 Free Software Foundation, Inc.
3
4   This file is part of GCC.
5
6   GCC is free software; you can redistribute it and/or modify it
7   under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 3, or (at your option)
9   any later version.
10
11   GCC is distributed in the hope that it will be useful, but WITHOUT
12   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
13   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
14   License for more details.
15
16Under Section 7 of GPL version 3, you are granted additional
17permissions described in the GCC Runtime Library Exception, version
183.1, as published by the Free Software Foundation.
19
20You should have received a copy of the GNU General Public License and
21a copy of the GCC Runtime Library Exception along with this program;
22see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
23<http://www.gnu.org/licenses/>.  */
24
25#include <fenv.h>
26#include "dconfig.h"
27#include "decContext.h"
28#include "decExcept.h"
29
30/* Internal, non-documented functions for testing libgcc functions.
31   This support is not sufficient for real use.  */
32
33static int __dfp_except_flags = 0;
34
35/* Clear the dummy exception flags.  */
36void
37__dfp_clear_except (void)
38{
39  __dfp_except_flags = 0;
40}
41
42/* Return the dummy exception flags corresponding to the mask.  */
43int
44__dfp_test_except (int mask)
45{
46  return __dfp_except_flags & mask;
47}
48
49/* Set dummy exception flags.  */
50void
51__dfp_raise_except (int flags)
52{
53  __dfp_except_flags |= flags;
54}
55