summaryrefslogtreecommitdiff
path: root/libstdc++-v3/include/c_std
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2008-05-27 19:20:19 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2008-05-27 19:20:19 +0000
commit488133ac66acbad4fbb7177438c6a651c3de8a07 (patch)
treef502522737a39b8803377a20fa7f25073cbd16d1 /libstdc++-v3/include/c_std
parent5ed3bd072fbadb6e5dbac35a56dd35e94827b04d (diff)
downloadgcc-488133ac66acbad4fbb7177438c6a651c3de8a07.tar.gz
2008-05-27 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk r136046 git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@136051 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libstdc++-v3/include/c_std')
-rw-r--r--libstdc++-v3/include/c_std/cmath18
1 files changed, 4 insertions, 14 deletions
diff --git a/libstdc++-v3/include/c_std/cmath b/libstdc++-v3/include/c_std/cmath
index 52c1d2a3505..948a0bece29 100644
--- a/libstdc++-v3/include/c_std/cmath
+++ b/libstdc++-v3/include/c_std/cmath
@@ -1,7 +1,7 @@
// -*- C++ -*- C forwarding header.
// Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-// 2006, 2007
+// 2006, 2007, 2008
// Free Software Foundation, Inc.
//
// This file is part of the GNU ISO C++ Library. This library is free
@@ -458,19 +458,8 @@ _GLIBCXX_END_NAMESPACE
#if _GLIBCXX_USE_C99_MATH
#if !_GLIBCXX_USE_C99_FP_MACROS_DYNAMIC
-// These are possible macros imported from C99-land. For strict
-// conformance, remove possible C99-injected names from the global
-// namespace, and sequester them in the __gnu_cxx extension namespace.
-_GLIBCXX_BEGIN_NAMESPACE(__gnu_cxx)
-
- template<typename _Tp>
- inline int
- __capture_fpclassify(_Tp __f) { return fpclassify(__f); }
-
-_GLIBCXX_END_NAMESPACE
-
-// Only undefine the C99 FP macros, if actually captured for namespace movement
+// These are possible macros imported from C99-land.
#undef fpclassify
#undef isfinite
#undef isinf
@@ -492,7 +481,8 @@ _GLIBCXX_BEGIN_NAMESPACE(std)
fpclassify(_Tp __f)
{
typedef typename __gnu_cxx::__promote<_Tp>::__type __type;
- return ::__gnu_cxx::__capture_fpclassify(__type(__f));
+ return __builtin_fpclassify(FP_NAN, FP_INFINITE, FP_NORMAL,
+ FP_SUBNORMAL, FP_ZERO, __type(__f));
}
template<typename _Tp>