<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/84072>84072</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Statement attribute on a case label suppresses 'bypassing variable initialization' error
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang,
accepts-invalid,
clang:diagnostics
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
dwblaikie
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/j4b69q1dq
```
void Func(int x) {
switch (x) {
[[likely]] case 0:
case 1:
int i = 3;
case 2:
break;
}
switch (x) {
case 0:
case 1:
int i = 3;
case 2:
break;
}
}
```
```
<source>:14:9: error: cannot jump from switch statement to this case label
14 | case 2:
| ^
<source>:13:17: note: jump bypasses variable initialization
13 | int i = 3;
|
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUlNF2sygQx59mvOE0BwcN8cKLtNYX2CdAIWZaAhYw3fbp96jdJM1uv_N9HI8wzMD8-I-oYqTBGVND-Qhlk6kpHX2o9XtnFb2SyTqvP-pjSmMEsQdsAdvB687btPFhAGw_AduXottWb7l-A94A38OWfz2LefakWTu5HnBHLrG_ASsG8nH1MsZYfKfUHxng7r--uS1wj5Zejf2AsoGyYb2KhvGZaY1c7Pxq37Q5JzEQDRMg7nZeluF1WReMev0WBbL5fdB7qtvpG7g_Ibppd3AXsuvgu_D3pniKfgq9AfEMYp8XIPYViD0zIfgwD3rlnE_sZTqN7BD86d_zxqSSORmXWPIsHSmulFZ1xl4w84KBfGK_PMccAOXz__OI-SVnDueTmfsFpPsYVYwmsrMKpDprGDlKpCx9qkTeXQHEsv_P4t7irRPfZcp0LXQlKpWZOpe82spClDI71lpKfSjxkOvDVlbb4pDz3ORbroUu0PA8oxo5FlzwEnOBQm64MOWuk7LYqrzXqoOCm5Miu7H2fJpvTkYxTqbeFVxitggZlzuI2FvlBkAEfAJE1fdmTPGB3FlZ0pf5NUrsNanB-Zioj7OvbLJQzzkeummIUHBLMcVr1kTJmvqvSz1VSoG6KRnmHVM3ZWVxGsdgFuEB5VoEcsOPVUC5fkfZFOz9D4PSceo2vT8BtjPKV_cwBv9i-gTYLmpEwHYR5J8AAAD__-tNRnk">