#1135 CLang Warnings in the reference elements
Metadata
| Property | Value |
|---|---|
| Reported by | Andreas Lauser (andreas.lauser@iws.uni-stuttgart.de) |
| Reported at | Jun 22, 2012 09:02 |
| Type | Bug Report |
| Version | 2.0 |
| Operating System | Unspecified / All |
| Last edited by | Christoph Grüninger (gruenich@iws.uni-stuttgart.de) |
| Last edited at | Feb 14, 2014 14:31 |
| Closed by | Christoph Grüninger (gruenich@iws.uni-stuttgart.de) |
| Closed at | Feb 14, 2014 14:31 |
| Closed in version | Unknown |
| Resolution | Fixed |
| Comment | I just check and got no warning anymore with Clang 3.4 and "make check" in dune-grid. |
| Kudos Clang devs! |
Description
I get plenty of clang warnings in the reference elements/generic geometries of the kind:
../../../../dune/geometry/genericgeometry/cornermapping.hh:166:38: warning: comparison of unsigned expression < 0 is always false [-Wtautological-compare] for( unsigned int i = 0; i < dim-1; ++i )
(to make 'plenty' a concrete number, for testbasicgeometry CLang produces 105 of them.) this is due to checking an unsigned variable for negativity for the specialization for dim = 1. the attached patch replaces these variables by their signed counterparts which suppresses these warnings. I would be surprised if this has an impact on the quality of the generated code, but I admit it's a bit hacky. A "clean" solution would be to fully specialize the respective classes for dim=1 which would be quite intrusive, and, AFAICS, probably would be not worth the effort.