From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1118) id 94E583858D37; Sun, 27 Feb 2022 19:48:22 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 94E583858D37 MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset="utf-8" From: John David Anglin To: gcc-cvs@gcc.gnu.org Subject: [gcc r12-7397] Fix declarations of _DINFINITY, _SINFINITY and _SQNAN X-Act-Checkin: gcc X-Git-Author: John David Anglin X-Git-Refname: refs/heads/master X-Git-Oldrev: ae957797a16c0361b8b59c4a045e696cef171f19 X-Git-Newrev: d1574a9b820f17adb9004255e2018967e9be063b Message-Id: <20220227194822.94E583858D37@sourceware.org> Date: Sun, 27 Feb 2022 19:48:22 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 27 Feb 2022 19:48:22 -0000 https://gcc.gnu.org/g:d1574a9b820f17adb9004255e2018967e9be063b commit r12-7397-gd1574a9b820f17adb9004255e2018967e9be063b Author: John David Anglin Date: Sun Feb 27 19:47:25 2022 +0000 Fix declarations of _DINFINITY, _SINFINITY and _SQNAN The declarations of _DINFINITY, _SINFINITY and _SQNAN need to be constant expressions. 2022-02-27 John David Anglin fixincludes/ChangeLog: * inclhack.def (hpux_math_constexpr): New hack. * fixincl.x: Regenerate. * tests/base/math.h: Update. Diff: --- fixincludes/fixincl.x | 44 +++++++++++++++++++++++++++++++++++++++---- fixincludes/inclhack.def | 18 ++++++++++++++++++ fixincludes/tests/base/math.h | 7 +++++++ 3 files changed, 65 insertions(+), 4 deletions(-) diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x index b5cea5a43af..bad490453b7 100644 --- a/fixincludes/fixincl.x +++ b/fixincludes/fixincl.x @@ -2,11 +2,11 @@ * * DO NOT EDIT THIS FILE (fixincl.x) * - * It has been AutoGen-ed January 15, 2022 at 10:54:24 PM by AutoGen 5.18.16 + * It has been AutoGen-ed February 27, 2022 at 07:47:03 PM by AutoGen 5.18.16 * From the definitions inclhack.def * and the template file fixincl */ -/* DO NOT SVN-MERGE THIS FILE, EITHER Sat Jan 15 22:54:24 UTC 2022 +/* DO NOT SVN-MERGE THIS FILE, EITHER Sun Feb 27 19:47:03 UTC 2022 * * You must regenerate it. Use the ./genfixes script. * @@ -15,7 +15,7 @@ * certain ANSI-incompatible system header files which are fixed to work * correctly with ANSI C and placed in a directory that GNU C will search. * - * This file contains 266 fixup descriptions. + * This file contains 267 fixup descriptions. * * See README for more information. * @@ -4516,6 +4516,36 @@ static const char* apzHpux11_Cpp_Pow_InlinePatch[] = { "", (char*)NULL }; +/* * * * * * * * * * * * * * * * * * * * * * * * * * + * + * Description of Hpux_Math_Constexpr fix + */ +tSCC zHpux_Math_ConstexprName[] = + "hpux_math_constexpr"; + +/* + * File name selection pattern + */ +tSCC zHpux_Math_ConstexprList[] = + "math.h\0"; +/* + * Machine/OS name selection pattern + */ +tSCC* apzHpux_Math_ConstexprMachs[] = { + "*-hp-hpux11*", + (const char*)NULL }; +#define HPUX_MATH_CONSTEXPR_TEST_CT 0 +#define aHpux_Math_ConstexprTests (tTestDesc*)NULL + +/* + * Fix Command Arguments for Hpux_Math_Constexpr + */ +static const char* apzHpux_Math_ConstexprPatch[] = { sed_cmd_z, + "-e", "s@^[ \t]*extern[ \t]*const[ \t]*double[ \t]*_DINFINITY;[ \t]*$@# define _DINFINITY (__builtin_inf ())@", + "-e", "s@^[ \t]*extern[ \t]*const[ \t]*float[ \t]*_SINFINITY;[ \t]*$@# define _SINFINITY (__builtin_inff ())@", + "-e", "s@^[ \t]*extern[ \t]*const[ \t]*float[ \t]*_SQNAN;[ \t]*$@# define _SQNAN (__builtin_nanf (\\\"\\\"))@", + (char*)NULL }; + /* * * * * * * * * * * * * * * * * * * * * * * * * * * * Description of Hpux10_Ctype_Declarations1 fix @@ -10844,7 +10874,7 @@ static const char* apzX11_SprintfPatch[] = { */ #define REGEX_COUNT 305 #define MACH_LIST_SIZE_LIMIT 187 -#define FIX_COUNT 266 +#define FIX_COUNT 267 /* * Enumerate the fixes @@ -10957,6 +10987,7 @@ typedef enum { HPPA_HPUX_FP_MACROS_FIXIDX, HPUX10_CPP_POW_INLINE_FIXIDX, HPUX11_CPP_POW_INLINE_FIXIDX, + HPUX_MATH_CONSTEXPR_FIXIDX, HPUX10_CTYPE_DECLARATIONS1_FIXIDX, HPUX10_CTYPE_DECLARATIONS2_FIXIDX, HPUX10_STDIO_DECLARATIONS_FIXIDX, @@ -11654,6 +11685,11 @@ tFixDesc fixDescList[ FIX_COUNT ] = { HPUX11_CPP_POW_INLINE_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, aHpux11_Cpp_Pow_InlineTests, apzHpux11_Cpp_Pow_InlinePatch, 0 }, + { zHpux_Math_ConstexprName, zHpux_Math_ConstexprList, + apzHpux_Math_ConstexprMachs, + HPUX_MATH_CONSTEXPR_TEST_CT, FD_MACH_ONLY, + aHpux_Math_ConstexprTests, apzHpux_Math_ConstexprPatch, 0 }, + { zHpux10_Ctype_Declarations1Name, zHpux10_Ctype_Declarations1List, apzHpux10_Ctype_Declarations1Machs, HPUX10_CTYPE_DECLARATIONS1_TEST_CT, FD_MACH_ONLY | FD_SUBROUTINE, diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def index 8400d0c696b..7605ac89aa2 100644 --- a/fixincludes/inclhack.def +++ b/fixincludes/inclhack.def @@ -2282,6 +2282,24 @@ fix = { " }\n"; }; +/* + * This hack fixes the declarations of _DINFINITY, _SINFINITY and _SQNAN. + */ +fix = { + hackname = hpux_math_constexpr; + mach = "*-hp-hpux11*"; + files = math.h; + sed = "s@^[ \t]*extern[ \t]*const[ \t]*double[ \t]*_DINFINITY;" + "[ \t]*$@# define _DINFINITY (__builtin_inf ())@"; + sed = "s@^[ \t]*extern[ \t]*const[ \t]*float[ \t]*_SINFINITY;" + "[ \t]*$@# define _SINFINITY (__builtin_inff ())@"; + sed = "s@^[ \t]*extern[ \t]*const[ \t]*float[ \t]*_SQNAN;" + "[ \t]*$@# define _SQNAN (__builtin_nanf (\\\"\\\"))@"; + test_text = " extern const double _DINFINITY;\n" + " extern const float _SINFINITY;\n" + " extern const float _SQNAN;"; +}; + /* * Fix hpux 10.X missing ctype declarations 1 */ diff --git a/fixincludes/tests/base/math.h b/fixincludes/tests/base/math.h index 7525fd82ecf..29b67579748 100644 --- a/fixincludes/tests/base/math.h +++ b/fixincludes/tests/base/math.h @@ -57,6 +57,13 @@ #endif /* HPUX11_CPP_POW_INLINE_CHECK */ +#if defined( HPUX_MATH_CONSTEXPR_CHECK ) +# define _DINFINITY (__builtin_inf ()) +# define _SINFINITY (__builtin_inff ()) +# define _SQNAN (__builtin_nanf ("")) +#endif /* HPUX_MATH_CONSTEXPR_CHECK */ + + #if defined( HPUX11_FABSF_CHECK ) #ifdef _PA_RISC #ifndef __cplusplus