[PATCH] D122766: [clang] Use forward slash as the path separator for Windows in __FILE__, __builtin_FILE(), and std::source_location

Alan Zhao via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Apr 13 16:05:29 PDT 2022


ayzhao added a comment.

So, the general consensus seems to be that we should use backslashes when targeting Windows.

I implemented using only backslashes for Windows; however, clang/test/SemaCXX/destructor.cpp <https://github.com/llvm/llvm-project/blob/main/clang/test/SemaCXX/destructor.cpp> fails when running on Linux with the following error (among other errors, but the one below is the most important).

  ...
  error: 'error' diagnostics seen but not expected:
    Line 32: '<REDACTED_PATH_TO_LLVM_CHECKOUT_WITH_BACKSLASHES>\\clang\\test\\SemaCXX\\destructor.cpp' file not found
  ...

The reason for this is that the test has Clang target windows <https://github.com/llvm/llvm-project/blob/77d2c815f50b20d18f1207e4f442e2cf8eb8cec0/clang/test/SemaCXX/destructor.cpp#L2> and the test also has the statement #include __FILE__ <https://github.com/llvm/llvm-project/blob/77d2c815f50b20d18f1207e4f442e2cf8eb8cec0/clang/test/SemaCXX/destructor.cpp#L32>.

One way to fix this would be to have every macro that accepts a path internally convert the path to the build environment's path format, but TBH I'm not sure. What do you all think?


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122766/new/

https://reviews.llvm.org/D122766



More information about the llvm-commits mailing list