On Sep 20, 2012, at 7:14 AM, Joseph Galbraith <[email protected]> wrote: > On Thursday, September 20, 2012 7:57:09 AM UTC-6, Marshall Clow wrote: > On Sep 17, 2012, at 5:35 PM, Joseph Galbraith <[email protected]> wrote: > > > Building wake.cpp with clang and -std=c++11 -stdlib=libc++ generates errors > > do narrowing. I believe the following patch is the right way to fix these. > > Any chance of getting this applied (or something else that makes it build > > out of the box) ? > > This patch bothers me. > I (think I) understand the problem, and the rationale for the fix. > > But there's some subversion of the type system going on here, and it might be > better to fix that, rather than continue it. > > To summarize: > int arr [] = { > 0x12345678, > 0x89ABCFEF > }; > > Both of the values in the array are actually unsigned, and have to be > (implicitly) converted to int. > When compiling for c++11, clang (rightly) complains that 0x89ABCFEF is bigger > than the maximum number representable by an int. > > Changing the type of the array to "unsigned int" (or just unsigned) removes > the compile-time error - but does it change the algorithm? > > That was actually my first (and preferred) fix, until > I saw this comment right above the array: > > // x and z were declared as "long" in Wheeler's paper, which is a signed > type. I don't know if that was intentional, but it's too late to change it > now. -- Wei 7/4/2010 > > I just read the comment more carefully and realized it is not > referring to the array… and changing the array to unsigned int > didn't break the validation tests. > > It turns out that tt is xored with x (which is signed) > and then assigned to t, which is word32 (unsigned) ... > so I think it is okay to change tt to unsigned. > > Attached is a version of the patch that changes the array > to unsigned int.
I have tested this patch locally, and with it applied, all tests pass. [ Note that I used ToT libc++ ] -- Marshall Marshall Clow Idio Software <mailto:[email protected]> A.D. 1517: Martin Luther nails his 95 Theses to the church door and is promptly moderated down to (-1, Flamebait). -- Yu Suzuki -- You received this message because you are subscribed to the "Crypto++ Users" Google Group. To unsubscribe, send an email to [email protected]. More information about Crypto++ and this group is available at http://www.cryptopp.com.
