Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nanopb/nanopb.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorPetteri Aimonen <jpa@git.mail.kapsi.fi>2021-03-22 14:58:12 +0300
committerPetteri Aimonen <jpa@git.mail.kapsi.fi>2021-03-22 14:59:20 +0300
commita2ddaeb5a278c07df9fe6c92575e2cd65f20c100 (patch)
tree37a592da304e3017ff2b29f76f8f6eb4352752a6 /tests
parentcd8dc66b367b4c9b0790a361ee70b9e339a99774 (diff)
Fix compiler error in generated initializer for submessage callback (#631)
Diffstat (limited to 'tests')
-rw-r--r--tests/regression/issue_631/SConscript8
-rw-r--r--tests/regression/issue_631/submsg_callback.proto22
-rw-r--r--tests/regression/issue_631/test.c14
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;
+}
+