aboutsummaryrefslogtreecommitdiff
path: root/fixincludes
diff options
context:
space:
mode:
authorJohn David Anglin <danglin@gcc.gnu.org>2022-02-27 19:47:25 +0000
committerJohn David Anglin <danglin@gcc.gnu.org>2022-02-27 19:47:25 +0000
commitd1574a9b820f17adb9004255e2018967e9be063b (patch)
treefb1f8899bf13f4fcb97aded9f5e3c33bfed52420 /fixincludes
parentae957797a16c0361b8b59c4a045e696cef171f19 (diff)
downloadgcc-d1574a9b820f17adb9004255e2018967e9be063b.zip
gcc-d1574a9b820f17adb9004255e2018967e9be063b.tar.gz
gcc-d1574a9b820f17adb9004255e2018967e9be063b.tar.bz2
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 <danglin@gcc.gnu.org> fixincludes/ChangeLog: * inclhack.def (hpux_math_constexpr): New hack. * fixincl.x: Regenerate. * tests/base/math.h: Update.
Diffstat (limited to 'fixincludes')
-rw-r--r--fixincludes/fixincl.x44
-rw-r--r--fixincludes/inclhack.def18
-rw-r--r--fixincludes/tests/base/math.h7
3 files changed, 65 insertions, 4 deletions
diff --git a/fixincludes/fixincl.x b/fixincludes/fixincl.x
index b5cea5a..bad4904 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.
*
@@ -4518,6 +4518,36 @@ static const char* apzHpux11_Cpp_Pow_InlinePatch[] = {
/* * * * * * * * * * * * * * * * * * * * * * * * * *
*
+ * 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
*/
tSCC zHpux10_Ctype_Declarations1Name[] =
@@ -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 8400d0c..7605ac8 100644
--- a/fixincludes/inclhack.def
+++ b/fixincludes/inclhack.def
@@ -2283,6 +2283,24 @@ fix = {
};
/*
+ * 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
*/
fix = {
diff --git a/fixincludes/tests/base/math.h b/fixincludes/tests/base/math.h
index 7525fd8..29b6757 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