Closed OfekShilon closed 11 months ago
MS's
cl.exe
is not a driver that can invoke the linker.
that not true
https://learn.microsoft.com/en-us/cpp/build/reference/cl-invokes-the-linker?view=msvc-170
CL automatically invokes the linker after compiling unless the /c option is used.
@LowLevelMahn thanks, didn't know this. Will close the issue.
and "yes" please, integrate MSVC into your testing - you will find many ICEs :)
this would definitely be interesting but I'm not sure any of us has the time to test this compiler right now (I don't even know if any of us has a Windows machine at all).
but I agree that we want yarpgen to work, for some reasonable value of work, on windows.
@regehr I made some changes on my fork towards the end of being able to run on windows - but the main obstacle is the use of multiprocessing
. On linux a new process is fork
ed, on windows it is spawned
- and many globals that are initialized only in main do not survive the spawn. As far as I can see solving this would require some re-design.
You can imitate the problem on linux by calling multiprocessing.set_start_method("spawn")
from main on linux too. Perhaps you have any idea how to support spawning?
Perhaps yarpgen can be made to use threading instead of multiprocessing?
I think MSVC has a lot to gain from this tool, really hope this can be made possible.
Unlike clang/gcc, MS's
cl.exe
is not a driver that can invoke the linker. Is there some test_sets.txt setting that can get generated programs to build?