Jim Apple has posted comments on this change. Change subject: Add a build flag for the undefined behavior sanitizer, aka "ubsan". ......................................................................
Patch Set 4: (14 comments) http://gerrit.cloudera.org:8080/#/c/5082/3/be/CMakeLists.txt File be/CMakeLists.txt: Line 47: SET(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -DBOOST_SYSTEM_NO_DEPRECATED") I removed -fwrapv - I can do that in a separate patch so that performance testing tests just that one thing. http://gerrit.cloudera.org:8080/#/c/5082/3/be/src/exec/read-write-util.cc File be/src/exec/read-write-util.cc: PS3, Line 99: PutZ > PutZInteger() to be consistent with ReadZInteger() above. Done http://gerrit.cloudera.org:8080/#/c/5082/3/be/src/exprs/bit-byte-functions-ir.cc File be/src/exprs/bit-byte-functions-ir.cc: PS3, Line 152: = Overflow > I think we should assume the implementation defined behavior is the behavio Removed lambdas, removed memcpy in implementation in favor of static_cast. http://gerrit.cloudera.org:8080/#/c/5082/3/be/src/exprs/math-functions-ir.cc File be/src/exprs/math-functions-ir.cc: PS3, Line 362: te > std::abs() Done Line 364: uint64_t temp_result = 0; > Maybe we should make a utility function - UnsignedAbs() or something like t Done PS3, Line 364: esult = 0; > This shows up in a couple of places - consider putting using std::numeric_l Done http://gerrit.cloudera.org:8080/#/c/5082/3/be/src/runtime/raw-value.cc File be/src/runtime/raw-value.cc: Line 161: if (dest->len > 0) memcpy(dest->ptr, src->ptr, dest->len); > != 0 Done http://gerrit.cloudera.org:8080/#/c/5082/3/be/src/runtime/tuple.h File be/src/runtime/tuple.h: PS3, Line 76: * > extra space Done http://gerrit.cloudera.org:8080/#/c/5082/3/be/src/thirdparty/mustache/mustache.cc File be/src/thirdparty/mustache/mustache.cc: Line 361: bool is_triple = true; > Would be good to get this into the upstream mustache: https://github.com/he https://github.com/henryr/cpp-mustache/pull/1 Note that this version of mustache has diverged from upstream in a number of other ways. http://gerrit.cloudera.org:8080/#/c/5082/3/be/src/util/overflow-test.cc File be/src/util/overflow-test.cc: PS3, Line 64: betwee > between Done http://gerrit.cloudera.org:8080/#/c/5082/3/be/src/util/overflow.h File be/src/util/overflow.h: Line 94: template <typename T> > I'm not sure that I understand this comment. removed PS3, Line 95: > following Done http://gerrit.cloudera.org:8080/#/c/5082/3/be/src/util/runtime-profile.cc File be/src/util/runtime-profile.cc: PS3, Line 386: int6 > int64_t? I find this code a bit harder to follow without knowing this type. Done http://gerrit.cloudera.org:8080/#/c/5082/3/be/src/util/tuple-row-compare.h File be/src/util/tuple-row-compare.h: Line 99: (*codegend_compare_fn_)( > Long line Done -- To view, visit http://gerrit.cloudera.org:8080/5082 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-MessageType: comment Gerrit-Change-Id: I88c7234bd7c5eb7404490a0913d90470c10835e7 Gerrit-PatchSet: 4 Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-Owner: Jim Apple <[email protected]> Gerrit-Reviewer: Dan Hecht <[email protected]> Gerrit-Reviewer: Jim Apple <[email protected]> Gerrit-Reviewer: Marcel Kornacker <[email protected]> Gerrit-Reviewer: Tim Armstrong <[email protected]> Gerrit-HasComments: Yes
