<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/118516>118516</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[Clang][Driver] No warning for unknown warning flags when only linking
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:diagnostics,
clang-cl
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
Maetveis
</td>
</tr>
</table>
<pre>
When using the driver to perform linking `-W<blah>` is accepted without any diagnostic. Normally for compilation this would result in a warning like: "warning: unknown warning option '-W<blah>';".
This can have bad knock-on effects: for example it causes `clang-cl file.o -Wl,<linker-option>` to be accepted without a diagnostic. This can cause code like
https://github.com/llvm/llvm-project/blob/ebb3508899c3e1773884cf5bc1b1df6f32450ca9/clang/tools/clang-repl/CMakeLists.txt#L69-L73
to unexpectedly trigger with clang-cl.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyUUzuPqzoQ_jWmGYHA5hEKimxyqXa3utLWthnAN46NbJNs_v2VyeNoj05zGpA91nyPmY97ryaD2JHqjVTHhK9htq774BguqHwi7HDrvmY0sHplJggzwuDUBR0ECwu60bozaGVOsUrqPP0i7CA0nwn7h9Q5KA9cSlwCDnBVYbZrAG5uMCg-GeuDkhl8WnfmWt9gtA6kPS9K86CsgTArD1e76gEc-lUHUAY4XLkzEU6rExK2B0Lp4yqeVnMy9mper-yy9SK0-cGNNoS9EUozku9Jvv83QkluYOYXBMEHOBkrT6k1gOOIMvjYOxLEb35eNIIKIPnq0UfZUnMzpVLDqDRmFtIvTeiBsEO0Bl16J_HwJFgQ-AdbfpjyIrSBgLQD3gVvdOcQlsiI0J7QflJhXkUm7ZnQXuvL85cuzv6HMhDaC20FoT0Kwap8t2tbybBoGrbblXKshCxEMYz1yGhZ5ZK3hPabJEL7YK32z3PqcNGE9ocPfsJ35YPPwncglL3XbfresDu7YGE1-L2gDDjoGwSnpgndphSeVmXJ0LGhZS1PsCsaFqFbypK5Y7JCmdeyHMqyqVrajqLJ2VhIji3nLU9UR3NaFjRnRRO_WV2j4MO4awtaDRUfSZnjmSudRRcy66ZEeb9iVxS7qqgTzQVqv-08pXedbP_LfE8ojdN71FKp40V1TFy3uSrWyZMy15v8F0JQQW85OmwNqyOp3o5bVEh1hE_7Wsi4RL8v6aj55OEag2aNvj0TlaxOd389601rHNlD7qWj_wcAAP__ZO9I6g">