You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by ma...@apache.org on 2026/03/10 12:36:48 UTC

(nifi-minifi-cpp) 08/10: MINIFICPP-2738 Suppress false positive warning on GCC 12

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

martinzink pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/nifi-minifi-cpp.git

commit 30493bf094eed53d185400ecb867a81e382229d5
Author: Gabor Gyimesi <ga...@gmail.com>
AuthorDate: Tue Mar 10 13:17:38 2026 +0100

    MINIFICPP-2738 Suppress false positive warning on GCC 12
    
    This fixes failing gcc-12 job in https://github.com/apache/nifi-minifi-cpp/actions/workflows/compiler-support.yml
    
    Closes #2127
    
    Signed-off-by: Martin Zink <ma...@apache.org>
---
 extensions/standard-processors/controllers/JsonTreeReader.cpp | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/extensions/standard-processors/controllers/JsonTreeReader.cpp b/extensions/standard-processors/controllers/JsonTreeReader.cpp
index 40bfe9f7d..c7bd1d5d6 100644
--- a/extensions/standard-processors/controllers/JsonTreeReader.cpp
+++ b/extensions/standard-processors/controllers/JsonTreeReader.cpp
@@ -61,7 +61,15 @@ nonstd::expected<core::RecordField, std::error_code> parse(const rapidjson::Valu
         return nonstd::make_unexpected(element_field.error());
       record_object.emplace(element_key, std::move(*element_field));
     }
+    // Workaround for GCC 12 false positive -Wfree-nonheap-object https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99098
+#if defined(__GNUC__) && !defined(__clang__) && (__GNUC__ <= 12)
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wfree-nonheap-object"
+#endif
     return core::RecordField{std::move(record_object)};
+#if defined(__GNUC__) && !defined(__clang__) && (__GNUC__ <= 12)
+#pragma GCC diagnostic pop
+#endif
   }
 
   return nonstd::make_unexpected(std::make_error_code(std::errc::invalid_argument));