https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108439

--- Comment #5 from Georg Müller <georgmueller at gmx dot net> ---
(In reply to Andrew Pinski from comment #4)
> (In reply to Georg Müller from comment #1) 
> > Also, this compiler warning and execution error is removed by compiling with
> > -fno-strict-aliasing, but again, this does not look right.
> 
> Why do you think that is not correct? The aliasing violation causing
> undefined behavior is obvious from the stores and loads that happen from the
> source.

main() only works with its own lb_key array. It is only modified before giving
it to crap8() - it does not handle the internals of the hashing function.

crap8() takes the key as a void pointer - no assumptions about what it gets and
only converts void* to  uint32_t*, what should be fine, or?

Why is there a warning of lb_key not being initialized in the second example,
even though its only member gets initialized twice? Via the same reference...

Reply via email to