This patch renames PDB/calling-conventions.test to calling-conventions-x86.test.
Also restrict it to run only for target-x86*.
This patch also adds a arm specific test PDB/calling-conventions-arm.test which
tests that x86 specifc calling convention decorators are ignored by Arm compiler.
Details
Diff Detail
Event Timeline
There's consistent typos about the test name in the commit subject and description.
lldb/test/Shell/SymbolFile/PDB/calling-conventions-arm.test | ||
---|---|---|
2 | Hmm, I wasn't aware of the fact that you can do such || expressions in the REQUIRES line - I presume you've verified that this test actually does get picked up and executed? | |
3 | Here, there's probably no need to force it to 32 bit mode - unless we expect to have a similar test for the undecorated mangling in aarch64 and x86_64 mode too? |
It seems like this is not actually running the code. Can we make it such that these tests are conditional on the appropriate llvm targets being enabled (instead of the host being of a specific type)?
Thanks, this looks more complete and consistent to me now!
Well it does need being able to link executables for these targets, which you generally can't rely on I think? (I don't think the %build macro in general works as a cross compiler?)
We can compile the test on linux as it doesnt require any libraries i-e --nodefaultlib. However its MS DIA SDK based PDB test which is only available on system windows. NATIVE PDB reader tests are already being run independently.
What Omair said. And, generally speaking, I'm not convinced of the usefulness of the %build script. It lacked sufficient buy-in from the start is now pretty much exclusively used for windows tests. It supports both cross-compilation and host-compilation modes, but it's very inconsistent about which one it uses for a particular combination of flags and compilers.
Overall, I don't think we need any kind of scripts for cross-compilation -- we can just issue appropriate clang and lld commands ourselves. There /might/ be a use case for host-compilation, but I suspect that could also be achieved with more conventional means (a couple of well-placed substitutions).
Ok, that makes sense. Thanks.
Hmm, I wasn't aware of the fact that you can do such || expressions in the REQUIRES line - I presume you've verified that this test actually does get picked up and executed?