Godbolt example: https://godbolt.org/z/179z4fWc4
The braces in that example are basically a no-op (so why doesn't Clang accept them?)
__attribute__((naked)) int frog()
{
{ __asm__ volatile ("mov rax, 21\n" "ret"); }
}
int main(void)
{
int toad = frog();
return toad;
}