1227825Stheraven// -*- C++ -*-
2227825Stheraven//===---------------------------- cctype ----------------------------------===//
3227825Stheraven//
4227825Stheraven//                     The LLVM Compiler Infrastructure
5227825Stheraven//
6227825Stheraven// This file is dual licensed under the MIT and the University of Illinois Open
7227825Stheraven// Source Licenses. See LICENSE.TXT for details.
8227825Stheraven//
9227825Stheraven//===----------------------------------------------------------------------===//
10227825Stheraven
11227825Stheraven#ifndef _LIBCPP_CFENV
12227825Stheraven#define _LIBCPP_CFENV
13227825Stheraven
14227825Stheraven/*
15227825Stheraven    cfenv synopsis
16227825Stheraven
17227825StheravenThis entire header is C99 / C++0X
18227825Stheraven
19227825StheravenMacros:
20227825Stheraven
21227825Stheraven    FE_DIVBYZERO
22227825Stheraven    FE_INEXACT
23227825Stheraven    FE_INVALID
24227825Stheraven    FE_OVERFLOW
25227825Stheraven    FE_UNDERFLOW
26227825Stheraven    FE_ALL_EXCEPT
27227825Stheraven    FE_DOWNWARD
28227825Stheraven    FE_TONEAREST
29227825Stheraven    FE_TOWARDZERO
30227825Stheraven    FE_UPWARD
31227825Stheraven    FE_DFL_ENV
32227825Stheraven
33227825Stheravennamespace std
34227825Stheraven{
35227825Stheraven
36227825StheravenTypes:
37227825Stheraven
38227825Stheraven    fenv_t
39227825Stheraven    fexcept_t
40227825Stheraven
41227825Stheravenint feclearexcept(int excepts);
42227825Stheravenint fegetexceptflag(fexcept_t* flagp, int excepts);
43227825Stheravenint feraiseexcept(int excepts);
44227825Stheravenint fesetexceptflag(const fexcept_t* flagp, int excepts);
45227825Stheravenint fetestexcept(int excepts);
46227825Stheravenint fegetround();
47227825Stheravenint fesetround(int round);
48227825Stheravenint fegetenv(fenv_t* envp);
49227825Stheravenint feholdexcept(fenv_t* envp);
50227825Stheravenint fesetenv(const fenv_t* envp);
51227825Stheravenint feupdateenv(const fenv_t* envp);
52227825Stheraven
53227825Stheraven}  // std
54227825Stheraven*/
55227825Stheraven
56227825Stheraven#include <__config>
57227825Stheraven#include <fenv.h>
58227825Stheraven
59227825Stheraven#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
60227825Stheraven#pragma GCC system_header
61227825Stheraven#endif
62227825Stheraven
63227825Stheraven_LIBCPP_BEGIN_NAMESPACE_STD
64227825Stheraven
65227825Stheravenusing ::fenv_t;
66227825Stheravenusing ::fexcept_t;
67227825Stheraven
68227825Stheravenusing ::feclearexcept;
69227825Stheravenusing ::fegetexceptflag;
70227825Stheravenusing ::feraiseexcept;
71227825Stheravenusing ::fesetexceptflag;
72227825Stheravenusing ::fetestexcept;
73227825Stheravenusing ::fegetround;
74227825Stheravenusing ::fesetround;
75227825Stheravenusing ::fegetenv;
76227825Stheravenusing ::feholdexcept;
77227825Stheravenusing ::fesetenv;
78227825Stheravenusing ::feupdateenv;
79227825Stheraven
80227825Stheraven_LIBCPP_END_NAMESPACE_STD
81227825Stheraven
82227825Stheraven#endif  // _LIBCPP_CFENV
83