<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">