diff --git a/java_tools/ConfigDefinition.jar b/java_tools/ConfigDefinition.jar index b6a7ba28ec..a7cdd7054a 100644 Binary files a/java_tools/ConfigDefinition.jar and b/java_tools/ConfigDefinition.jar differ diff --git a/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java b/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java index 9f8802a701..6fa82bc57c 100644 --- a/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java +++ b/java_tools/configuration_definition/src/main/java/com/rusefi/output/BaseCHeaderConsumer.java @@ -80,7 +80,10 @@ public class BaseCHeaderConsumer implements ConfigurationConsumer { } content.append("};" + EOL); - content.append("static_assert(sizeof(" + structure.getName() + ") == " + iterator.currentOffset + ");\n"); + int realSize = iterator.currentOffset; + // https://stackoverflow.com/questions/621616/c-what-is-the-size-of-an-object-of-an-empty-class + int cppSize = Math.max(1, realSize); + content.append("static_assert(sizeof(" + structure.getName() + ") == " + cppSize + ");\n"); content.append(EOL); } diff --git a/java_tools/configuration_definition/src/test/java/com/rusefi/test/TSProjectConsumerTest.java b/java_tools/configuration_definition/src/test/java/com/rusefi/test/TSProjectConsumerTest.java index 1476615d6e..34c52986b1 100644 --- a/java_tools/configuration_definition/src/test/java/com/rusefi/test/TSProjectConsumerTest.java +++ b/java_tools/configuration_definition/src/test/java/com/rusefi/test/TSProjectConsumerTest.java @@ -118,7 +118,7 @@ public class TSProjectConsumerTest { assertEquals("// start of pid_s\n" + "struct pid_s {\n" + "};\n" + - "static_assert(sizeof(pid_s) == 0);\n" + + "static_assert(sizeof(pid_s) == 1);\n" + "\n", consumer.getContent()); } }