Skip to content

Commit 06332e2

Browse files
authored
llama-batch: fix build fails with -Werror=missing-braces (ggml-org#16614)
## Why it failed When compiling with strict compiler flags (-Wmissing-braces -Werror=missing-braces), the build fails with the following error: ``` cmake \ -S . \ -B ../llama.cpp.build \ --preset=x64-linux-gcc-debug \ -DCMAKE_INSTALL_PREFIX=/tmp/local \ -DCMAKE_CXX_FLAGS="-Wmissing-braces -Werror=missing-braces" && \ cmake --build ../llama.cpp.build/ ... In file included from /home/otegami/work/cpp/llama.cpp/src/llama-graph.h:4, from /home/otegami/work/cpp/llama.cpp/src/llama-model.h:5, from /home/otegami/work/cpp/llama.cpp/src/llama.cpp:8: /home/otegami/work/cpp/llama.cpp/src/llama-batch.h:126:48: error: missing braces around initializer for 'std::__array_traits<int, 1>::_Type' {aka 'int [1]'} [-Werror=missing-braces] 126 | std::array<llama_seq_id, 1> seq_id_0 = { 0 }; // default sequence id | ^ cc1plus: some warnings being treated as errors ``` The issue is that std::array initialization requires double braces. ## How to fix This PR changes `{ 0 }` to `{{ 0 }}` for std::array initialization. This is part of a series of commits to fix missing braces warnings across the codebase. - src/llama-batch.h <- This PR is here. - src/llama-context.cpp - tests/test-backend-ops.cpp - tests/test-gguf.cpp - tools/mtmd/clip.cpp Benefits: - std::array is a struct containing a C-style array, requiring nested braces - Enables stricter compiler warnings to catch potential issues
1 parent 72d53e6 commit 06332e2

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/llama-batch.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -123,7 +123,7 @@ class llama_batch_allocr {
123123
uint32_t n_seq_max;
124124
uint32_t n_outputs;
125125

126-
std::array<llama_seq_id, 1> seq_id_0 = { 0 }; // default sequence id
126+
std::array<llama_seq_id, 1> seq_id_0 = {{ 0 }}; // default sequence id
127127

128128
std::vector<llama_pos> pos;
129129
std::vector<int32_t> n_seq_id;

0 commit comments

Comments
 (0)