[PATCH] D97708: [CUDA] Remove `noreturn` attribute from __assertfail().

Artem Belevich via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Mon Mar 1 10:58:12 PST 2021


tra created this revision.
tra added a reviewer: jlebar.
Herald added subscribers: bixia, yaxunl.
tra requested review of this revision.
Herald added a project: clang.

`noreturn` complicates control flow and tends to trigger a known bug in ptxas if
the assert is used within loops in sufficiently complicated code.
https://bugs.llvm.org/show_bug.cgi?id=27738


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D97708

Files:
  clang/lib/Headers/__clang_cuda_runtime_wrapper.h


Index: clang/lib/Headers/__clang_cuda_runtime_wrapper.h
===================================================================
--- clang/lib/Headers/__clang_cuda_runtime_wrapper.h
+++ clang/lib/Headers/__clang_cuda_runtime_wrapper.h
@@ -351,7 +351,7 @@
 __device__ void *malloc(size_t) __attribute((nothrow)) __attribute__((malloc));
 __device__ void __assertfail(const char *__message, const char *__file,
                              unsigned __line, const char *__function,
-                             size_t __charSize) __attribute__((noreturn));
+                             size_t __charSize);
 
 // In order for standard assert() macro on linux to work we need to
 // provide device-side __assert_fail()


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D97708.327190.patch
Type: text/x-patch
Size: 712 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20210301/2a17f536/attachment.bin>


More information about the cfe-commits mailing list