Here is my code to deserialize uint64_t value from a byte array:
uint8_t* s = blah;
uint64_t output =
     (((uint64_t)*s++) << 56) +
     (((uint64_t)*s++) << 48) +
     (((uint64_t)*s++) << 40) +
     (((uint64_t)*s++) << 32) +
     (((uint64_t)*s++) << 24) +
     (((uint64_t)*s++) << 16) +
     (((uint64_t)*s++) <<  8) +
     (((uint64_t)*s)        );
I am compiling this code with g++ version 5.4 on Ubuntu.
While the code works exactly as expected, I get a compile time warning on the last line:
 warning: operation on 's' may be undefined [-Wsequence-point]
Wondering what could potentially be wrong and how I can fix it. Regards.
 
     
     
    