# HG changeset patch # User terom # Date 1228797233 0 # Node ID 65295dfbbf6491bf19abf7afe9f7f418b822fe25 # Parent 033f8236241a8cfeadd3822d30b4ab8e5120ac96 fix optimization-related warnings diff -r 033f8236241a -r 65295dfbbf64 src/Logger.cc --- a/src/Logger.cc Tue Dec 09 04:31:39 2008 +0000 +++ b/src/Logger.cc Tue Dec 09 04:33:53 2008 +0000 @@ -1,7 +1,9 @@ #include "Logger.hh" -Logger::Logger (std::ostream &stream, enum LogLevel level, const char *module) : stream(stream), level(level), module(module) { +Logger::Logger (std::ostream &stream, enum LogLevel level, const char *module) : + stream(stream), level(level), module(module) +{ const char *l; switch (level) { @@ -13,11 +15,15 @@ default: l = "???"; break; }; +#ifndef NDEBUG stream << l << " [" << module << "] "; +#endif } Logger::~Logger (void) { +#ifndef NDEBUG stream << std::endl; +#endif } std::ostream& operator<< (std::ostream &s, CL_NetComputer &c) { diff -r 033f8236241a -r 65295dfbbf64 src/Logger.hh --- a/src/Logger.hh Tue Dec 09 04:31:39 2008 +0000 +++ b/src/Logger.hh Tue Dec 09 04:33:53 2008 +0000 @@ -33,7 +33,11 @@ Logger (std::ostream &stream, enum LogLevel level, const char *module); template Logger& operator<< (const T val) { +#ifndef NDEBUG stream << val; +#else + (void) val; +#endif return *this; } diff -r 033f8236241a -r 65295dfbbf64 src/Network/Buffer.hh --- a/src/Network/Buffer.hh Tue Dec 09 04:31:39 2008 +0000 +++ b/src/Network/Buffer.hh Tue Dec 09 04:33:53 2008 +0000 @@ -171,7 +171,8 @@ PrefixType prefix; // we *must* have a valid prefix - assert(peek_prefix(prefix)); + if (!peek_prefix(prefix)) + assert(false); // trim the bytes out trim(sizeof(PrefixType) + prefix); diff -r 033f8236241a -r 65295dfbbf64 src/Network/Packet.cc --- a/src/Network/Packet.cc Tue Dec 09 04:31:39 2008 +0000 +++ b/src/Network/Packet.cc Tue Dec 09 04:33:53 2008 +0000 @@ -4,6 +4,8 @@ #include "Packet.hh" +// XXX: assumes that sizeof(float32) == sizeof(int32); + /* * NetworkPacketInput */ @@ -43,8 +45,13 @@ float NetworkPacketInput::read_float32 (void) { int32_t ival = read_int32(); + float fval; + + assert(sizeof(ival) == sizeof(fval)); - return *((float *) &ival); + memcpy(&fval, &ival, sizeof(float)); + + return fval; } Vector NetworkPacketInput::read_vector (void) { @@ -87,8 +94,14 @@ write_val(val); } -void NetworkPacketOutput::write_float32 (float val) { - write_int32(*((int32_t *) &val)); +void NetworkPacketOutput::write_float32 (float fval) { + int32_t ival; + + assert(sizeof(ival) == sizeof(fval)); + + memcpy(&ival, &fval, sizeof(int32_t)); + + write_int32(ival); } void NetworkPacketOutput::write_vector (const Vector &vec) {