From e4ec381f2cf538ff9ed5f3deef6280d5912ace77 Mon Sep 17 00:00:00 2001 From: Rainer Orth Date: Wed, 3 Aug 2022 11:48:44 +0200 Subject: [mlir] Fix Analysis/Presburger/Utils.cpp compilation with GCC 11 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit As reported in Issue #56850, mlir/lib/Analysis/Presburger/Utils.cpp doesn't compile on Solaris 11.4/SPARC with the bundled GCC 11, as seen when testing LLVM 15.0.0 rc1: /var/llvm/reltest/llvm-15.0.0-rc1/rc1/llvm-project/mlir/include/mlir/Analysis/Presburger/MPInt.h:260:47: error: inlining failed in call to ‘always_inline’ ‘int64_t mlir::presburger::int64FromMPInt(const mlir::presburger::MPInt&)’: indirect function call with a yet undetermined callee This patch hacks around this and allowed the build to finish. Tested on `sparcv9-sun-solaris2.11`. Differential Revision: https://reviews.llvm.org/D131060 (cherry picked from commit 75747e6e11aed9ed75d27527e9262cedb2e3f887) --- mlir/include/mlir/Analysis/Presburger/MPInt.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/mlir/include/mlir/Analysis/Presburger/MPInt.h b/mlir/include/mlir/Analysis/Presburger/MPInt.h index e7c2de0a504a..ab21d32fe901 100644 --- a/mlir/include/mlir/Analysis/Presburger/MPInt.h +++ b/mlir/include/mlir/Analysis/Presburger/MPInt.h @@ -257,9 +257,7 @@ llvm::hash_code hash_value(const MPInt &x); // NOLINT /// This just calls through to the operator int64_t, but it's useful when a /// function pointer is required. (Although this is marked inline, it is still /// possible to obtain and use a function pointer to this.) -LLVM_ATTRIBUTE_ALWAYS_INLINE int64_t int64FromMPInt(const MPInt &x) { - return int64_t(x); -} +static inline int64_t int64FromMPInt(const MPInt &x) { return int64_t(x); } LLVM_ATTRIBUTE_ALWAYS_INLINE MPInt mpintFromInt64(int64_t x) { return MPInt(x); } -- cgit v1.2.3