diff options
author | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2021-03-22 14:58:12 +0300 |
---|---|---|
committer | Petteri Aimonen <jpa@git.mail.kapsi.fi> | 2021-03-22 14:59:20 +0300 |
commit | a2ddaeb5a278c07df9fe6c92575e2cd65f20c100 (patch) | |
tree | 37a592da304e3017ff2b29f76f8f6eb4352752a6 /tests | |
parent | cd8dc66b367b4c9b0790a361ee70b9e339a99774 (diff) |
Fix compiler error in generated initializer for submessage callback (#631)
Diffstat (limited to 'tests')
-rw-r--r-- | tests/regression/issue_631/SConscript | 8 | ||||
-rw-r--r-- | tests/regression/issue_631/submsg_callback.proto | 22 | ||||
-rw-r--r-- | tests/regression/issue_631/test.c | 14 |
3 files changed, 44 insertions, 0 deletions
diff --git a/tests/regression/issue_631/SConscript b/tests/regression/issue_631/SConscript new file mode 100644 index 0000000..00401c8 --- /dev/null +++ b/tests/regression/issue_631/SConscript @@ -0,0 +1,8 @@ +# Regression test for #631: +# Wrong initializer generation + +Import("env") + +env.NanopbProto("submsg_callback.proto") +t = env.Program(["test.c", "submsg_callback.pb.c", "$COMMON/pb_common.o"]) +env.RunTest(t) diff --git a/tests/regression/issue_631/submsg_callback.proto b/tests/regression/issue_631/submsg_callback.proto new file mode 100644 index 0000000..8e5f442 --- /dev/null +++ b/tests/regression/issue_631/submsg_callback.proto @@ -0,0 +1,22 @@ +syntax = "proto2"; + +import 'nanopb.proto'; + +message SubMsg1 { + optional float number1 = 1 [default = 1]; +} + +message SubMsg2 { + repeated uint32 number2 = 1; +} + +message SubMsgCB { + option (nanopb_msgopt).submsg_callback = true; + repeated SubMsg1 field1 = 1; + oneof data { + uint32 uint = 2; + sint32 sint = 3 [default = 3]; + SubMsg2 vuint = 4; + } +} + diff --git a/tests/regression/issue_631/test.c b/tests/regression/issue_631/test.c new file mode 100644 index 0000000..2fc1ed9 --- /dev/null +++ b/tests/regression/issue_631/test.c @@ -0,0 +1,14 @@ +#include "submsg_callback.pb.h" + +SubMsg1 submsg1_zero = SubMsg1_init_zero; +SubMsg1 submsg1_def = SubMsg1_init_default; +SubMsg2 submsg2_zero = SubMsg2_init_zero; +SubMsg2 submsg2_def = SubMsg2_init_default; +SubMsgCB submsgcb_zero = SubMsgCB_init_zero; +SubMsgCB submsgcb_def = SubMsgCB_init_default; + +int main() +{ + return 0; +} + |