<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/111726>111726</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
A [[nonblocking]] destructor can trigger a bogus "missing exception specification" warning
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dougsonos
</td>
</tr>
</table>
<pre>
```
class Foo {
public:
Foo();
void bar() [[clang::nonblocking]];
~Foo() [[clang::nonblocking]];
};
void Foo::bar() // no diagnostic
{
}
Foo::~Foo() // error: '~Foo' is missing exception specification 'noexcept'
{
}
```
Seems to come from `Sema::CheckEquivalentExceptionSpec`. Something about the function effect being part of the type triggers this.
I can look at this.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUk9GOmzoQhp_G3Iw2MgOB5YKL5Owines8gTED-KzxcGyT7d702Ssgm6Zqq6qSZbB_-5t_mEGFYAZHVIvjWRxfErXEkX3d8TIEdhySlruPWhTyNuSLkCdtVQjQMIMoz_vWvLTWaJGd9qWQVcMs8FlgJbLzffP-cmXTQav8fgS26GdtlRtWRnZy7FrL-s24QRxf1vErytd7kL8ilI-0dd7crKzt5oMtbAQ24Bg6owbHIRr9yXiAPZDukEdrO4W8Zy-yEwgsd7UEE2AyIRg3AH3RNEfDDsJM2vRGq20lsHS8iwLL30b_sUL7fCGaAkQGzRNB73kCUcgLTWr3-M9I-u31_8VclSUXXz8dXGbSopAHuPBEcVzdqZaXCHEk6BenN2PU96QjtLTqs_IRuN9OxI-ZIHozDOQDxNGEw6Orf0ErB5b5DVTc5aSrs67KKpVQnZb4nFfHZ8RkrFNE3aWy6gqVdblusStLKfNe9URdVerE1CgxT6Ws0jLPcjxgWhx1nlKnZNGS7kUuaVLGHqy9Tgf2Q2JCWKhO07TEIrGqJRu27kd09A6bKhDXn8HX66WndhmCyKU1IYbvmGiipfp0a7yfug06CtEvOrLf8r19D1DQ8rAEEIh_qLxAhHflnXFDsnhbjzHOYS3c1k6DiePSHjRPApvV1O3xNHv-j3QU2GypBIHNLddrjd8CAAD__0H4Lsg">