aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@codesourcery.com>2001-05-24 18:38:20 +0000
committerGabriel Dos Reis <gdr@gcc.gnu.org>2001-05-24 18:38:20 +0000
commitcf3e18dd1e39b7f21fe7769e0609bde8e9af3701 (patch)
tree888ee035d9929571a72567472035e90b36eb4952 /libstdc++-v3
parentcb894e07ec764859e793baf8ff7487a83a3557cc (diff)
downloadgcc-cf3e18dd1e39b7f21fe7769e0609bde8e9af3701.zip
gcc-cf3e18dd1e39b7f21fe7769e0609bde8e9af3701.tar.gz
gcc-cf3e18dd1e39b7f21fe7769e0609bde8e9af3701.tar.bz2
c++config (__NO_MATH_INLINES): New macro.
* include/bits/c++config (__NO_MATH_INLINES): New macro. * testsuite/26_numerics/fabs_inline.cc (main): New test. From-SVN: r42533
Diffstat (limited to 'libstdc++-v3')
-rw-r--r--libstdc++-v3/ChangeLog5
-rw-r--r--libstdc++-v3/include/bits/c++config5
-rw-r--r--libstdc++-v3/testsuite/26_numerics/fabs_inline.cc37
3 files changed, 47 insertions, 0 deletions
diff --git a/libstdc++-v3/ChangeLog b/libstdc++-v3/ChangeLog
index fe5bdc3..70ce13e 100644
--- a/libstdc++-v3/ChangeLog
+++ b/libstdc++-v3/ChangeLog
@@ -1,3 +1,8 @@
+2001-05-24 Gabriel Dos Reis <gdr@codesourcery.com>
+
+ * include/bits/c++config (__NO_MATH_INLINES): New macro.
+ * testsuite/26_numerics/fabs_inline.cc (main): New test.
+
2001-05-22 Benjamin Kosnik <bkoz@redhat.com>
libstdc++/2841
diff --git a/libstdc++-v3/include/bits/c++config b/libstdc++-v3/include/bits/c++config
index f87f58e..bd9c55c 100644
--- a/libstdc++-v3/include/bits/c++config
+++ b/libstdc++-v3/include/bits/c++config
@@ -33,6 +33,11 @@
// Pick up any OS-specific definitions.
#include <bits/os_defines.h>
+// Tell Glibc not to try to provide its own inline versions of
+// some math functions. Those cause assembly-time clashes with
+// our definitions.
+#define __NO_MATH_INLINES
+
// The current version of the C++ library in compressed ISO date format.
#define __GLIBCPP__ 20010517
diff --git a/libstdc++-v3/testsuite/26_numerics/fabs_inline.cc b/libstdc++-v3/testsuite/26_numerics/fabs_inline.cc
new file mode 100644
index 0000000..bb84a58
--- /dev/null
+++ b/libstdc++-v3/testsuite/26_numerics/fabs_inline.cc
@@ -0,0 +1,37 @@
+// Copyright (C) 1999 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
+// terms of the GNU General Public License as published by the
+// Free Software Foundation; either version 2, or (at your option)
+// any later version.
+
+// This library is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+
+// You should have received a copy of the GNU General Public License along
+// with this library; see the file COPYING. If not, write to the Free
+// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
+// USA.
+
+// Test to see whether the host provides its own (inline) view of fabs.
+// Origin: Kurt Garloff <kurt@garloff.de>, 2001-05-24
+// dg-do link
+
+#include <cmath>
+#include <cstdio>
+
+typedef double (*realfn) (double);
+
+using std::fabs;
+
+int main ()
+{
+ double a = fabs (-2.4);
+ realfn myfn = fabs;
+ double b = myfn (-2.5);
+ printf ("%f, %f, %p\n", a, b, myfn);
+ return 0;
+}