Ditto.
[[ https://docs.microsoft.com/en-us/previous-versions/b7whw3f3(v=vs.140) | /ignore:4099 ]] corresponds to "PDB 'filename' was not found with 'object/library' or at 'path'; linking object as if no debug info".
Without /ignore:4099, we can't enable /WX (treat warnings as errors).
Also, providing multiple arguments such as /ignore:4037,4049,4065,4098,4099,4217,4221 now works.
What StringRef::split returns is not an iterator, so I think It is not a very good name. Since this is not a performance-critical path, maybe this is the simplest code I could think of:
SmallVector<StringRef, 1> Vec; StringRef(Arg->getValue())->split(Vec, ','); for (StringRef S : Vec) { if (S == "4037") { ...You can find the same pattern in the code handling OPT_opt.