Commits


Felipe Oliveira Carvalho authored and GitHub committed b40fb2c7980
GH-34206: [C++] Don't let jemalloc defines affect unity builds (#34185) Since `jemalloc.h` does # define malloc je_malloc when `JEMALLOC_MANGLE` is defined, we can get this error in CI during an unity build /arrow/cpp/src/arrow/vendored/ProducerConsumerQueue.h: In constructor 'arrow_vendored::folly::ProducerConsumerQueue<T>::ProducerConsumerQueue(uint32_t)': /arrow/cpp/src/arrow/vendored/ProducerConsumerQueue.h:82:39: error: 'je_arrow_malloc' is not a member of 'std'; did you mean 'je_arrow_malloc'? 82 | records_(static_cast<T*>(std::malloc(sizeof(T) * size))), | ^~~~~~ jemalloc_ep-prefix/src/jemalloc_ep/dist/include/jemalloc/jemalloc.h:254:32: note: 'je_arrow_malloc' declared here 254 | void JEMALLOC_SYS_NOTHROW *je_malloc(size_t size) | ^~~~~~~~~ /arrow/cpp/src/arrow/vendored/ProducerConsumerQueue.h: In destructor 'arrow_vendored::folly::ProducerConsumerQueue<T>::~ProducerConsumerQueue()': /arrow/cpp/src/arrow/vendored/ProducerConsumerQueue.h:106:10: error: 'je_arrow_free' is not a member of 'std'; did you mean 'je_arrow_free'? 106 | std::free(records_); | ^~~~ jemalloc_ep-prefix/src/jemalloc_ep/dist/include/jemalloc/jemalloc.h:269:43: note: 'je_arrow_free' declared here 269 | JEMALLOC_EXPORT void JEMALLOC_SYS_NOTHROW je_free(void *ptr) | ^~~~~~~ * Closes: #34206 Authored-by: Felipe Oliveira Carvalho <felipekde@gmail.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>