<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/117316>117316</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
False "GCC compatibility" warnings?
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
cmorve-te
</td>
</tr>
</table>
<pre>
Not sure if there is a problem here. But I don't have time to look further, and probably better to get somebody to double check.
In https://github.com/llvm/llvm-project/blob/063a6f70a6e86deb81fe6b1f24fecb7774d8cb44/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp#L1972, it seems to default to use "This diagnostic flag exists for GCC compatibility, and has no effect in Clang." in some situations. I don't fully understand the details, but I have observed a few warnings with this message in the documentation that I don't think gcc ever had.
So sure, [-Wabi](https://clang.llvm.org/docs/DiagnosticsReference.html#wabi) may be there for [gcc compatibility](https://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html#index-Wabi). It was there even in the [clang 4.0.0 documentation](https://releases.llvm.org/4.0.0/tools/clang/docs/DiagnosticsReference.html#wabi).
But then you get things as [-Wexport-unnamed](http://clang.llvm.org/docs/DiagnosticsReference.html#wexport-unnamed). Which,
- I can't find in any version of the gcc documentation.
- Was documented as a normal, valid, warning in the clang [16.0.0 documentation](https://releases.llvm.org/16.0.0/tools/clang/docs/DiagnosticsReference.html#wexport-unnamed).
-Wexport-unnamed was removed in https://github.com/llvm/llvm-project/commit/e5c7904fa0bfa5a24f192cfa7b9116560e1f5d43, which just says "This patch removes these diagnostics". It doesn't say anything about being kept as a flag for GCC compatibility.
Is it possible some warnings have not been properly removed, and ended up marked as "for GCC compatibility" incorrectly?
If so, I can list the following suspects (there may be more, specially if removed recently):
- https://clang.llvm.org/docs/DiagnosticsReference.html#wauto-import was https://releases.llvm.org/14.0.0/tools/clang/docs/DiagnosticsReference.html#wauto-import
- http://clang.llvm.org/docs/DiagnosticsReference.html#wexport-unnamed was https://releases.llvm.org/16.0.0/tools/clang/docs/DiagnosticsReference.html#wexport-unnamed
- https://clang.llvm.org/docs/DiagnosticsReference.html#wgnu-empty-initializer was https://releases.llvm.org/16.0.0/tools/clang/docs/DiagnosticsReference.html#wgnu-empty-initializer
- https://clang.llvm.org/docs/DiagnosticsReference.html#wignored-pragma-optimize was https://releases.llvm.org/14.0.0/tools/clang/docs/DiagnosticsReference.html#wignored-pragma-optimize
- https://clang.llvm.org/docs/DiagnosticsReference.html#wreturn-std-move was https://releases.llvm.org/12.0.0/tools/clang/docs/DiagnosticsReference.html#wreturn-std-move
- https://clang.llvm.org/docs/DiagnosticsReference.html#wgnu-binary-literal was https://releases.llvm.org/18.1.0/tools/clang/docs/DiagnosticsReference.html#wgnu-binary-literal
- https://clang.llvm.org/docs/DiagnosticsReference.html#wgnu-offsetof-extensions was https://releases.llvm.org/18.1.0/tools/clang/docs/DiagnosticsReference.html#wgnu-offsetof-extensions
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy8V11v4ygX_jXk5shWTOy4vsjFtH09qvRqV9odqdcYDjZTDBbgtJlfvwInnWS2I3Wn0dy0uBTOeT54sJn3qjeIO1Ldkup-xeYwWLfjo3V7zAKuOisOuz9sAD87BCUhDBgHHhhMznYaR4h_yeF2DvAAwhpC6wAD2yMENSIEC9raJ5Czi2sJvQNmRFrMOn2ADkNAF_-txwDejhhrxmdh504j8AH5U07W92T9afn5YGAIYfJk84nQltC2V2GYu5zbkdBW6_3pVzY5-xV5ILTttO0IbdfbDdvKes22eLMV2N0UErddIWkpkXd1XZfihndlSWjLNTM9oe0clPaEtl9Yp_EzGkLbuzh1r1hvrA-K-_-NKoLI-TQRuvl_0dQ04lQBPOLoExiUbNYhDmePQCj9MigP4nUTkJr1gC_KBw_SOvh8dwfcjhMLqlNahcOJuoF5MBZQSuQBlIHUTk4ojQ-RQfAqzCwoa3x-JoqctT7AbAQ6H-JOYUAQGFgCeAddkjBJZzuPbo8CGEh8hmfmjDK9h2cVBgix8xG9Zz3Gkmkby-cRTUhVIQzs3A1hUOYJes4B9-hgYOJCz79tsldsgVS32SPrFKnuCb25VDkJkkddc-uiMsLyKMyZEH-hRIeGYz6EURO6eY570QZGFp12dG9kl1S3sZ9Lgt8o2nOe92Y-VrRGK4PHuj3nhLaPCzXZn9PC97GwMgJfFii0yeEhwDPzx_q4R3PijVS3CReU-TpfX9L4Vj8ONTKP_pyHtJTQNlibnHpy7vv5uZAjnuQwoIGDndOhjPL1Hphf5MGXybqQzcawEcX3Jj8m1A-7RtIeB8UHQu-WtjJ4AM6OTlZGRAaZOcAenY-esymckssuWMxPyx-Zf52Jzo4ZZqwbmY7O2zOtRBwcvX4SaFGHVLfF9tcVWtb-okT_ZuZcrR_1SD5zONp4etUvJCW346jiACteN-tSsnUnWcVoKYuGcsnqrimKbbVdYyErUW4SaVEq-Dr7AJ4d_Gu-TSzw4dhOsr_Hs8zzhNJ0NoRFvyjr2SGqmiwHrLNzgA7j-AmnsGiWgvLNhLy8JXwM4Ml6r-I1knLxNcdSyBkbN0cTL6MJnT6ceDslLRqBAuYJRuaeFssQSn8SzjF9uXUOedAHsmmPXUjwNu6XzAta-XS4QFqt7XME5mc_IQ9x65slH45hNdolE-O0YjG6lXxV1iFHEwvRJop7tPg1AnMONlNjtFSy0jvM_aH8-V7uHMQ1s-S9MK54Rq8nR2_mDMcpHDJlVFBMq2_ofgeiNwtfEZjqjXUossmxfmSZnYIa1Tf8HZ77SekrgnMYZmcyH0QWj-t7QdEPgPqh5JUt2CnD3CHTKqBj-r14bvLiQ_67rHplSFZKj8HKDF8CmvgK4X8XrjdKL-BWYrcRzaZhK9wV9YbSutw01WrY1XW5rsSGlXUnWSnFupFdU2zLuqklL7bVSu3ompZFQWlRFE1V5WVdVmVTbaTghRRVTco1jkzpVyAr5f2Mu6KoN8V2pVmH2qfvQEoNPkOaJZTGz0K3S-8I3dx7Uq7jHfadj1VQQeOuZXr5rHnzZjzdu2TTrmand__5pSR1E7k9trvf0X8CAAD__6rk9k8">