Confusing error: member reference base type '_Atomic(struct x)' is not a structure or union · Issue #54563 · llvm/llvm-project (original) (raw)

_Atomic struct x { int x; } x;
void f(int y)
{
    x.x = y;
}
$ clang t0.c -std=c11 -pedantic -Wall -Wextra -c
<source>:4:6: error: member reference base type '_Atomic(struct x)' is not a structure or union
    x.x = y;

The atomic structure is still a structure.

Expected to be:

accessing a member 'x' of an atomic structure 'x'

Or similar.