The following change fixes the build of libgfortran on hppa*-hp-hpux[01]*.

Tested on hppa64-hp-hpux11.11 and hppa2.0w-hp-hpux11.11.  Committed to trunk.

Dave
---

Fix libgfortran build on hppa*-hp-hpux[01]*

Add include hack to define PRIdPTR, PRIiPTR, PRIoPTR, PRIuPTR, PRIxPTR
and PRIXPTR in inttypes.h.

2021-08-30  John David Anglin  <dang...@gcc.gnu.org>

fixincludes/ChangeLog:
        * inclhack.def (hpux_c99_inttypes5): New hack to define PRIdPTR, etc.
        * fixincl.x: Regenerate.
        * tests/base/inttypes.h: Update.

diff --git a/fixincludes/inclhack.def b/fixincludes/inclhack.def
index b7ad6982e96..46e3b8c993a 100644
--- a/fixincludes/inclhack.def
+++ b/fixincludes/inclhack.def
@@ -2668,6 +2668,34 @@ fix = {
                "#define SCNxMAX SCNx32\n";
 };

+/*
+ * Fix missing PRIdPTR defines in inttypes.h
+ */
+fix = {
+    hackname  = hpux_c99_inttypes5;
+    mach      = "hppa*-hp-hpux11.[01]*";
+    files     = inttypes.h;
+    select    = "#ifndef[ \t]_KERNEL[ \t]*\n";
+    c_fix     = format;
+    c_fix_arg = "#ifndef __LP64__\n"
+               "#define PRIdPTR\t\tPRId32\n"
+               "#define PRIiPTR\t\tPRIi32\n"
+               "#define PRIoPTR\t\tPRIo32\n"
+               "#define PRIuPTR\t\tPRIu32\n"
+               "#define PRIxPTR\t\tPRIx32\n"
+               "#define PRIXPTR\t\tPRIX32\n"
+               "#else\n"
+               "#define PRIdPTR\t\tPRId64\n"
+               "#define PRIiPTR\t\tPRIi64\n"
+               "#define PRIoPTR\t\tPRIo64\n"
+               "#define PRIuPTR\t\tPRIu64\n"
+               "#define PRIxPTR\t\tPRIx64\n"
+               "#define PRIXPTR\t\tPRIX64\n"
+               "#endif\n\n"
+               "#ifndef _KERNEL\n";
+    test_text = "#ifndef _KERNEL\n";
+};
+
 /*
  *  Fix hpux broken ctype macros
  */
diff --git a/fixincludes/tests/base/inttypes.h 
b/fixincludes/tests/base/inttypes.h
index 144ea6596e8..9c1f93eb736 100644
--- a/fixincludes/tests/base/inttypes.h
+++ b/fixincludes/tests/base/inttypes.h
@@ -42,3 +42,25 @@
 #define SCNuMAX         SCNu32

 #endif  /* HPUX_C99_INTTYPES4_CHECK */
+
+
+#if defined( HPUX_C99_INTTYPES5_CHECK )
+#ifndef __LP64__
+#define PRIdPTR                PRId32
+#define PRIiPTR                PRIi32
+#define PRIoPTR                PRIo32
+#define PRIuPTR                PRIu32
+#define PRIxPTR                PRIx32
+#define PRIXPTR                PRIX32
+#else
+#define PRIdPTR                PRId64
+#define PRIiPTR                PRIi64
+#define PRIoPTR                PRIo64
+#define PRIuPTR                PRIu64
+#define PRIxPTR                PRIx64
+#define PRIXPTR                PRIX64
+#endif
+
+#ifndef _KERNEL
+
+#endif  /* HPUX_C99_INTTYPES5_CHECK */

Reply via email to