482 Commits

Author SHA1 Message Date
Robert Edmonds
8bfe960293 Merge pull request #221 from protobuf-c/issue220
protoc-c/c_message.cc: Force int size on oneof enums
2016-07-04 14:29:10 -04:00
Ilya Lipnitskiy
651ec8f512 .travis.yml: Remove clang check for now
http://lists.llvm.org/pipermail/llvm-foundation/2016-May/000020.html

travis-ci/travis-ci#6120
2016-06-17 00:27:34 -07:00
Ilya Lipnitskiy
bb6553c397 protoc-c/c_message.cc: Force int size on oneof enums
Fixes #220. Patch by Dave Benson from the mailing list thread.
2016-06-17 00:27:34 -07:00
Robert Edmonds
c22b2a106b Merge pull request #215 from twasilczyk/next
Fix bigendian -Wunused-label warning
2016-05-05 19:10:28 -07:00
Tomasz Wasilczyk
3c214bce79 Fix bigendian -Wunused-label warning 2016-05-02 14:13:38 +01:00
Robert Edmonds
9f4cbec908 Merge pull request #214 from twasilczyk/next
Fix ISO C90 -Wdeclaration-after-statement warnings
2016-04-30 00:07:41 -04:00
Tomasz Wasilczyk
eb899168b8 Fix ISO C90 -Wdeclaration-after-statement warnings 2016-04-27 23:33:09 +01:00
Robert Edmonds
26186b63e6 Merge pull request #213 from twasilczyk/next
Fix -Wsign-compare warnings in int32_size()
2016-04-27 17:24:50 -04:00
Tomasz Wasilczyk
534afc5997 Fix -Wsign-compare warnings 2016-04-27 21:57:39 +01:00
Robert Edmonds
bd9cd96e81 CONTRIBUTING.md: New 2016-04-26 16:40:49 -04:00
Robert Edmonds
4f13ec7abb .gitignore: protoc-c/protoc-gen-c 2016-04-26 16:35:22 -04:00
Robert Edmonds
171ccd222b Merge remote-tracking branch 'pbor/wip/plugin' into next 2016-04-25 21:40:37 -04:00
Ilya Lipnitskiy
2ea8fc7087 test-generated-code2.c: Add default value test 2016-04-22 11:35:14 -07:00
Ilya Lipnitskiy
258eb7d4dc protoc-c/c_enum_field.cc: Fix default enum values
From https://developers.google.com/protocol-buffers/docs/proto#optional:
If the default value is not specified for an optional element, a
type-specific default value is used instead: for strings, the default
value is the empty string. For bools, the default value is false. For
numeric types, the default value is zero. For enums, the default value
is the first value listed in the enum's type definition. This means care
must be taken when adding a value to the beginning of an enum value
list.

Prior to this change, protoc-c set the default enum value to 0, whether
or not 0 was the first value listed in the enum's type definition (or if
it even was listed at all).
2016-04-22 11:12:15 -07:00
Paolo Borelli
af2120aa55 Turn the compiler into a protoc plugin
Using the old "protoc-c" command directly is still supported
through a symlink.
2016-02-17 10:58:43 +01:00
Robert Edmonds
006d69bd84 ChangeLog: 1.2.1 v1.2.1 2016-02-02 15:09:01 -05:00
Robert Edmonds
4560136675 Bump version to 1.2.1 2016-02-02 15:03:53 -05:00
Robert Edmonds
bb3cf5a887 Merge branch 'branches/pulls/205' into next 2016-02-02 15:00:51 -05:00
Robert Edmonds
58b03b6b1b ChangeLog update 2016-02-02 15:00:17 -05:00
Paolo Borelli
af613f932a Fix union initialization
Using {} as an initializer fails on MSVC

Signed-off-by: Paolo Borelli <pborelli@gnome.org>
2016-02-02 14:45:29 -05:00
Robert Edmonds
1d4aff9648 ChangeLog: 1.2.0 v1.2.0 2016-01-29 19:52:28 -05:00
Robert Edmonds
25d5e51db7 Bump version to 1.2.0 2016-01-29 19:52:28 -05:00
Robert Edmonds
3f4a5f6718 LICENSE: 2016 2016-01-29 19:52:28 -05:00
Zex
d6ac08c8ba skip protoc-c tests on cross-compiling 2016-01-29 18:53:04 -05:00
Diego Elio Pettenò
4013655890 Update link to Autotools Mythbuster to canonical site
I've moved the guide to its own domain some time ago, fix the reference to avoid the redirects.
2016-01-09 17:39:27 -05:00
Ilya Lipnitskiy
a8d746a27c t: Add coverage
Remove a redundant test and add two large number test cases.
2015-12-12 22:06:41 -08:00
Ilya Lipnitskiy
6fc4e97bf0 protobuf-c.c: Replace other bitwise shifts with 1UL
This change helps keep protobuf-c compatible with systems where int is
less than 4 bytes long. This change also makes left shifts more
consistent.
2015-12-12 21:55:32 -08:00
Peter Leschev
7b4c18a082 Fixes #196 2015-12-12 20:36:35 -08:00
Ilya Lipnitskiy
7634c0e6e6 protobuf-c.c: Pack negative enum values correctly
Fix a few casts where ints were cast to uints unnecessarily

