This is issue 106593: https://github.com/llvm/llvm-project/issues/106593
You can work round it by adding a tag to the struct type definiton:
typedef volatile struct my_vdata { int a; } my_vdata_t;