Compilation warnings (unused local typedefs)
— at Version 5
Clang compiler version 5.0 reports tons of warnings of unused local typedefs. This renders the compilation unsuccessful in Maintainer
mode.
We need a decision how to handle it.
- The majority of these warnings comes from the
*GRAPH_TYPEDEFS
macros.
- One way to avoid would be to suppress them to apply some compiler specific
#pragma
statement, but I have no idea how to do it safely and compiler independently. Can anyone help me in doing this? Is it possible to do it locally only for these typedefs?
- The other solution is to use the
ignore_unused()
templates. The attaches chgset [0f291d5010f6] does this, but it is painful, because ignore_unused()
cannot (and need not) be used in the global scope. Therefore we need to versions of all of these macros, one with the warning suppression, and one without. This is far from being convenient.
- In addition, there are couple of standalone unused local typedefs, mainly in the test codes. What shall we do with them?
- Use
ignore_unused()
for them?
- Or delete them for they are unnecessary?
- Or just comment them out and keep them for future reference?
The attached [d6aa3c2ec627] changeset is another proposal. It simply turns off the related warning globally in LEMON (and - of course - in all code that uses a lemon header).
It has already been there for Gcc versions >=4.8, now it is set for the Intel and Clang compilers, as well.
Could you please review this patch?