From 8d0905cfa859869641d533e6770154b2e50152fa Mon Sep 17 00:00:00 2001 From: Andrew Schwartz Date: Wed, 27 Aug 2025 09:39:36 -0700 Subject: [PATCH 1/3] [C++] convert to c++14 for compilation. --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 326986a509..8de78a265d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -47,7 +47,7 @@ if (NOT CMAKE_BUILD_TYPE) endif (NOT CMAKE_BUILD_TYPE) if (NOT DEFINED CMAKE_CXX_STANDARD) - set(CMAKE_CXX_STANDARD 11) + set(CMAKE_CXX_STANDARD 14) endif () if (NOT DEFINED CMAKE_CXX_EXTENSIONS) From 08db44f89a3a3e3c60d574714126cff4437d75bf Mon Sep 17 00:00:00 2001 From: Andrew Schwartz Date: Tue, 26 Aug 2025 10:27:46 -0700 Subject: [PATCH 2/3] [C++] mark a generated function SBE_CONSTEXPR (#1055) --- .../uk/co/real_logic/sbe/generation/cpp/CppGenerator.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java index 566545df2f..63afd22869 100755 --- a/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java +++ b/sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java @@ -2630,9 +2630,9 @@ private void generateConstPropertyMethods( values); sb.append(String.format("\n" + - indent + " SBE_NODISCARD %1$s %2$s(const std::uint64_t index) const\n" + + indent + " SBE_NODISCARD static SBE_CONSTEXPR %1$s %2$s(const std::uint64_t index)\n" + indent + " {\n" + - indent + " static const std::uint8_t %2$sValues[] = { %3$s, 0 };\n\n" + + indent + " const std::uint8_t %2$sValues[] = { %3$s, 0 };\n\n" + indent + " return (char)%2$sValues[index];\n" + indent + " }\n", From bec1cdde74cc5bbdbd7974acb0aea7c7eb103329 Mon Sep 17 00:00:00 2001 From: Andrew Schwartz Date: Tue, 2 Sep 2025 12:37:33 -0700 Subject: [PATCH 3/3] [C++] test suite fix: initialize character array to prevent uninitialized memory access --- sbe-tool/src/test/c/CodeGenTest.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sbe-tool/src/test/c/CodeGenTest.cpp b/sbe-tool/src/test/c/CodeGenTest.cpp index 6f2a195a11..39880fbcd2 100644 --- a/sbe-tool/src/test/c/CodeGenTest.cpp +++ b/sbe-tool/src/test/c/CodeGenTest.cpp @@ -247,6 +247,7 @@ class CodeGenTest : public testing::Test } char code_buf[4]; + memset(code_buf, 0, sizeof(code_buf)); CGT(engine) engine = {}; if (CGT(car_engine)(&car, &engine)) { @@ -338,6 +339,7 @@ class CodeGenTest : public testing::Test } char code_buf[4]; + memset(code_buf, 0, sizeof(code_buf)); CGT(engine) engine = {}; if (CGT(car_engine)(&car, &engine)) {