With clice 0.1.0+ga4070b7 on Windows, an MSVC compile command containing /W3 unexpectedly enables -Weverything. The same compile_commands.json works as expected with clangd.
Relevant compile_commands.json entry, with paths simplified:
[
{
"directory": "C:/repro",
"file": "C:/repro/W3.cpp",
"arguments": [
"cl.exe",
"/nologo",
"/TP",
"/EHsc",
"/std:c++17",
"/W3",
"-c",
"C:/repro/W3.cpp"
]
}
]
clice query --method compileCommand returns -Weverything in the resolved frontend arguments, which enables unexpected warnings such as:
variadic templates are incompatible with C++98
Replacing /W3 with /Wall produces the same -Weverything flag. Removing the warning option removes that flag.
According to [Microsoft’s documentation](https://learn.microsoft.com/en-us/cpp/build/reference/compiler-option-warning-level):
/W3: Reports warnings at levels 1–3.
/Wall: Reports all /W4 warnings, plus warnings that are normally disabled.
clice effectively applies /Wall behavior to /W3.
Here are the logs
clice-minimal-logs-only-20260917-193350.zip
With clice
0.1.0+ga4070b7on Windows, an MSVC compile command containing/W3unexpectedly enables-Weverything. The samecompile_commands.jsonworks as expected with clangd.Relevant
compile_commands.jsonentry, with paths simplified:[ { "directory": "C:/repro", "file": "C:/repro/W3.cpp", "arguments": [ "cl.exe", "/nologo", "/TP", "/EHsc", "/std:c++17", "/W3", "-c", "C:/repro/W3.cpp" ] } ]clice query --method compileCommandreturns-Weverythingin the resolved frontend arguments, which enables unexpected warnings such as:Replacing
/W3with/Wallproduces the same-Weverythingflag. Removing the warning option removes that flag.According to [Microsoft’s documentation](https://learn.microsoft.com/en-us/cpp/build/reference/compiler-option-warning-level):
/W3: Reports warnings at levels 1–3./Wall: Reports all/W4warnings, plus warnings that are normally disabled.clice effectively applies
/Wallbehavior to/W3.Here are the logs
clice-minimal-logs-only-20260917-193350.zip