On 3 November 2013 09:49, Andreas Schwab wrote: > Jonathan Wakely <jwakely....@gmail.com> writes: > >> + { >> + std::experimental::optional<long> o { std::experimental::in_place, >> 0x1234ABCDF1E2D3C4 }; >> + auto copy = o; >> + VERIFY( copy ); >> + VERIFY( *copy == 0x1234ABCDF1E2D3C4 ); >> + VERIFY( o && o == 0x1234ABCDF1E2D3C4 ); >> + } > > experimental/optional/cons/copy.cc:70:20: error: no match for 'operator==' > (operand types are 'std::experimental::optional<long int>' and 'long long > int') > VERIFY( o && o == 0x1234ABCDF1E2D3C4 ); > ^
Yes, Paolo pointed out these are failing on 32-bit targets, I've got a patch coming. Luc is there any reason not to just replace all those large constants with 0x1234ABCD, which fits in a long on 32-bit targets?