Commit graph

910 commits

Author SHA1 Message Date
Thomas Van Lenten
c8a440dfb6 Add more warnings to for the ObjC runtime build
Working on https://github.com/google/protobuf/issues/1599, specifically:
- Turn on more warnings that the Xcode UI calls out with individual controls.
- Manually add:
  -Wundef
  -Wswitch-enum
- Manually add and then diable in the unittests because of XCTest's headers:
  -Wreserved-id-macro
  -Wdocumentation-unknown-command
- Manually add -Wdirect-ivar-access, but disable it for the unittests and in
  the library code (via #pragmas to suppress it). This is done so proto users
  can enable the warning.
2016-05-25 16:42:31 -04:00
Thomas Van Lenten
7da023b892 Better support for using the proto library from a framework.
- Add generator constant for the default framework name.
- Add generator api for making the CPP symbol from the name.
- Add generator api to see if it is a bundled proto file.
- Output a CPP conditional and two imports for the core library headers.
- Add helper for generating the #import for file headers to deal with the
  framework imports.
- Add a reference from the unittests to a WKT to use that to inspect how
  imports generate.
- Update the podspec to define the CPP symbol and require pods 1.0 (or later).

Fixes https://github.com/google/protobuf/issues/1457
2016-05-24 09:25:02 -04:00
Joshua Haberman
431ba4b37d Merge pull request #1549 from xyzzyz/arena_export
Export class Arena to shared library.
2016-05-18 13:14:55 -07:00
Joshua Haberman
ba696e7bed Merge pull request #1547 from xyzzyz/js_generator
Fix #include in js_generator.cc
2016-05-18 13:14:19 -07:00
Bo Yang
6673283a56 Integrate interanl changes 2016-05-18 17:11:22 +08:00
Adam Michalik
810ba9b8f2 Export class Arena to shared library.
This got broken in commit 6ef984af4b
which integrated changes from internal branch.
2016-05-17 14:39:48 -07:00
Adam Michalik
f2885f619a Fix #include in js_generator.cc
The commit 3b3c8abb96 has replaced the <>
with "" in #include statement in js_generator.cc
2016-05-17 12:43:32 -07:00
Jisi Liu
c8be6ee00c Merge pull request #1542 from google/beta-3
Merge Beta 3 release branch into master
2016-05-16 13:46:16 -07:00
Jisi Liu
5e7c4cb3f6 Remove the comments about iterator validation
As it may be implementation dependent.
2016-05-13 18:12:57 -07:00
Jisi Liu
9f84114864 Merge pull request #1520 from pherl/hashmapvs2008
Bridge vs2008 hashmaps.
2016-05-12 10:34:40 -07:00
Jisi Liu
dbdf6d9085 Bridge vs2008 hashmaps. 2016-05-11 14:59:55 -07:00
Feng Xiao
920ee735cf Merge pull request #1483 from wal-rus/fix-boost-incompatibility
Fix C++ Boost incompatibility on Windows/MSVC
2016-05-11 10:30:41 -07:00
Jisi Liu
e8737d8676 Fix the command line interface unittest again
This time move the macro inside namespaces; hopefully will work with the
integration script.
2016-05-10 16:20:08 -07:00
Walter Gray
f4bc9e0ddb Remove confounding and unused #define - breaks boost/predef/other/endian.h 2016-05-06 17:13:02 -07:00
Feng Xiao
76a96d4690 Merge pull request #1499 from beardedN5rd/master
updated README
2016-05-06 15:23:45 -07:00
beardedn5rd
2eb774e602 after comment of Feng Xiao changed the entry to g++ 2016-05-06 22:47:17 +02:00
beardedn5rd
b12f630e81 updated README 2016-05-06 14:49:52 +02:00
Mahmut Ali ÖZKURAN
9b3357ddac Updated README.md
Added relative link to cmake guide.
2016-05-06 10:16:28 +03:00
Feng Xiao
17b6fc31eb Merge pull request #1409 from eeight/fix_enum_corruption
Fix bug with silent message corruption in LITE_RUNTIME.
2016-05-04 10:55:13 -07:00
Jisi Liu
12fdeb9b41 Merge branch 'master' of github.com:google/protobuf 2016-04-28 14:43:08 -07:00
Jisi Liu
cf14183bcd Down integrate from Google internal. 2016-04-28 14:34:59 -07:00
Thomas Van Lenten
18b6a321b5 Proper checking of enum with non zero default
proto2 syntax allows the first enum to have a non zero value. This means any
field using that default has a non zero default without having an explicit
default being set. So when deciding what runtime info is needed, don't rely
on an explicit default, always check that the values aren't zero.

Fixes https://github.com/google/protobuf/issues/1453
2016-04-26 15:15:49 -04:00
Petr Prokhorenkov
f4f9aec52f Fix bug with silent message corruption in LITE_RUNTIME.
A protobuf message will be corrupted in the following scenario:
  1. Use LITE_RUNTIME.
  2. Have an optional enum field following some other field.
  3. Update protocol by adding new values to the enum.
  4. Have an old client parse and serialize a message having enum field
      set to a value the client does not understand.
  5. Field preceeding the enum is now corrupted.

The bug is due to the fact that optimized fallthrough in parser code
does not update variablle 'tag' when jumping to the parser code for the
next field.
2016-04-21 09:27:33 +03:00
Feng Xiao
0ad204845f Merge pull request #1416 from cwhipkey/master
Change protobuf CPP proto generator to support the 'lite' option in
2016-04-20 17:15:16 -07:00
Feng Xiao
f00300d7f0 Merge pull request #1414 from xyzzyz/googletest
Remove googletest.h header from stringprintf.cc
2016-04-20 11:20:34 -07:00
Jon Skeet
f265fb8152 Merge pull request #1401 from jskeet/enum-casing
Enum casing in C#
2016-04-20 09:01:58 +01:00
Jon Skeet
d90d615f71 Attempt to fix AppVeyor build by exporting GetEnumValueName 2016-04-20 03:46:03 +01:00
Jon Skeet
75626ed79c Add C# codegen changes to enum value names (mostly C++)
Overview of changes:
- A new C#-specific command-line option, legacy_enum_values to revert to the old behavior
- When legacy_enum_values isn't specified, we strip the enum name as a prefix, and PascalCase the value name
- A new attribute within the C# code so that we can always tell the original in-proto name

Regenerating the C# code with legacy_enum_values leads to code which still compiles and works - but
there's more still to do.
2016-04-20 03:45:59 +01:00
Jisi Liu
1b0ff34b90 Add missing includes in field mask test 2016-04-19 15:14:31 -07:00
Chad Whipkey
baf52bd79e Change protobuf CPP proto generator to support the 'lite' option in
proto3.

Added a couple unit test proto3 files, for arena_lite and lite. Cloned
the proto3_arena_unittest to test some of the basics of generated code
(and to ensure that the generated proto3 test files are used by some
test).
2016-04-15 09:23:50 -07:00
Adam Michalik
1b912fceee Remove googletest.h header from stringprintf.cc
It doesn't seem to be necessary here, and it pulls other testing headers
during compilation of release protobuf.
2016-04-14 15:54:31 -07:00
Joshua Haberman
814685ca2c Merge pull request #1397 from google/internal-merge
Internal merge
2016-04-11 23:37:42 -07:00
Jon Skeet
2a197b3eb0 Use 0 as the default value for all enums, rather than finding the actual enum value name
This will make it easier to change the enum value names, as it reduces the number of places they're used.
2016-04-11 06:47:43 +01:00
Jon Skeet
0a902ee0ac Fix to csharp_options - initialize internal_access to false. 2016-04-08 09:57:32 +01:00
Josh Haberman
2cd79bf3a8 Removed duplicated operator delete from merge conflict. 2016-04-07 14:26:59 -07:00
Josh Haberman
4465daa57a Merge branch 'master' into internal-merge 2016-04-07 14:10:19 -07:00
Jon Skeet
667f4a6282 Merge pull request #1393 from gvaish/master
Added support for internal_access for C#
2016-04-07 22:05:40 +01:00
Jie Luo
09292d5759 Merge pull request #1392 from anandolee/master
Sync the manually integrate changes in google3/third_party
2016-04-07 11:05:05 -07:00
Gaurav Vaish
a6e39316a7 Added support for internal_access for C# 2016-04-07 10:33:21 -07:00
Jie Luo
c61207492e sync the Manually integrate changes in google3/third_party 2016-04-06 14:32:30 -07:00
Jon Skeet
2a18bb5a33 Add more documentation for csharp_options.h
This also renames generate_directories to base_namespace_specified; generating directories is the
immediate *effect* of specifying a base namespace, but with this change the options reflect what has been
specified rather than the effect. (There may be other effects in the future, of course.)
2016-04-06 10:30:19 +01:00
Jon Skeet
bfd1c84a3d Line-wrapping changes only for C# generator code
This should have no behavioral changes at all.

This doesn't strictly enforce an 80-column limit, but removes the most egregious violations.
The indentation in the C# generator code is inconsistent in general, unfortunately - if we have
any good tools that can be trusted to reformat, I'd be happy to apply them.
2016-04-06 10:17:13 +01:00
Jon Skeet
89719f07a3 Merge pull request #1349 from gvaish/master
Added CLI option internal_access for types (C#)
2016-04-05 20:52:17 +01:00
Gaurav Vaish
74d8b0bebc Added access_level for types
* `csharp_options`: Added `Options` to encapsulate generator options.
   Supported options for now - file_extension, base_namespace
* `{Blah}Generator`: Now accept `Options*` as parameter to constructor
* `csharp_generator.cc`: Parse and populate options
* `Makefile.am`: Added `csharp_options.h`
* `extract_includes.bat.in`: Added `csharp_options.h`

Refactoring code to two commits. This is the first commit
2016-04-05 09:47:11 -07:00
Oleg Vereshko
268ce2818f Added deprecated option handling for objective-c generator 2016-04-04 18:13:30 +03:00
Jisi Liu
cba75ad404 Merge branch 'master' of github.com:google/protobuf 2016-04-01 16:46:49 -07:00
Jisi Liu
89343d87c6 Do not use C++11 unicode escape in unittest.
For fixing MSVC
2016-04-01 16:44:46 -07:00
Jisi Liu
93811ca9f7 Do not let windows.h define min/max macros 2016-04-01 15:55:49 -07:00
Jisi Liu
203bb5eb33 Fix re-definition issue of winsock.h and winsock2.h 2016-03-31 17:38:11 -07:00
Jisi Liu
bc1f2e7e6e Fix WIN32 build for map_test.
stubs/common.h undefines the GetMessage macro introduced in windows.h
map_test however include stubs/common.h before windows.h is transitively
included. This hack force map_test.cc to include windows.h first, so we
have a chance to undefine the GetMessage macro.
2016-03-31 15:17:40 -07:00