Skip to content

Commit 0ef9693

Browse files
committed
[C++] Make sure all members are initilized
Compiler dead store elimination optimization pass should remove any unncessary stores when the codecs are used correctly. With incorrect use it will give predictable behavior.
1 parent 963f339 commit 0ef9693

File tree

1 file changed

+12
-12
lines changed

1 file changed

+12
-12
lines changed

sbe-tool/src/main/java/uk/co/real_logic/sbe/generation/cpp/CppGenerator.java

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -197,14 +197,14 @@ private static void generateGroupClassHeader(
197197
indent + "class %1$s\n" +
198198
indent + "{\n" +
199199
indent + "private:\n" +
200-
indent + " char *m_buffer;\n" +
201-
indent + " std::uint64_t m_bufferLength;\n" +
202-
indent + " std::uint64_t *m_positionPtr;\n" +
203-
indent + " std::uint64_t m_blockLength;\n" +
204-
indent + " std::uint64_t m_count;\n" +
205-
indent + " std::uint64_t m_index;\n" +
206-
indent + " std::uint64_t m_offset;\n" +
207-
indent + " std::uint64_t m_actingVersion;\n\n" +
200+
indent + " char *m_buffer = nullptr;\n" +
201+
indent + " std::uint64_t m_bufferLength = 0;\n" +
202+
indent + " std::uint64_t *m_positionPtr = nullptr;\n" +
203+
indent + " std::uint64_t m_blockLength = 0;\n" +
204+
indent + " std::uint64_t m_count = 0;\n" +
205+
indent + " std::uint64_t m_index = 0;\n" +
206+
indent + " std::uint64_t m_offset = 0;\n" +
207+
indent + " std::uint64_t m_actingVersion = 0;\n\n" +
208208

209209
indent + " SBE_NODISCARD std::uint64_t *sbePositionPtr() SBE_NOEXCEPT\n" +
210210
indent + " {\n" +
@@ -1619,9 +1619,9 @@ private CharSequence generateFixedFlyweightCode(final String className, final in
16191619
return String.format(
16201620
"private:\n" +
16211621
" char *m_buffer = nullptr;\n" +
1622-
" std::uint64_t m_bufferLength;\n" +
1622+
" std::uint64_t m_bufferLength = 0;\n" +
16231623
" std::uint64_t m_offset = 0;\n" +
1624-
" std::uint64_t m_actingVersion;\n\n" +
1624+
" std::uint64_t m_actingVersion = 0;\n\n" +
16251625

16261626
"public:\n" +
16271627
" enum MetaAttribute\n" +
@@ -1772,8 +1772,8 @@ private CharSequence generateMessageFlyweightCode(final String className, final
17721772
" char *m_buffer = nullptr;\n" +
17731773
" std::uint64_t m_bufferLength = 0;\n" +
17741774
" std::uint64_t m_offset = 0;\n" +
1775-
" std::uint64_t m_position;\n" +
1776-
" std::uint64_t m_actingVersion;\n\n" +
1775+
" std::uint64_t m_position = 0;\n" +
1776+
" std::uint64_t m_actingVersion = 0;\n\n" +
17771777

17781778
" inline std::uint64_t *sbePositionPtr() SBE_NOEXCEPT\n" +
17791779
" {\n" +

0 commit comments

Comments
 (0)