Fixes #199. Previously, enums were treated as uint32's, but they need to
be treated as int32's instead.

t: Add a few test cases with negative enum values
2015-12-12 20:36:35 -08:00
Ilya Lipnitskiy
8debedbc3c test-generated-code2.c: Don't call memcmp with a NULL pointer 2015-12-12 17:43:01 -08:00
Ilya Lipnitskiy
e2d45cbe84 protobuf-c.c: Fix undefined code in zigzag functions 2015-12-12 17:41:38 -08:00
Ilya Lipnitskiy
565f42d300 .travis.yml: Add sanitizer checks
Add support for multiple versions of GCC and clang by using a build
matrix. Switch Travis VM to be based on Ubuntu 14.04
2015-12-12 17:05:05 -08:00
Ilya Lipnitskiy
0e2d3c09e2 Rename LITE_RUNTIME to CODE_SIZE 2015-10-30 15:54:00 -07:00
Ilya Lipnitskiy
4eb49206ff protobuf-c.h: Document the new LITE_RUNTIME behavior 2015-03-15 20:01:03 -07:00
Ilya Lipnitskiy
be99a7ac31 t: Add tests for the LITE_RUNTIME optimization option 2015-03-15 20:01:03 -07:00
Ilya Lipnitskiy
603e431864 protoc-c: Support the optimize_for = LITE_RUNTIME file option
Adds support for the LITE_RUNTIME optimization option to the protobuf-c
compiler. Enabling this option would generate lighter weight message,
enum, and service descriptors that contain NO strings. As a result,
calls to lookup descriptors via the *_get_{field,value,method}_by_name
API will return NULL.

Default compiler behavior (when optimize_for is not specified or is not
set to LITE_RUNTIME) is unchanged.
2015-03-15 20:01:03 -07:00
Ilya Lipnitskiy
8601458e5c protobuf-c.c: Don't crash when *_by_name fields in descriptors are NULL 2015-03-15 20:00:11 -07:00
Robert Edmonds
3b7d27a462 ChangeLog: 1.1.1 v1.1.1 2015-03-14 17:00:57 -04:00
Robert Edmonds
9983a190a0 Bump version to 1.1.1 2015-03-14 17:00:57 -04:00
Robert Edmonds
21dead9e19 Bump copyright year to 2015 2015-03-14 17:00:57 -04:00
Robert Edmonds
a5a802641a .travis.yml: Update protobuf dependency to 2.6.1 2015-03-14 16:08:10 -04:00
Andrey Myznikov
812ecf9326 Fix incorrect 'Short version of service name' generation for ProtobufCServiceDescriptor 2015-03-14 16:00:28 -04:00
Robert Edmonds
cbe7b84a14 Merge remote-tracking branch 'github/protoc_c_comments' into next 2015-03-13 12:42:51 -04:00
Ilya Lipnitskiy
c89cd01189 .travis.yml: Exclude protoc-c from the coveralls report 2015-02-14 20:45:04 -08:00
Oleg Efimov
0a29317348 .travis.yml: exclude downloaded protobuf sources from coveralls report 2015-02-14 20:40:07 -08:00
Ilya Lipnitskiy
ce6cc2350f TODO: Remove items that have been completed 2015-02-14 19:32:54 -08:00
Ilya Lipnitskiy
b64f6c1f68 protoc-c/c_enum.cc: Make enum_values_{by_name,by_number} structs static 2015-02-14 19:21:29 -08:00
Ilya Lipnitskiy
617fa7ef6f test-generated-code2.c: Cosmetic change 2015-02-14 17:28:36 -08:00
Ilya Lipnitskiy
8f42a69f86 protoc-c/c_helpers.cc: Enhance comment string parsing
Certain protobuf comments could generate invalid C comments
and inadvertently close the comment block. This commit removes '/'
signs in such comments.

One example of a .proto file containing such comments is a commonly
included descriptor.proto from the protobuf library.
2015-01-30 20:11:34 -08:00
Oleg Efimov
5238d655b9 protobuf-c.c: Better input checks in protobuf_c_message_free_unpacked
Check for NULL pointer for repeated fields passed to protobuf_c_message_free_unpacked

Closes #177
2015-01-18 22:09:15 +03:00