The -Wunsafe-buffer-usage analysis outputs diagnostics in the order of pointer values to associated VarDecls. This creates non-determinism in the order of diagnostics in output since it cannot be guaranteed in pointer values. However, our fix-it tests were written under the assumption that diagnostics are output in source location order. This results in non-deterministic failures in our tests when diagnostics are not output in source location order, such as
buildbot fail (We disabled the test for windows but didn't understand the failure that time).
The reason that a test fail, albeit possible, is much less likely than a test pass is probably because pointer values to AST nodes nearly respect to the order of node creation/parse.
Warnings are still emitted in non-deterministic order within a single VarDecl group. But it should not affect test results.