Are goto and destructors compatible?
<p>This code leads to undefined behavior:</p>

<pre><code>
void some_func() {
  goto undefined;
  {
    T x = T();
    undefined:
  }
}
</code></pre>

<p>The constructor is not called. </p>

<p>But what about this code? Will the destructor of x be called? I think it will be, but I want to be sure. :)</p>

<pre><code>
void some_func() {
  {
    T x = T();
    goto out;
  }
  out:
}
</code></pre>
