You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@orc.apache.org by om...@apache.org on 2019/12/06 21:26:29 UTC

[orc] 02/03: ORC-552: Fix c++ compilation for centos 6 and 8, and MacOs 10.14.

This is an automated email from the ASF dual-hosted git repository.

omalley pushed a commit to branch branch-1.4
in repository https://gitbox.apache.org/repos/asf/orc.git

commit 6ecc8eb33a51c09ae4721bee3b78e67921d0d59b
Author: Owen O'Malley <om...@apache.org>
AuthorDate: Mon Oct 14 14:40:06 2019 -0700

    ORC-552: Fix c++ compilation for centos 6 and 8, and MacOs 10.14.
    
    Fixes #436
    
    Signed-off-by: Owen O'Malley <om...@apache.org>
---
 CMakeLists.txt               |  1 +
 c++/src/ColumnPrinter.cc     | 56 ++++++++++++++++++++++----------------------
 c++/src/Vector.cc            | 28 +++++++++++-----------
 c++/src/wrap/gmock.h         |  1 +
 c++/src/wrap/gtest-wrapper.h |  1 +
 c++/test/TestColumnReader.cc |  3 +++
 6 files changed, 48 insertions(+), 42 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index cc45a6b..dbe5009 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -86,6 +86,7 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
   set (WARN_FLAGS "${WARN_FLAGS} -Wno-c++98-compat-pedantic -Wno-padded")
   set (WARN_FLAGS "${WARN_FLAGS} -Wno-covered-switch-default")
   set (WARN_FLAGS "${WARN_FLAGS} -Wno-missing-noreturn -Wno-unknown-pragmas")
+  set (WARN_FLAGS "${WARN_FLAGS} -Wno-gnu-zero-variadic-macro-arguments")
   set (WARN_FLAGS "${WARN_FLAGS} -Wconversion")
   if (CMAKE_HOST_APPLE AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "11.0")
     set (WARN_FLAGS "${WARN_FLAGS} -Wno-c++2a-compat")
diff --git a/c++/src/ColumnPrinter.cc b/c++/src/ColumnPrinter.cc
index 379ef0b..b4b5860 100644
--- a/c++/src/ColumnPrinter.cc
+++ b/c++/src/ColumnPrinter.cc
@@ -289,8 +289,8 @@ namespace orc {
     return std::unique_ptr<ColumnPrinter>(result);
   }
 
-  VoidColumnPrinter::VoidColumnPrinter(std::string& buffer
-                                       ): ColumnPrinter(buffer) {
+  VoidColumnPrinter::VoidColumnPrinter(std::string& _buffer
+                                       ): ColumnPrinter(_buffer) {
     // PASS
   }
 
@@ -302,8 +302,8 @@ namespace orc {
     writeString(buffer, "null");
   }
 
-  LongColumnPrinter::LongColumnPrinter(std::string& buffer
-                                       ): ColumnPrinter(buffer),
+  LongColumnPrinter::LongColumnPrinter(std::string& _buffer
+                                       ): ColumnPrinter(_buffer),
                                           data(nullptr) {
     // PASS
   }
@@ -324,9 +324,9 @@ namespace orc {
     }
   }
 
-  DoubleColumnPrinter::DoubleColumnPrinter(std::string& buffer,
+  DoubleColumnPrinter::DoubleColumnPrinter(std::string& _buffer,
                                            const Type& type
-                                           ): ColumnPrinter(buffer),
+                                           ): ColumnPrinter(_buffer),
                                               data(nullptr),
                                               isFloat(type.getKind() == FLOAT){
     // PASS
@@ -348,8 +348,8 @@ namespace orc {
     }
   }
 
-  Decimal64ColumnPrinter::Decimal64ColumnPrinter(std::string& buffer
-                                                 ): ColumnPrinter(buffer),
+  Decimal64ColumnPrinter::Decimal64ColumnPrinter(std::string& _buffer
+                                                 ): ColumnPrinter(_buffer),
                                                     data(nullptr),
                                                     scale(0) {
     // PASS
@@ -398,8 +398,8 @@ namespace orc {
     }
   }
 
-  Decimal128ColumnPrinter::Decimal128ColumnPrinter(std::string& buffer
-                                                   ): ColumnPrinter(buffer),
+  Decimal128ColumnPrinter::Decimal128ColumnPrinter(std::string& _buffer
+                                                   ): ColumnPrinter(_buffer),
                                                       data(nullptr),
                                                       scale(0) {
      // PASS
@@ -419,8 +419,8 @@ namespace orc {
      }
    }
 
