This cmake configure option was added in
df0ba47c36f6bd0865e3286853b76d37e037c2d7, and was ported to
Bazel in 7d323dc7738e3152c4bd54a23ac27554bfbbf583.
However, the setting chosen in Bazel seems accidental, not necessarily
intentional.
LLVM_WINDOWS_PREFER_FORWARD_SLASH has no effect on Unix, and on
Windows, setting it to 0 is the default, which gets the same behaviour
as before. Setting it to 1 enables new experimental behaviours
(which is enabled by default on MinGW targets only).
As I don't see any explicit intent to opt in to the new experimental
behaviour, I believe the current configuration in bazel was a
mistake.
So this is a noop? Maybe we should just leave it off then entirely then? There's also some housekeeping stuff that didn't get done in the commit you referenced. We usually keep track of the options in https://github.com/llvm/llvm-project/blob/main/utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h as well. They're either set directly there or it mentions that they're defined in Bazel. This whole system needs to be reworked, but better to stay consistent for now. If you wouldn't mind removing mentions of LLVM_WINDOWS_PREFER_FORWARD_SLASH in this file and adding it in the approrpiatel place in the config.h overlay file, that would be great (otherwise, I'll get to it at some point)