fixed couple of compilation failures with g++ (JHI) master
authorH.Merijn Brand - Tux <h.m.brand@xs4all.nl>
Wed, 17 May 2017 13:41:35 +0000 (15:41 +0200)
committerH.Merijn Brand - Tux <h.m.brand@xs4all.nl>
Wed, 17 May 2017 13:41:35 +0000 (15:41 +0200)
U/perl/infnan.U
U/perl/perlxv.U
U/perl/usekernprocpathname.U
U/perl/usensgetexecutablepath.U

index 7a248cd..a62055a 100644 (file)
@@ -6,7 +6,7 @@
 ?RCS: License or the Artistic License, as specified in the README file.
 ?RCS:
 ?MAKE:longdblinfbytes longdblnanbytes doubleinfbytes doublenanbytes: Inlibc \
-       cat i_math Compile run rm_try Setvar echo d_longdbl \
+       cat i_math i_string Compile run rm_try Setvar echo d_longdbl \
        doublekind doublesize longdblkind longdblsize
 ?MAKE: -pick add $@ %<
 ?S:longdblinfbytes:
@@ -58,9 +58,13 @@ $cat >try.c <<EOP
 #define LONG_DOUBLEKIND $longdblkind
 #endif
 #$i_math I_MATH
+#$i_string I_STRING
 #ifdef I_MATH
 #include <math.h>
 #endif
+#ifdef I_STRING
+#  include <string.h>
+#endif
 #include <stdio.h>
 /* Note that whether the sign bit is on or off
  * for NaN depends on the CPU/FPU, and possibly
@@ -77,7 +81,8 @@ $cat >try.c <<EOP
  * to even mention, causing immediate SIGFPE or equivalent: this is
  * the case with VAX floating point, for example.
  */
-static void bytes(unsigned char *p, unsigned int n) {
+static void bytes(void *v, unsigned int n) {
+  unsigned char *p = (unsigned char *)v;
   int i;
   for (i = 0; i < n; i++) {
     printf("0x%02x%s", p[i], i < n - 1 ? ", " : "\n");
index b5e0be0..e2c574b 100644 (file)
@@ -599,8 +599,9 @@ $volatile int bletched = 0;
 $signal_t blech(int s) { bletched = 1; }
 #endif
 
-int checkit($nvtype d, char *where) {
-    unsigned char *p = (char *)&d;
+int checkit($nvtype d, const char *where) {
+    void *v = &d;
+    unsigned char *p = (unsigned char *)v;
     unsigned char *end = p + sizeof(d);
     int fail = 0;
 
@@ -610,7 +611,7 @@ int checkit($nvtype d, char *where) {
     if (!fail)
        return 0;
 
-    p = (char *)&d;
+    p = (unsigned char *)v;
     printf("No - %s: 0x", where);
     while (p < end)
        printf ("%02X", *p++);
index fcc1979..4da404c 100644 (file)
@@ -65,7 +65,7 @@ main(int argc, char **argv) {
        return 4;
     }
 
-    buffer = malloc(size);
+    buffer = (char *)malloc(size);
     if (!buffer) {
        perror("malloc");
        return 5;
index 4eb61de..60c1bbd 100644 (file)
@@ -49,7 +49,7 @@ main(int argc, char **argv) {
        return 2;
     }
 
-    buffer = malloc(size);
+    buffer = (char *)malloc(size);
     if (!buffer) {
        perror("malloc");
        return 3;