Closed
Description
The last case shows that clang-21 currently treat two same-record structs without tag as compatible, while GCC doesn't.
struct {int i;} nontag;
struct tag {int i;} tagged;
static_assert(1 == _Generic(tagged, struct tag {int i;}:1, default:0)); // both 1
static_assert(0 == _Generic(tagged, struct {int i;}:1, default:0)); // both 0
static_assert(0 == _Generic(nontag, struct tag {int i;}:1, default:0)); // both 0
static_assert(0 == _Generic(nontag, struct {int i;}:1, default:0)); // gcc:0 clang:1