Hi Stefan
Hi Marc-André,
clang's Thread Safety Analysis is being used more in the QEMU block
layer and a few limitations have been hit:
1. Mutexes that are struct fields are not supported (only global mutexes work).
2. Analysis does not extend across function pointers. See
GRAPH_RDLOCK_PTR for a workaround that is currently used.
(There was a third limitation that I don't remember. Maybe Kevin remembers.)
I heard you had clang or LLVM patches in that past that improve TSA.
Did your patches address these things? Any idea how hard it is to fix
these limitations?
I don't remember much about that work, I didn't spend that much time on it, and it was 5y ago already!
it seems I was trying to modify clang to support TSA annotations on typedef and function pointers, and warn on unmatching. I have no idea if this is still relevant. I remember dropping the effort at that time because of lack of interest or help in both projects.
-- Marc-André Lureau