137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// -*- C++ -*- compatibility header.
237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh//
537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// This file is part of the GNU ISO C++ Library.  This library is free
637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// software; you can redistribute it and/or modify it under the
737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// terms of the GNU General Public License as published by the
837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// Free Software Foundation; either version 3, or (at your option)
937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// any later version.
1037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
1137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// This library is distributed in the hope that it will be useful,
1237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// but WITHOUT ANY WARRANTY; without even the implied warranty of
1337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
1437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// GNU General Public License for more details.
1537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
1637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// Under Section 7 of GPL version 3, you are granted additional
1737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// permissions described in the GCC Runtime Library Exception, version
1837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// 3.1, as published by the Free Software Foundation.
1937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
2037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// You should have received a copy of the GNU General Public License and
2137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// a copy of the GCC Runtime Library Exception along with this program;
2237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
2337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh// <http://www.gnu.org/licenses/>.
2437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
2537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh/** @file fenv.h
2637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh *  This is a Standard C++ Library header.
2737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh */
2837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
2937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#ifndef _GLIBCXX_FENV_H
3037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#define _GLIBCXX_FENV_H 1
3137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
3237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#pragma GCC system_header
3337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
3437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#include <bits/c++config.h>
3537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#if _GLIBCXX_HAVE_FENV_H
3637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh# include_next <fenv.h>
3737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#endif
3837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
3937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#ifdef __GXX_EXPERIMENTAL_CXX0X__
4037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
4137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#if _GLIBCXX_USE_C99_FENV_TR1
4237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
4337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef feclearexcept
4437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fegetexceptflag
4537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef feraiseexcept
4637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fesetexceptflag
4737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fetestexcept
4837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fegetround
4937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fesetround
5037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fegetenv
5137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef feholdexcept
5237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef fesetenv
5337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#undef feupdateenv
5437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
5537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsiehnamespace std
5637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh{
5737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  // types
5837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::fenv_t;
5937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::fexcept_t;
6037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
6137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  // functions
6237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::feclearexcept;
6337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::fegetexceptflag;
6437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::feraiseexcept;
6537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::fesetexceptflag;
6637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::fetestexcept;
6737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
6837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::fegetround;
6937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::fesetround;
7037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
7137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::fegetenv;
7237f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::feholdexcept;
7337f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::fesetenv;
7437f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh  using ::feupdateenv;
7537f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh} // namespace
7637f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
7737f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#endif // _GLIBCXX_USE_C99_FENV_TR1
7837f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
7937f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#endif // __GXX_EXPERIMENTAL_CXX0X__
8037f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh
8137f12739251d2637c9405c75951962b5e27bbceeAndrew Hsieh#endif // _GLIBCXX_FENV_H
82