[clang] [HLSL][TEST] Fix root signature driver test on WSL (PR #161566)
via cfe-commits
cfe-commits at lists.llvm.org
Thu Oct 2 17:27:29 PDT 2025
joaosaffran wrote:
After investigating a little further:
If validation is disabled, that leads to 2 actions being created. Otherwise, validation is enabled, it creates 3 actions in the driver, that means that without validation only emits 1 intermediary object, meanwhile, with validation emits 2. In this section of the code [https://github.com/llvm/llvm-project/blob/79d1524bde4c0253b349304e70716c3fb4f7193e/clang/lib/Driver…](https://github.com/llvm/llvm-project/blob/79d1524bde4c0253b349304e70716c3fb4f7193e/clang/lib/Driver/Driver.cpp#L62-64) We handle the root signature objcopy flags, the files are handled differently if it is the last job or not. If it is not the last job, we create a temporary file, according to the job we are handling, the first 2 are object jobs, therefore they use the extension obj. If validation is enabled, since the second job is the last one, it doesn't create another temporary file, instead it uses the value associated with /Fo arg
Here is the response in this 2 scenarios:
```
WITHOUT VALIDATION:
"/home/jderezende/llvm-project/build/bin/llvm-objcopy" "/tmp/dxc_frs-8879c7.obj" "/home/jderezende/llvm-project/build/tools/clang/test/Driver/Output/dxc_frs.hlsl.tmp.dxo" "--extract-section=RTS0=/home/jderezende/llvm-project/build/tools/clang/test/Driver/Output/dxc_frs.hlsl.tmp.rs.dxo"
WITH VALIDATION:
"/home/jderezende/llvm-project/build/bin/llvm-objcopy" "/tmp/dxc_frs-e01b84.obj" "/tmp/dxc_frs-3308ab.obj" "--extract-section=RTS0=/home/jderezende/llvm-project/build/tools/clang/test/Driver/Output/dxc_frs.hlsl.tmp.rs.dxo"
```
I think the fix will need another approach, other than change the test....
https://github.com/llvm/llvm-project/pull/161566
More information about the cfe-commits
mailing list