[clang] Thread Safety Analysis: Fix implicit member access in attributes (PR #194457)
Aaron Puchert via cfe-commits
cfe-commits at lists.llvm.org
Sun May 3 14:03:40 PDT 2026
================
@@ -169,10 +169,10 @@ struct TestingMoreComplexAttributes {
} more_complex_atttributes;
void more_complex_attributes() {
- more_complex_atttributes.a = true; // expected-warning{{writing variable 'a' requires holding mutex 'lock' exclusively}}
- more_complex_atttributes.b = true; // expected-warning{{writing variable 'b' requires holding mutex 'strct.lock' exclusively}}
- *more_complex_atttributes.ptr_a = true; // expected-warning{{writing the value pointed to by 'ptr_a' requires holding mutex 'lock' exclusively}}
- *more_complex_atttributes.ptr_b = true; // expected-warning{{writing the value pointed to by 'ptr_b' requires holding mutex 'strct.lock' exclusively}}
+ more_complex_atttributes.a = true; // expected-warning{{writing variable 'a' requires holding mutex 'more_complex_atttributes..lock' exclusively}}
+ more_complex_atttributes.b = true; // expected-warning{{writing variable 'b' requires holding mutex 'more_complex_atttributes..strct.lock' exclusively}}
+ *more_complex_atttributes.ptr_a = true; // expected-warning{{writing the value pointed to by 'ptr_a' requires holding mutex 'more_complex_atttributes..lock' exclusively}}
+ *more_complex_atttributes.ptr_b = true; // expected-warning{{writing the value pointed to by 'ptr_b' requires holding mutex 'more_complex_atttributes..strct.lock' exclusively}}
----------------
aaronpuchert wrote:
We probably shouldn't write `..`, but either `.<anonymous union>.` or `.`. There must be some way of properly printing anonymous unions because other diagnostics print them right.
https://github.com/llvm/llvm-project/pull/194457
More information about the cfe-commits
mailing list