re PR libgomp/64972 (Build failure in libgomp for i686-w64-mingw32 target after lates...
authorKai Tietz <ktietz@redhat.com>
Wed, 25 Mar 2015 15:05:02 +0000 (16:05 +0100)
committerKai Tietz <ktietz@gcc.gnu.org>
Wed, 25 Mar 2015 15:05:02 +0000 (16:05 +0100)
PR libgomp/64972
* oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
(GOACC_data_start): Likewise.
* target.c (gomp_map_vars): Likewise.

From-SVN: r221665

libgomp/ChangeLog
libgomp/oacc-parallel.c
libgomp/target.c

index 03f66ea..6536fd3 100644 (file)
@@ -1,3 +1,10 @@
+2015-03-25  Kai Tietz  <ktietz@redhat.com>
+
+       PR libgomp/64972
+       * oacc-parallel.c (GOACC_parallel): Use PRIu64 if available.
+       (GOACC_data_start): Likewise.
+       * target.c (gomp_map_vars): Likewise.
+
 2015-03-21  John David Anglin  <danglin@gcc.gnu.org>
 
        * testsuite/libgomp.oacc-c-c++-common/reduction-4.c: Don't run on
index a300742..0c74f54 100644 (file)
@@ -31,6 +31,9 @@
 #include "libgomp_g.h"
 #include "gomp-constants.h"
 #include "oacc-int.h"
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>  /* For PRIu64.  */
+#endif
 #include <string.h>
 #include <stdarg.h>
 #include <assert.h>
@@ -99,9 +102,15 @@ GOACC_parallel (int device, void (*fn) (void *),
     gomp_fatal ("num_workers (%d) different from one is not yet supported",
                num_workers);
 
-  gomp_debug (0, "%s: mapnum=%zd, hostaddrs=%p, sizes=%p, kinds=%p, async=%d\n",
-             __FUNCTION__, mapnum, hostaddrs, sizes, kinds, async);
-
+#ifdef HAVE_INTTYPES_H
+  gomp_debug (0, "%s: mapnum=%"PRIu64", hostaddrs=%p, size=%p, kinds=%p, "
+                "async = %d\n",
+             __FUNCTION__, (uint64_t) mapnum, hostaddrs, sizes, kinds, async);
+#else
+  gomp_debug (0, "%s: mapnum=%lu, hostaddrs=%p, sizes=%p, kinds=%p, async=%d\n",
+             __FUNCTION__, (unsigned long) mapnum, hostaddrs, sizes, kinds,
+             async);
+#endif
   select_acc_device (device);
 
   thr = goacc_thread ();
@@ -178,8 +187,13 @@ GOACC_data_start (int device, size_t mapnum,
   bool host_fallback = device == GOMP_DEVICE_HOST_FALLBACK;
   struct target_mem_desc *tgt;
 
-  gomp_debug (0, "%s: mapnum=%zd, hostaddrs=%p, sizes=%p, kinds=%p\n",
-             __FUNCTION__, mapnum, hostaddrs, sizes, kinds);
+#ifdef HAVE_INTTYPES_H
+  gomp_debug (0, "%s: mapnum=%"PRIu64", hostaddrs=%p, size=%p, kinds=%p\n",
+             __FUNCTION__, (uint64_t) mapnum, hostaddrs, sizes, kinds);
+#else
+  gomp_debug (0, "%s: mapnum=%lu, hostaddrs=%p, sizes=%p, kinds=%p\n",
+             __FUNCTION__, (unsigned long) mapnum, hostaddrs, sizes, kinds);
+#endif
 
   select_acc_device (device);
 
index 50baa4d..c5dda3f 100644 (file)
@@ -33,6 +33,9 @@
 #include <limits.h>
 #include <stdbool.h>
 #include <stdlib.h>
+#ifdef HAVE_INTTYPES_H
+# include <inttypes.h>  /* For PRIu64.  */
+#endif
 #include <string.h>
 #include <assert.h>
 
@@ -438,9 +441,16 @@ gomp_map_vars (struct gomp_device_descr *devicep, size_t mapnum,
                      /* We already looked up the memory region above and it
                         was missing.  */
                      size_t size = k->host_end - k->host_start;
+#ifdef HAVE_INTTYPES_H
+                     gomp_fatal ("present clause: !acc_is_present (%p, "
+                                 "%"PRIu64" (0x%"PRIx64"))",
+                                 (void *) k->host_start,
+                                 (uint64_t) size, (uint64_t) size);
+#else
                      gomp_fatal ("present clause: !acc_is_present (%p, "
-                                 "%zd (0x%zx))", (void *) k->host_start,
-                                 size, size);
+                                 "%lu (0x%lx))", (void *) k->host_start,
+                                 (unsigned long) size, (unsigned long) size);
+#endif
                    }
                    break;
                  case GOMP_MAP_FORCE_DEVICEPTR: