From b39baa086d1df2c35df0d7647b91cacb9e8ff8ca Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Tue, 15 Dec 2020 11:31:28 +0100 Subject: [PATCH] ARROW-10867: [C++] Workaround gcc internal compiler error Several gcc versions (from at least 7.x to 10.x) crash on the current development version of Arrow. Upstream bug report is at https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98282 --- cpp/src/arrow/datum.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/cpp/src/arrow/datum.h b/cpp/src/arrow/datum.h index 749b0c7907c..09dc870f687 100644 --- a/cpp/src/arrow/datum.h +++ b/cpp/src/arrow/datum.h @@ -100,11 +100,13 @@ ValueDescr::Shape GetBroadcastShape(const std::vector& args); struct ARROW_EXPORT Datum { enum Kind { NONE, SCALAR, ARRAY, CHUNKED_ARRAY, RECORD_BATCH, TABLE, COLLECTION }; + struct Empty {}; + // Datums variants may have a length. This special value indicate that the // current variant does not have a length. static constexpr int64_t kUnknownLength = -1; - util::Variant, std::shared_ptr, + util::Variant, std::shared_ptr, std::shared_ptr, std::shared_ptr, std::shared_ptr, std::vector> value;