tree c45da24e48f2aa59235f8b30bd280e2e999dd8f0
parent 5a645109c3a965dcaab08e3485f2fa505e44cde3
author Timm Baeder <tbaeder@redhat.com> 1745573014 +0200
committer GitHub <noreply@github.com> 1745573014 +0200
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsFcBAABCAAQBQJoC1SWCRC1aQ7uu5UhlAAAl+AQACCj3eTnx1YK4QNFINpee4ab
 cZZowK/syPs6PIfQ1doN/gclrSuHnNl/gvlf/F+/z836n/yRHwZU41ebLJD+zB08
 Q9Jl4R4G5YYBBTcoDqWVf59di5VOsncMGB6z0jUEPqM6MZBDyDd1nwcjioU7qVPs
 6X0ux7CrWHhNC7tptQrWf8bmJl2E69iQPCXgveVX8sizdpdfkHFPpgbT2Lralha+
 8/jSSoiCgUqHQzyWcteQb3bvEYkxGEOIOZZ7I32/WmNPqiI+TTXKKSVcILyETgdu
 jTMs8FeO2nR0lWnn0/HDgLN4doJ0q5Bj7M7088Pyi/aOPvSEqSZ5XvKx4rTDL13a
 Q77hc9/U6JdbkoQ+myb87JPrvbfgk2MQ0KhaomrgaXO1S00v7bhZxNYx0OaFjbLI
 RQ8R0grsdoJ/2bnOWWmwjlOncC/2i+YW79cWpXyinWI4G9jnth/eOAtRadbdYJp8
 sTAxzQlw2RvHkPcrnuSErvMVkeYjd5aPYhtn/FX2NpRvYongovcSx2B7FtoStO33
 TrFWRrTVjYIVHzoGlW1UyutGNWMBnaLYrXO8xsd331HHf/awde4jzucRDticuYd2
 IPwRcCYi7wg2SRKMh2ahyXxRmYpLVKU9gjAE/rtcuJ+ed8qGi0CKEot6hxs3LtRd
 BGKnYTE6Bw5SyWofkoLN
 =6Udu
 -----END PGP SIGNATURE-----
 

[clang][bytecode] Propagate IsVolatile bit to subobjects (#137293)

For
```c++
  struct S {
    constexpr S(int=0) : i(1) {}
    int i;
  };
  constexpr volatile S vs;
```

reading from `vs.i` is not allowed, even though `i` is not volatile
qualified. Propagate the IsVolatile bit down the hierarchy, so we know
reading from `vs.i` is a volatile read.