1. 26 Jan, 2025 13 commits
  2. 25 Jan, 2025 2 commits
  3. 21 Jan, 2025 3 commits
    • Robert Edmonds's avatar
      protoc-c: c_message: Add extra braces to initialize a oneof union containing a ProtobufCBinaryData · cecf01e6
      Robert Edmonds authored
      Certain compilers (e.g. [0]) incorrectly generate warning messages
      when the universal zero initializer is used by the protobuf-c generated
      code to initialize a protobuf object containing a oneof that contains a
      ProtobufCBinaryData field as the first member. This is now much more
      likely due to the change in the previous commit ("protoc-c: c_message:
      Order oneof union members from largest to smallest") which will now
      always cause a ProtobufCBinaryData field to be placed as the first
      member of the union, if one is present in the oneof.
      
      In this situation, we need to add an extraneous pair of braces around
      the universal zero initializer in the generated initialization code.
      
      The former behavior of using the universal zero initializer by itself is
      kept for oneof unions that do not contain a ProtobufCBinaryData member.
      
      [0]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80454
      cecf01e6
    • Robert Edmonds's avatar
      protoc-c: c_message: Order oneof union members from largest to smallest · 36485387
      Robert Edmonds authored
      This commit changes the code generator to output the members of a oneof
      union from largest to smallest, rather than in field descriptor order.
      
      This is necessary on certain compilers such as gcc >= 15 which do not
      guarantee that initializing a union with the universal zero initializer
      actually initializes all the bits of the object representation of the
      members of the union, unless the largest union member is the first
      member of the union.
      36485387
    • Robert Edmonds's avatar
      t/issue745/: Add test case for #745 · 040e9eb0
      Robert Edmonds authored
      This currently fails on gcc 15 but succeeds on gcc 14, as expected.
      040e9eb0
  4. 20 Jan, 2025 1 commit
  5. 19 Jan, 2025 6 commits
  6. 18 Jan, 2025 15 commits