Fix non-determinism issue with implicit lambda captures.
We were using llvm::SmallPtrSet for our ODR-use set which was also used for instantiating the implicit lambda captures. The order in which the captures are added depends on this, so the lambda's layout ended up changing. The test just uses floats, but this was noticed with other types as well. This test replaces the short-lived SmallPtrSet (it lasts only for an expression, which, though is a long time for lambdas, is at least not forever) with a SmallSetVector.
Loading
Please register or sign in to comment