modes.cocci 468 B

123456789101112131415161718192021222324252627282930
  1. /*
  2. * KNOWN BUGS :
  3. *
  4. * - Undefined behaviour if a codelet is used by more than one task
  5. * - buffers[x].mode must be STARPU_{R,W,RW} : cant be a variable
  6. */
  7. @r@
  8. identifier c;
  9. identifier t;
  10. expression id;
  11. constant MODE;
  12. expression H;
  13. @@
  14. t->cl = &c;
  15. <...
  16. - t->buffers[id].handle = H;
  17. + t->handles[id] = H;
  18. - t->buffers[id].mode = MODE;
  19. ...>
  20. @s depends on r@
  21. identifier r.c;
  22. expression r.id;
  23. constant r.MODE;
  24. @@
  25. struct starpu_codelet c = {
  26. ++ .modes[id] = MODE,
  27. };