在 2023/7/5 09:40, Andrew Pinski via Gcc 写道:
It is wrong to use noreturn on a function other than one which has a return type of void as documented. https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-noreturn-function-attribute : ``` It does not make sense for a noreturn function to have a return type other than void. ```
It makes sense for a callback or virtual function which requires a non-void
return type, e.g.
```
class my_stream : public std::streambuf
{
protected:
virtual
int
underflow() override;
};
__attribute__((__noreturn__)) // [[noreturn]] won't work
int
my_stream::
underflow()
{
throw std::invalid_argument("not implemented");
}
```
--
Best regards,
LIU Hao
OpenPGP_signature
Description: OpenPGP digital signature
