Hi llvm-dev, In <https://reviews.llvm.org/D35396 <https://reviews.llvm.org/D35396>>, several folks agreed that %T is a generally bad idea and should be removed, because it causes randomly flaky tests due to name collisions. This is a heads-up that I have patches to remove uses of %T throughout LLVM, Clang and compiler-rt ready to commit. Unless someone objects, I'll land them in a few days. Kuba> On 8 Aug 2017, at 16:57, Justin Bogner <mail at justinbogner.com> wrote: >> kubamracek created this revision. >> Herald added subscribers: kbarton, eraman, javed.absar, nemanjai, >> sdardis, mehdi_amini. >> >> The `%T` lit expansion expands to a common directory shared between >> all the tests in the same directory, which is unexpected and >> unintuitive, and more importantly, it's been a source of subtle race >> conditions and flaky tests. In https://reviews.llvm.org/D35396, it >> was agreed that it would be best to simply ban `%T` and only keep >> `%t`, which is unique to each test. When a test needs a temporary >> directory, it can just create one using `mkdir %t`. >> >> This patch removes `%T` in llvm. > > The patch itself (and the equivalent ones for the other repos) is > obvious enough to commit without review if we're all agreed to get rid > of %T. > > Please send a note to llvm-dev about getting rid of %T though, just in > case someone opposes for some reason and to avoid surprising out-of-tree > folks. > >> >> Repository: >> rL LLVM >> >> https://reviews.llvm.org/D36495-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170808/2949d08d/attachment.html>
Justin Bogner via llvm-dev
2017-Aug-09 01:15 UTC
[llvm-dev] Getting rid of "%T" expansions
Kuba Mracek <mracek at apple.com> writes:> In <https://reviews.llvm.org/D35396>, several folks agreed that %T is a > generally bad idea and should be removed, because it causes randomly flaky > tests due to name collisions. This is a heads-up that I have patches to > remove uses of %T throughout LLVM, Clang and compiler-rt ready to commit. > Unless someone objects, I'll land them in a few days.+1. %T is confusing and dangerous, and we don't really need it anyway.