| Let me know what you think of this:
| Keep the current check in the front-end, but give it two flavors:
| 1. Only warn when the converted pointer is dereferenced immediately:
| *(int*)&float_var.
| 2. The original, which warns even if it is not dereferenced:
| (int*)&float_var.
| One of the two versions would be selected based on the value of
| --param wstrict-aliasing-accuracy. I would go for version 1 included
| by default, because 2 gives false positives.
The aliasing warning is less of the compiler internals tinkering than
general statements about user codes, so the use of --param is
inappropriate. If necessary, please consider extending
-Wstrict-aliasing to take an argument, e.g.
-Wstrict-aliasing=level