On Thu, 2008-09-11 at 15:13 +0200, Peter Eriksson wrote:
Anyway, I've set up a small test case that tries to mimic the code in question (attached). Build with either of the following commands:
I simplified it further, attached. The interesting thing is that this bug shows up only when destroyed is a bitfield. For example:
unsigned char destroyed; -> ok unsigned int destroyed; -> ok unsigned int destroyed:1; -> fail unsigned int destroyed:8; -> fail unsigned int destroyed:31; -> fail unsigned int destroyed:32; -> ok
This feels like a compiler bug to me. Any ideas where this could be reported to? :)
What makes me a bit worried is if there are other parts of Dovecot that uses similar coding that might trigger similar problem again in the futured.
Possibly.