The MinGW driver has separate options for OS and subsystem version. Having this available in lld-link allows the MinGW driver to both match GNU ld better and simplifies the code for merging two (potentially mismatching) arguments into one.
Details
Details
Diff Detail
Diff Detail
Unit Tests
Unit Tests
Setting /subsystem from .drectve is interesting. I guess we added in D39972 (2017). The subsystem can set the entry point, I believe, which can then influence which objects are loaded.
I guess this change doesn't add any new complexity.