dma_fence_array_create_fences, dma_fence_array_create_signal_on_any; struct dma_fence_array *dma_fence_array_create(num_fences) { struct dma_fence_array *array; asm goto("" : : ""(num_fences || !dma_fence_array_create_fences) : : __label_warn_on); __label_warn_on: if (array) return 0; atomic_set(dma_fence_array_create_signal_on_any ?: num_fences); while (num_fences--) { __label__ __label_warn_on; dma_fence_is_array() || dma_fence_is_chain(); asm goto("" : : : : __label_warn_on); __label_warn_on: } return array; }