| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | /* GCC-StarPU   Copyright (C) 2012 Inria   GCC-StarPU is free software: you can redistribute it and/or modify   it under the terms of the GNU General Public License as published by   the Free Software Foundation, either version 3 of the License, or   (at your option) any later version.   GCC-StarPU is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the   GNU General Public License for more details.   You should have received a copy of the GNU General Public License   along with GCC-StarPU.  If not, see <http://www.gnu.org/licenses/>.  *//* (instructions compile (cflags "-fplugin-arg-starpu-verbose")) */#ifndef STARPU_GCC_PLUGIN# error barf!#endifstatic void my_task (int x)	      /* (note "implementations for task") */  __attribute__ ((task));static void my_task_cpu (int x)  __attribute__ ((task_implementation ("cpu", my_task)));extern void my_task_cpu_sse (int x)	       /* (note "my_task_cpu_sse") */  __attribute__ ((task_implementation ("cpu", my_task)));extern void my_task_opencl (int x)		/* (note "my_task_opencl") */  __attribute__ ((task_implementation ("opencl", my_task)));extern void my_task_cuda (int x)		  /* (note "my_task_cuda") */  __attribute__ ((task_implementation ("cuda", my_task)));static voidmy_task_cpu (int x)				  /* (note "my_task_cpu") */{  /* Nothing.  */}intbar (int x){  my_task (x);					  /* (note "calls task") */  return 42;}
 |