aix: Protect AIX math.h overloads with new macro.
authorDavid Edelsohn <dje.gcc@gmail.com>
Wed, 21 Jul 2021 18:06:45 +0000 (14:06 -0400)
committerDavid Edelsohn <dje.gcc@gmail.com>
Thu, 22 Jul 2021 15:30:34 +0000 (11:30 -0400)
AIX math.h provides C++ overloaded inlined math functions, which should
not be present for G++. The definitions have been guaded by
__COMPATMATH__, but that macro had other uses in IBM xlC++. A new
macro has been introduced with the sole purpose of guarding the functions.
This patch updates libstdc++ os_defines.h to define the additional macro.
The earlier macro definition is retained to guard the functions in the
math.h header of earlier AIX releases.

libstdc++-v3/ChangeLog:

* config/os/aix/os_defines.h (__LIBC_NO_CPP_MATH_OVERLOADS__): Define.

libstdc++-v3/config/os/aix/os_defines.h

index 723a653..265e294 100644 (file)
@@ -1,3 +1,4 @@
+// SPDX-License-Identifier: GPL-3.0-or-later WITH GCC-exception-3.1
 // Specific definitions for AIX  -*- C++ -*-
 
 // Copyright (C) 2000-2021 Free Software Foundation, Inc.
 #define __COMPATMATH__
 #endif
 
+#ifndef __LIBC_NO_CPP_MATH_OVERLOADS__
+#define __LIBC_NO_CPP_MATH_OVERLOADS__
+#endif
+
 // No support for referencing weak symbols without a definition.
 #define _GLIBCXX_USE_WEAK_REF 0