aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteve Baird <baird@adacore.com>2022-09-07 14:15:46 -0700
committerMarc Poulhiès <poulhies@adacore.com>2022-09-12 10:16:53 +0200
commitbd548d67e7141c29d4a7b81ca893402bc2ef100a (patch)
tree0add1189211698c57ae6ca16e9f4c4653cfb839c
parentf64bfc1224be499d16d8f89596fc0791dc1c3594 (diff)
downloadgcc-bd548d67e7141c29d4a7b81ca893402bc2ef100a.zip
gcc-bd548d67e7141c29d4a7b81ca893402bc2ef100a.tar.gz
gcc-bd548d67e7141c29d4a7b81ca893402bc2ef100a.tar.bz2
[Ada] Improve CUDA host-side and device-side binder support
On the host-side, the binder now generates CUDA_Execute pragmas to invoke initialization and finalization on the device-side. The front end's expansion of these pragmas includes references to entities declared in package CUDA.Internal. Generate a with-clause so that unit will be available. gcc/ada/ * bindgen.adb: When the binder is invoked for the host, generate a "with CUDA.Internal;" with clause.
-rw-r--r--gcc/ada/bindgen.adb3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/ada/bindgen.adb b/gcc/ada/bindgen.adb
index 1b21230..b2fa44d 100644
--- a/gcc/ada/bindgen.adb
+++ b/gcc/ada/bindgen.adb
@@ -2552,6 +2552,9 @@ package body Bindgen is
if Enable_CUDA_Expansion then
WBI ("with Interfaces.C;");
WBI ("with Interfaces.C.Strings;");
+
+ -- with of CUDA.Internal needed for CUDA_Execute pragma expansion
+ WBI ("with CUDA.Internal;");
end if;
Resolve_Binder_Options (Elab_Order);