mstorsjo added a comment.

In D131351#3718725 <https://reviews.llvm.org/D131351#3718725>, @aaron.ballman 
wrote:

> In D131351#3718421 <https://reviews.llvm.org/D131351#3718421>, @mstorsjo 
> wrote:
>
>> I found another case of this warning, which is kinda borderline whether it 
>> really is an error not:
>>
>>   #include <stdlib.h>
>>   static _Noreturn void my_exit(void) {
>>     exit(42);
>>   }
>>   __attribute__((noreturn)) void (*handler)(void) = my_exit;
>>
>> The fix is simple though, just be consistent with `_Noreturn` vs 
>> `__attribute__((noreturn))` on both function and function pointer.
>
> Oh wow, that one is neat, weird, and I'm not certain what I think about it 
> yet.

FWIW, the source of the code here is a piece of code from glibc, distributed as 
part of gnulib and in gettext (in various older/newer copies of it). The bug 
has itself been fixed in gnulib already almost 2 years ago, as result of the 
Clang warning at the time: 
https://git.savannah.gnu.org/cgit/gnulib.git/commit/lib/obstack.c?id=0cc39712803ade7b2d4b89c36b143dad72404063
 However in this case, a (potentially old) packaged tarball of gettext 
contained two older copies of the file.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131351/new/

https://reviews.llvm.org/D131351

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to