[COMMITED] ada: Improve CUDA host-side and device-side binder support

2022-09-26 Thread Marc Poulhiès via Gcc-patches
From: Steve Baird Binder-generated code is not allowed to use Ada2012 syntax. In order to specify an aspect, a pragma must be used. gcc/ada/ * bindgen.adb: When the binder is invoked for the device, specify the CUDA_Global aspect for the adainit and adafinal procedures via

[Ada] Improve CUDA host-side and device-side binder support

2022-09-12 Thread Marc Poulhiès via Gcc-patches
Use switches (one already existing, one newly added here) to indicate to the binder that CUDA support code is to be generated for either the host side or for the device side. Add an invocation of Adainit on the device side from Adainit on the host side; similarly for Adafinal. Tested on x86_64-pc-

[Ada] Improve CUDA host-side and device-side binder support

2022-09-12 Thread Marc Poulhiès via Gcc-patches
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. Tested