-  StringColumnPrinter::StringColumnPrinter(std::string& buffer
-                                           ): ColumnPrinter(buffer),
+  StringColumnPrinter::StringColumnPrinter(std::string& _buffer
+                                           ): ColumnPrinter(_buffer),
                                               start(nullptr),
                                               length(nullptr) {
     // PASS
@@ -470,9 +470,9 @@ namespace orc {
     }
   }
 
-  ListColumnPrinter::ListColumnPrinter(std::string& buffer,
+  ListColumnPrinter::ListColumnPrinter(std::string& _buffer,
                                        const Type& type
-                                       ): ColumnPrinter(buffer),
+                                       ): ColumnPrinter(_buffer),
                                           offsets(nullptr) {
     elementPrinter = createColumnPrinter(buffer, type.getSubtype(0));
   }
@@ -499,9 +499,9 @@ namespace orc {
     }
   }
 
-  MapColumnPrinter::MapColumnPrinter(std::string& buffer,
+  MapColumnPrinter::MapColumnPrinter(std::string& _buffer,
                                      const Type& type
-                                     ): ColumnPrinter(buffer),
+                                     ): ColumnPrinter(_buffer),
                                         offsets(nullptr) {
     keyPrinter = createColumnPrinter(buffer, type.getSubtype(0));
     elementPrinter = createColumnPrinter(buffer, type.getSubtype(1));
@@ -534,9 +534,9 @@ namespace orc {
     }
   }
 
