aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/c_compatibility/fenv.h
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/include/c_compatibility/fenv.h')
-rw-r--r--libstdc++-v3/include/c_compatibility/fenv.h36
1 files changed, 26 insertions, 10 deletions
diff --git a/libstdc++-v3/include/c_compatibility/fenv.h b/libstdc++-v3/include/c_compatibility/fenv.h
index 44661d72c02..f24a217b8f5 100644
--- a/libstdc++-v3/include/c_compatibility/fenv.h
+++ b/libstdc++-v3/include/c_compatibility/fenv.h
@@ -1,6 +1,6 @@
// -*- C++ -*- compatibility header.
-// Copyright (C) 2007 Free Software Foundation, Inc.
+// Copyright (C) 2007, 2008 Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
// software; you can redistribute it and/or modify it under the
@@ -31,17 +31,33 @@
* This is a Standard C++ Library header.
*/
+#ifndef _GLIBCXX_FENV_H
+#define _GLIBCXX_FENV_H 1
+
+#pragma GCC system_header
+
#include <bits/c++config.h>
+#if _GLIBCXX_HAVE_FENV_H
+# include_next <fenv.h>
+#endif
#ifdef __GXX_EXPERIMENTAL_CXX0X__
-# include <cfenv>
-#else
-# if _GLIBCXX_HAVE_FENV_H
-# include_next <fenv.h>
-# endif
+# if defined(_GLIBCXX_INCLUDE_AS_TR1)
+# error C++0x header cannot be included from TR1 header
+# endif
+# if defined(_GLIBCXX_INCLUDE_AS_CXX0X)
+# include <tr1_impl/cfenv>
+# else
+# define _GLIBCXX_INCLUDE_AS_CXX0X
+# define _GLIBCXX_BEGIN_NAMESPACE_TR1
+# define _GLIBCXX_END_NAMESPACE_TR1
+# define _GLIBCXX_TR1
+# include <tr1_impl/cfenv>
+# undef _GLIBCXX_TR1
+# undef _GLIBCXX_END_NAMESPACE_TR1
+# undef _GLIBCXX_BEGIN_NAMESPACE_TR1
+# undef _GLIBCXX_INCLUDE_AS_CXX0X
+# endif
#endif
-#ifndef _GLIBCXX_FENV_H
-#define _GLIBCXX_FENV_H 1
-
-#endif
+#endif // _GLIBCXX_FENV_H