Alexey Serbin has submitted this change and it was merged. ( http://gerrit.cloudera.org:8080/23367 )
Change subject: [build] detect undefined but evaluated macros ...................................................................... [build] detect undefined but evaluated macros Undefined macros that are used in pre-processor expressions might lead to a confusion and unexpected results. One recent example of that was [1] where in PS6 the OPENSSL_VERSION_NUMBER macro was not defined and silently evaluated to 0 in webserver_options.cc. The issue was mitigated by including the necessary header file in PS7. With this update, both GCC and CLANG exit with an error if there is a non-defined, but evaluated macro in the code. I verified it worked as expected with the described issue in [1] as of PS6. Also, a few updates were necessary to the already existing code to compile the code without an error once the guard against such conditions was enabled. Where necessary, I silenced the corresponding warning since it was mostly the code imported into Kudu from other projects. [1] https://gerrit.cloudera.org/#/c/23295 Change-Id: I9f60f08b41c675a2a7307664a2ef0c7ecf8d682e Reviewed-on: http://gerrit.cloudera.org:8080/23367 Tested-by: Alexey Serbin <[email protected]> Reviewed-by: Abhishek Chennaka <[email protected]> --- M CMakeLists.txt M src/kudu/codegen/module_builder.cc M src/kudu/gutil/CMakeLists.txt M src/kudu/gutil/ref_counted.h M src/kudu/util/debug/trace_event.h M src/kudu/util/thread_restrictions.h M thirdparty/download-thirdparty.sh A thirdparty/patches/protobuf-inlined_string_field.patch 8 files changed, 23 insertions(+), 6 deletions(-) Approvals: Alexey Serbin: Verified Abhishek Chennaka: Looks good to me, approved -- To view, visit http://gerrit.cloudera.org:8080/23367 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: kudu Gerrit-Branch: master Gerrit-MessageType: merged Gerrit-Change-Id: I9f60f08b41c675a2a7307664a2ef0c7ecf8d682e Gerrit-Change-Number: 23367 Gerrit-PatchSet: 4 Gerrit-Owner: Alexey Serbin <[email protected]> Gerrit-Reviewer: Abhishek Chennaka <[email protected]> Gerrit-Reviewer: Alexey Serbin <[email protected]> Gerrit-Reviewer: Kudu Jenkins (120)