-  UnionColumnPrinter::UnionColumnPrinter(std::string& buffer,
+  UnionColumnPrinter::UnionColumnPrinter(std::string& _buffer,
                                            const Type& type
-                                         ): ColumnPrinter(buffer),
+                                         ): ColumnPrinter(_buffer),
                                             tags(nullptr),
                                             offsets(nullptr) {
     for(unsigned int i=0; i < type.getSubtypeCount(); ++i) {
@@ -577,9 +577,9 @@ namespace orc {
     }
   }
 
-  StructColumnPrinter::StructColumnPrinter(std::string& buffer,
+  StructColumnPrinter::StructColumnPrinter(std::string& _buffer,
                                            const Type& type
-                                           ): ColumnPrinter(buffer) {
+                                           ): ColumnPrinter(_buffer) {
     for(unsigned int i=0; i < type.getSubtypeCount(); ++i) {
       fieldNames.push_back(type.getFieldName(i));
       fieldPrinter.push_back(createColumnPrinter(buffer,
@@ -621,8 +621,8 @@ namespace orc {
     }
   }
 
-  DateColumnPrinter::DateColumnPrinter(std::string& buffer
-                                       ): ColumnPrinter(buffer),
+  DateColumnPrinter::DateColumnPrinter(std::string& _buffer
+                                       ): ColumnPrinter(_buffer),
                                           data(nullptr) {
     // PASS
   }
@@ -647,8 +647,8 @@ namespace orc {
     data = dynamic_cast<const LongVectorBatch&>(batch).data.data();
   }
 
-  BooleanColumnPrinter::BooleanColumnPrinter(std::string& buffer
-                                             ): ColumnPrinter(buffer),
+  BooleanColumnPrinter::BooleanColumnPrinter(std::string& _buffer
+                                             ): ColumnPrinter(_buffer),
                                                 data(nullptr) {
     // PASS
   }
@@ -666,8 +666,8 @@ namespace orc {
     data = dynamic_cast<const LongVectorBatch&>(batch).data.data();
   }
 
-  BinaryColumnPrinter::BinaryColumnPrinter(std::string& buffer
-                                           ): ColumnPrinter(buffer),
+  BinaryColumnPrinter::BinaryColumnPrinter(std::string& _buffer
+                                           ): ColumnPrinter(_buffer),
                                               start(nullptr),
                                               length(nullptr) {
     // PASS
@@ -697,8 +697,8 @@ namespace orc {
     length = dynamic_cast<const StringVectorBatch&>(batch).length.data();
   }
 
-  TimestampColumnPrinter::TimestampColumnPrinter(std::string& buffer
-                                                 ): ColumnPrinter(buffer),
+  TimestampColumnPrinter::TimestampColumnPrinter(std::string& _buffer
+                                                 ): ColumnPrinter(_buffer),
                                                     seconds(nullptr),
                                                     nanoseconds(nullptr) {
     // PASS
diff --git a/c++/src/Vector.cc b/c++/src/Vector.cc
index d5df7f7..59ad7ff 100644
--- a/c++/src/Vector.cc
+++ b/c++/src/Vector.cc
@@ -56,9 +56,9 @@ namespace orc {
     return false;
   }
 
-  LongVectorBatch::LongVectorBatch(uint64_t capacity, MemoryPool& pool
-                     ): ColumnVectorBatch(capacity, pool),
-                        data(pool, capacity) {
+  LongVectorBatch::LongVectorBatch(uint64_t _capacity, MemoryPool& pool
+                     ): ColumnVectorBatch(_capacity, pool),
+                        data(pool, _capacity) {
     // PASS
   }
 
@@ -84,9 +84,9 @@ namespace orc {
         static_cast<uint64_t>(data.capacity() * sizeof(int64_t));
   }
 
-  DoubleVectorBatch::DoubleVectorBatch(uint64_t capacity, MemoryPool& pool
-                   ): ColumnVectorBatch(capacity, pool),
-                      data(pool, capacity) {
+  DoubleVectorBatch::DoubleVectorBatch(uint64_t _capacity, MemoryPool& pool
+                   ): ColumnVectorBatch(_capacity, pool),
+                      data(pool, _capacity) {
     // PASS
   }
 
@@ -112,10 +112,10 @@ namespace orc {
           + static_cast<uint64_t>(data.capacity() * sizeof(double));
   }
 
-  StringVectorBatch::StringVectorBatch(uint64_t capacity, MemoryPool& pool
-               ): ColumnVectorBatch(capacity, pool),
-                  data(pool, capacity),
-                  length(pool, capacity) {
+  StringVectorBatch::StringVectorBatch(uint64_t _capacity, MemoryPool& pool
+               ): ColumnVectorBatch(_capacity, pool),
+                  data(pool, _capacity),
+                  length(pool, _capacity) {
     // PASS
   }
 
@@ -400,12 +400,12 @@ namespace orc {
     return value.toDecimalString(scale);
   }
 
-  TimestampVectorBatch::TimestampVectorBatch(uint64_t capacity,
+  TimestampVectorBatch::TimestampVectorBatch(uint64_t _capacity,
                                              MemoryPool& pool
-                                             ): ColumnVectorBatch(capacity,
+                                             ): ColumnVectorBatch(_capacity,
                                                                   pool),
-                                                data(pool, capacity),
-                                                nanoseconds(pool, capacity) {
+                                                data(pool, _capacity),
+                                                nanoseconds(pool, _capacity) {
     // PASS
   }
 
diff --git a/c++/src/wrap/gmock.h b/c++/src/wrap/gmock.h
index bbf7956..2873f62 100644
--- a/c++/src/wrap/gmock.h
+++ b/c++/src/wrap/gmock.h
@@ -21,6 +21,7 @@
 #include "Adaptor.hh"
 
 DIAGNOSTIC_PUSH
+DIAGNOSTIC_IGNORE("-Wconversion")
 DIAGNOSTIC_IGNORE("-Wdeprecated")
 DIAGNOSTIC_IGNORE("-Wmissing-noreturn")
 DIAGNOSTIC_IGNORE("-Wpadded")
diff --git a/c++/src/wrap/gtest-wrapper.h b/c++/src/wrap/gtest-wrapper.h
index a14f6c3..859fee6 100644
--- a/c++/src/wrap/gtest-wrapper.h
+++ b/c++/src/wrap/gtest-wrapper.h
@@ -33,6 +33,7 @@ DIAGNOSTIC_IGNORE("-Wsign-compare")
 
 DIAGNOSTIC_PUSH
 
+DIAGNOSTIC_IGNORE("-Wconversion")
 DIAGNOSTIC_IGNORE("-Wdeprecated")
 DIAGNOSTIC_IGNORE("-Wmissing-noreturn")
 DIAGNOSTIC_IGNORE("-Wpadded")
diff --git a/c++/test/TestColumnReader.cc b/c++/test/TestColumnReader.cc
index cfc34e8..7845c74 100644
--- a/c++/test/TestColumnReader.cc
+++ b/c++/test/TestColumnReader.cc
@@ -32,6 +32,9 @@
 #ifdef __clang__
   DIAGNOSTIC_IGNORE("-Winconsistent-missing-override")
 #endif
+#ifdef __GNUC__
+  DIAGNOSTIC_IGNORE("-Wparentheses")
+#endif
 
 namespace orc {