From cf3e18dd1e39b7f21fe7769e0609bde8e9af3701 Mon Sep 17 00:00:00 2001 From: Gabriel Dos Reis Date: Thu, 24 May 2001 18:38:20 +0000 Subject: [PATCH] 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 --- libstdc++-v3/ChangeLog | 5 +++ libstdc++-v3/include/bits/c++config | 5 +++ libstdc++-v3/testsuite/26_numerics/fabs_inline.cc | 37 +++++++++++++++++++++++ 3 files changed, 47 insertions(+) create mode 100644 libstdc++-v3/testsuite/26_numerics/fabs_inline.cc 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 + + * include/bits/c++config (__NO_MATH_INLINES): New macro. + * testsuite/26_numerics/fabs_inline.cc (main): New test. + 2001-05-22 Benjamin Kosnik 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 +// 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 , 2001-05-24 +// dg-do link + +#include +#include + +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; +} -- 2.7.4