Hi, We have the below code where this warning gets generated.
#include <iostream> [[noreturn]] inline void abc () noexcept { std::terminate (); } using MyNoReturn = void (*) () noexcept; //using MyNoReturn = std::add_pointer_t<decltype(abc)>; // even this declaration, instead of the above, gives the same warning [[noreturn]] inline void IDontReturn () noexcept { std::terminate (); } static MyNoReturn gvar {IDontReturn}; [[noreturn]] inline void CallIDontReturn () noexcept { gvar (); // here is where clang gives warning: function declared 'noreturn' should not return [-Winvalid-noreturn] } We have the used the below command to compile: clang++ -std=c++17 -Wall -o runusing usingst.cpp gcc does not show this warning. Please let us know how we can use 'using' clause to declare function pointer to a function that does not return, so that this warning does not show up. Regards, Manu
_______________________________________________ cfe-users mailing list cfe-users@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-users