From 657b4cd71a27a5ba17da7e1b28d509b53c2bc5d2 Mon Sep 17 00:00:00 2001 From: Antoine Pitrou Date: Tue, 30 Aug 2022 10:39:55 +0200 Subject: [PATCH] Some fixes and workarounds --- cpp/cmake_modules/SetupCxxFlags.cmake | 7 +++++++ cpp/src/arrow/compute/kernels/aggregate_internal.h | 6 +++++- dev/tasks/verify-rc/github.macos.amd64.yml | 4 ++++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/cpp/cmake_modules/SetupCxxFlags.cmake b/cpp/cmake_modules/SetupCxxFlags.cmake index d5cd2ee6bf93a..a9e23be538614 100644 --- a/cpp/cmake_modules/SetupCxxFlags.cmake +++ b/cpp/cmake_modules/SetupCxxFlags.cmake @@ -441,6 +441,13 @@ elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang" OR CMAKE_CXX_COMPILER_ID STRE # Don't complain about optimization passes that were not possible set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wno-pass-failed") + + # Avoid clang / libc++ error about C++17 aligned allocation on macOS. + # See https://chromium.googlesource.com/chromium/src/+/eee44569858fc650b635779c4e34be5cb0c73186%5E%21/#F0 + # for details. + if(APPLE) + set(CXX_ONLY_FLAGS "${CXX_ONLY_FLAGS} -fno-aligned-new") + endif() endif() # if build warning flags is set, add to CXX_COMMON_FLAGS diff --git a/cpp/src/arrow/compute/kernels/aggregate_internal.h b/cpp/src/arrow/compute/kernels/aggregate_internal.h index 8db74bfe0cd80..a7899aee7b05d 100644 --- a/cpp/src/arrow/compute/kernels/aggregate_internal.h +++ b/cpp/src/arrow/compute/kernels/aggregate_internal.h @@ -17,6 +17,8 @@ #pragma once +#include + #include "arrow/compute/kernels/util_internal.h" #include "arrow/type.h" #include "arrow/type_traits.h" @@ -173,7 +175,9 @@ enable_if_t::value, SumType> SumArray( block_sum = sum[cur_level]; sum[cur_level] = 0; ++cur_level; - DCHECK_LT(cur_level, levels); + // XXX not using DCHECK here because of a reproducible internal compiler error + // on gcc 7.5.0. + assert(cur_level < levels); cur_level_mask <<= 1; sum[cur_level] += block_sum; mask ^= cur_level_mask; diff --git a/dev/tasks/verify-rc/github.macos.amd64.yml b/dev/tasks/verify-rc/github.macos.amd64.yml index 3ab9be3157657..cdd6170289915 100644 --- a/dev/tasks/verify-rc/github.macos.amd64.yml +++ b/dev/tasks/verify-rc/github.macos.amd64.yml @@ -21,6 +21,10 @@ {% set use_conda = use_conda|default(False) %} +env: + # Current oldest supported version according to https://endoflife.date/macos + MACOSX_DEPLOYMENT_TARGET: "10.15" + jobs: verify: name: "Verify release candidate on macOS"