diff --git a/libgomp/ChangeLog b/libgomp/ChangeLog
index 7894a7e2c162..0effe1c02082 100644
--- a/libgomp/ChangeLog
+++ b/libgomp/ChangeLog
@@ -1,3 +1,11 @@
+2015-11-03  Nathan Sidwell  <nathan@codesourcery.com>
+
+	* libgomp.h (struct acc_dispatch_t): Remove args from exec_func.
+	* plugin/plugin-nvptx.c (nvptx_exec): Remove sizes & kinds arg.
+	(GOMP_OFFLOAD_openacc_parallel): Likewise.
+	* oacc-host.c (host_openacc_exec): Likewise.
+	* oacc-parallel.c (GOACC_parallel_keyed): Adjust exec_func call.
+
 2015-11-03  Julian Brown  <julian@codesourcery.com>
 	    Thomas Schwinge  <thomas@codesourcery.com>
 
diff --git a/libgomp/libgomp.h b/libgomp/libgomp.h
index 9c8b1fb87449..23b516ee37e3 100644
--- a/libgomp/libgomp.h
+++ b/libgomp/libgomp.h
@@ -812,8 +812,8 @@ typedef struct acc_dispatch_t
   struct target_mem_desc *data_environ;
 
   /* Execute.  */
-  void (*exec_func) (void (*) (void *), size_t, void **, void **, size_t *,
-		     unsigned short *, int, unsigned *, void *);
+  void (*exec_func) (void (*) (void *), size_t, void **, void **, int,
+		     unsigned *, void *);
 
   /* Async cleanup callback registration.  */
   void (*register_async_cleanup_func) (void *);
diff --git a/libgomp/oacc-host.c b/libgomp/oacc-host.c
index 8e4ba04b465a..98748041bfcf 100644
--- a/libgomp/oacc-host.c
+++ b/libgomp/oacc-host.c
@@ -135,8 +135,6 @@ host_openacc_exec (void (*fn) (void *),
 		   size_t mapnum __attribute__ ((unused)),
 		   void **hostaddrs,
 		   void **devaddrs __attribute__ ((unused)),
-		   size_t *sizes __attribute__ ((unused)),
-		   unsigned short *kinds __attribute__ ((unused)),
 		   int async __attribute__ ((unused)),
 		   unsigned *dims __attribute ((unused)),
 		   void *targ_mem_desc __attribute__ ((unused)))
diff --git a/libgomp/oacc-parallel.c b/libgomp/oacc-parallel.c
index b150106981e1..525846b0098d 100644
--- a/libgomp/oacc-parallel.c
+++ b/libgomp/oacc-parallel.c
@@ -175,8 +175,8 @@ GOACC_parallel_keyed (int device, void (*fn) (void *),
     devaddrs[i] = (void *) (tgt->list[i].key->tgt->tgt_start
 			    + tgt->list[i].key->tgt_offset);
 
-  acc_dev->openacc.exec_func (tgt_fn, mapnum, hostaddrs, devaddrs, sizes,
-			      kinds, async, dims, tgt);
+  acc_dev->openacc.exec_func (tgt_fn, mapnum, hostaddrs, devaddrs,
+			      async, dims, tgt);
 
   /* If running synchronously, unmap immediately.  */
   if (async < acc_async_noval)
diff --git a/libgomp/plugin/plugin-nvptx.c b/libgomp/plugin/plugin-nvptx.c
index 5c9334900c20..657028e161df 100644
--- a/libgomp/plugin/plugin-nvptx.c
+++ b/libgomp/plugin/plugin-nvptx.c
@@ -877,8 +877,7 @@ event_add (enum ptx_event_type type, CUevent *e, void *h)
 
 void
 nvptx_exec (void (*fn), size_t mapnum, void **hostaddrs, void **devaddrs,
-	    size_t *sizes, unsigned short *kinds, int async, unsigned *dims,
-	    void *targ_mem_desc)
+	    int async, unsigned *dims, void *targ_mem_desc)
 {
   struct targ_fn_descriptor *targ_fn = (struct targ_fn_descriptor *) fn;
   CUfunction function;
@@ -1653,11 +1652,9 @@ void (*device_run) (int n, void *fn_ptr, void *vars) = NULL;
 void
 GOMP_OFFLOAD_openacc_parallel (void (*fn) (void *), size_t mapnum,
 			       void **hostaddrs, void **devaddrs,
-			       size_t *sizes, unsigned short *kinds,
 			       int async, unsigned *dims, void *targ_mem_desc)
 {
-  nvptx_exec (fn, mapnum, hostaddrs, devaddrs, sizes, kinds,
-	      async, dims, targ_mem_desc);
+  nvptx_exec (fn, mapnum, hostaddrs, devaddrs, async, dims, targ_mem_desc);
 }
 
 void