`/Gw` switch (optimize global data) is used by MSFT VC++ compiler to package global data in individual COMDAT sections. This switch is not supported by ICL 16.0.
However, `/Gw` can force ICL not to warn about possible issues. For example:
icl /Qstd=c++11 /Qstd=c++14 sample.cpp
causes the following warning:
icl: command line warning #10121: overriding '/Qstd=c++11' with '/Qstd=c++14'
(code in ‘sample.cpp’ doesn’t matter)
But this command:
icl /Gw /Qstd=c++11 /Qstd=c++14 sample.cpp
causes no warnings at all – compilation completes successfully. There's even no message that `/Gw` ain't supported by ICL.
Position of `/Gw` in command line doesn’t matter:
icl /Qstd=c++11 /Qstd=c++14 /Gw sample.cpp
also shows no error.