xref: /netbsd-src/external/gpl3/gdb/dist/gdb/testsuite/gdb.rocm/precise-memory.cpp (revision 32d1c65c71fbdb65a012e8392a62a757dd6853e9)
1 /* Copyright 2021-2024 Free Software Foundation, Inc.
2 
3    This file is part of GDB.
4 
5    This program is free software; you can redistribute it and/or modify
6    it under the terms of the GNU General Public License as published by
7    the Free Software Foundation; either version 3 of the License, or
8    (at your option) any later version.
9 
10    This program is distributed in the hope that it will be useful,
11    but WITHOUT ANY WARRANTY; without even the implied warranty of
12    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13    GNU General Public License for more details.
14 
15    You should have received a copy of the GNU General Public License
16    along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
17 
18 #include <hip/hip_runtime.h>
19 
20 #define CHECK(cmd)                                                           \
21   {                                                                          \
22     hipError_t error = cmd;                                                  \
23     if (error != hipSuccess)                                                 \
24       {                                                                      \
25 	fprintf (stderr, "error: '%s'(%d) at %s:%d\n",                       \
26 		 hipGetErrorString (error), error, __FILE__, __LINE__);      \
27 	exit (EXIT_FAILURE);                                                 \
28       }                                                                      \
29   }
30 
31 __global__ void
32 kernel ()
33 {
34   __builtin_amdgcn_s_sleep (1);
35 }
36 
37 int
38 main (int argc, char* argv[])
39 {
40   kernel<<<1, 1>>> ();
41   CHECK (hipDeviceSynchronize ());
42   return 0;
43 }
44