aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* First pass (not yet compiling) at removing all the array handling code from ↵Jon Skeet2015-06-303-102/+27
| | | | | | | Coded*Stream. Prod code works, but some tests are broken. Obviously those need fixing, then more tests, and review benchmarks.
* Fix for doubly-nested types - issue #307.Jon Skeet2015-06-291-1/+1
| | | | No specific test case - if the generated code compiles, the issue is fixed :)
* More cleanup, based around searches for "Google.ProtocolBuffers"Jon Skeet2015-06-2626-31/+8
| | | | | | | - Remove some old proto2-based C#-only messages - Remove the "build" directory which only contained out-of-date files - Remove the csharp_namespace option from proto2 messages - Change "Google.ProtocolBuffers" to "Google.Protobuf" in other messages
* Tweaks and more tests for mapsJon Skeet2015-06-263-6/+121
| | | | | | | | | | | | | | | - Change the default message hash code to 1 to be consistent with other code - Change the empty list/map hash code to 0 as "empty map" is equivalent to "no map" - Removed map fields from unittest_proto3.proto - Created map_unittest_proto3.proto which is like map_unittest.proto but proto3-only - Fixed factory methods in FieldCodec highlighted by using all field types :) - Added tests for map serialization: - Extra fields within entries - Entries with value then key - Non-contiguous entries for the same map - Multiple entries for the same key Changes to generated code coming in next commit
* More map tests, and various production code improvements.Jon Skeet2015-06-251-1/+2
| | | | Generated code in next commit.
* First pass at map support.Jon Skeet2015-06-2514-10/+263
| | | | More tests required. Generated code in next commit.
* Regenerated descriptor C++ codeJon Skeet2015-06-251-3/+2
|
* Revert the change to wire_format.h.Jon Skeet2015-06-245-4/+16
| | | | | It seems too much code relies on the broken behaviour. See issue #493. Instead, we reimplement MakeTag just for C#, temporarily.
* Implement freezing for messages and repeated fields.Jon Skeet2015-06-2413-8/+82
| | | | Fixes issue #523.
* Merge remote-tracking branch 'upstream/master' into fix_appveyorJan Tattermusch2015-06-242-9/+13
|\
| * Merge pull request #503 from thomasvl/add_nonnill_markupPaul Yang2015-06-192-9/+13
| |\ | | | | | | Add nonnull/nullable/null_resettable markup to ObjC library.
| | * Add nonnil markup to ObjC library.Thomas Van Lenten2015-06-162-9/+13
| | | | | | | | | | | | Add the clang annotations to the objc library and generated code to help with Swift bridging and compiler checks.
* | | Implement requested changes for IMessage<T>Jon Skeet2015-06-231-1/+1
| | | | | | | | | | | | | | | 1) New line at end of file 2) Make IMessage<T> itself extend IEquatable<T> and IDeepCloneable<T>
* | | Implement Clone.Jon Skeet2015-06-2313-8/+95
| | | | | | | | | | | | Fixes issue #527.
* | | Merge remote-tracking branch 'upstream/master' into proto3-onlyJon Skeet2015-06-1992-154/+28178
|\| |
| * | using ::isnan to avoid conflicts with std::isnan for C++11 build.Jisi Liu2015-06-181-1/+1
| | | | | | | | | | | | Change-Id: I057b44eff04c3b0062a4fd4307ce6e4ca1eb952b
| * | Merge pull request #501 from xfxyjwf/downFeng Xiao2015-06-1792-154/+28178
| |\ \ | | | | | | | | Down-integrate from internal code base.
| | * | Fix broken builds.Feng Xiao2015-06-1726-128/+170
| | | |
| | * | Down-integrate from internal code base.Feng Xiao2015-06-1592-150/+28132
| | |/ | | | | | | | | | | | | | | | [ci skip] Change-Id: I9391c09640e0b0b2b21c45a97a1fc91814d95c5d
* | | Minor cleanup.Jon Skeet2015-06-193-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | - Make some members internal - Remove a lot of FrameworkPortability that isn't required - Start adding documentation comments - Remove some more group-based members - Not passing in "the last tag read" into Read*Array, g
* | | Merged masterJon Skeet2015-06-1733-633/+615
|\| |
| * | Make the code independent of config.hJisi Liu2015-06-167-14/+10
| |/ | | | | | | | | | | | | | | | | | | | | | | | | Now the Build tool needs to define -DHAVE_ZLIB and -DHAVE-PTHREAD rather than providing a config.h - Make pbconfig.h a manually written file to handle hash conditions according to platform related macros. - Remove #include "config.h" from source code. - Changed the configure.ac and Makefile.am to pass down the macros. - Change cmake to pass down the the macros. Change-Id: I537249d5df8fdeba189706aec436d1ab1104a4dc
| * Merge pull request #488 from AustinSchuh/ruby_test_fixFeng Xiao2015-06-151-0/+4
| |\ | | | | | | Modified FindRubyTestDir to use GOOGLE_THIRD_PARTY_PROTOBUF
| | * Modified FindRubyTestDir to use GOOGLE_THIRD_PARTY_PROTOBUFAustin Schuh2015-06-101-0/+4
| | |
| * | Merge pull request #495 from pherl/masterJisi Liu2015-06-132-18/+145
| |\ \ | | | | | | | | Make pbconfig.h independent of config.h
| | * | Make pbconfig.h independent of config.hJisi Liu2015-06-132-18/+145
| | |/ | | | | | | | | | Change-Id: I31ead985b4ac5b02fb7558d34c1da19fd837b50a
| * | Merge pull request #481 from Qartar/masterFeng Xiao2015-06-123-15/+61
| |\ \ | | | | | | | | Workaround for MSVC's string literal compiler limit.
| | * | Workaround for MSVC's string literal compiler limit.Qartar2015-06-123-15/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Escape characters don't count for string literal size, no need to pre-generate escape string. Added unit test to touch enormous cpp generated descriptor. Updated makefile to include enormous_descriptor.proto Fixed language compatibility error.
| * | | Give descriptor.proto a go packageTamir Duberstein2015-06-122-3/+5
| | |/ | |/| | | | | | | | | | This is currently done in golang/protobuf using `sed`. This change should simplify things.
| * | Merge pull request #480 from thomasvl/objc_beta_dropPaul Yang2015-06-0914-554/+355
| |\ \ | | | | | | | | Beta quality drop of Objective C Support.
| | * | Beta quality drop of Objective C Support.Thomas Van Lenten2015-06-0814-554/+355
| | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Add more to the ObjC dir readme. - Merge the ExtensionField and ExtensionDescriptor to reduce overhead. - Fix an initialization race. - Clean up the Xcode schemes. - Remove the class/enum filter. - Remove some forced inline that were bloating things without proof of performance wins. - Rename some internal types to avoid conflicts with the well know types protos. - Drop the use of ApplyFunctions to the compiler/optimizer can do what it wants. - Better document some possible future improvements. - Add missing support for parsing repeated primitive fields in packed or unpacked forms. - Improve -hash. - Add *Count for repeated and map<> fields to avoid auto create when checking for them being set.
| * / Refactored threadlocal logic.Austin Schuh2015-06-085-9/+15
| |/ | | | | | | | | | | | | Refactored the threadlocal logic for Android and IOS into logic in platform_macro.h which computes a GOOGLE_PROTOBUF_NO_THREADLOCAL define which is then used elsewhere. This allows new platforms without THREADLOCAL to be easily defined.
| * Merge pull request #468 from AustinSchuh/unsigned_protoFeng Xiao2015-06-063-19/+19
| |\ | | | | | | Marked another compiler literal unsigned.
| | * Marked another compiler literal unsigned.Austin Schuh2015-06-053-19/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When compiling a protobuf with gcc 4.1.2 for powerpc, I ran into another of the following warning message: INFO: From Compiling my_proto.pb.cc powerpc-603e-linux-gcc: bazel-out/local_linux-dbg/genfiles/my_proto.pb.cc: In member function `virtual void MyProto::Clear()': bazel-out/local_linux-dbg/genfiles/my_proto.pb.cc:223: warning: this decimal constant is unsigned only in ISO C90 The line in the proto file that was triggering it was: if (_has_bits_[24 / 32] & 4278190080) { ZR_(field1_, field2_); } _has_bits_ is a uint32. The constant mask should therefore be unsigned. This change updates the constant to be generated as unsigned.
| * | Fixed bug in GOOGLE_PREDICT_FALSE.Austin Schuh2015-06-051-1/+1
| |/ | | | | | | | | | | | | The GOOGLE_PREDICT_FALSE macro is both incorrect, and doesn't match the macro definition in glog, which causes conflicts when including both libraries. This commit fixes that by making it identical to what is in glog.
* | Use the fact that we know the tag size and bytes at codegen time to optimize.Jon Skeet2015-06-178-30/+77
| |
* | Fix oneof generator - forgot to provide variables...Jon Skeet2015-06-121-0/+1
| |
* | Move Count checks into the serialization codeJon Skeet2015-06-123-13/+12
| | | | | | | | I wouldn't expect this to affect anything, but it appears to.
* | Optimization of CalculateSize: avoid foreach over empty lists.Jon Skeet2015-06-123-12/+10
| |
* | Use Length to check string/bytes fields for emptiness - it's faster than an ↵Jon Skeet2015-06-121-1/+7
| | | | | | | | equality check.
* | Fix oneof behaviour in the face of default values.Jon Skeet2015-06-121-9/+4
| |
* | Coded*Stream streamlining.Jon Skeet2015-06-127-42/+24
| | | | | | | | Remove ICodedInputStream and ICodedOutputStream, and rewrite CodedInputStream and CodedOutputStream to be specific to the binary format. If we want to support text-based formats, that can be a whole different serialization mechanism.
* | Reimplement enums as int values, and get rid of EnumHelper.Jon Skeet2015-06-113-8/+11
| | | | | | | | This makes repeated fields really awkward at the moment - but when we reimplement RepeatedField<T> to be backed by an array, we can cast the array directly...
* | First pass at the mutable API. Quite a bit more to do - in particular, it's ↵Jon Skeet2015-06-0913-107/+628
| | | | | | | | pretty slow right now.
* | First stab at new proto3-only code generatorJon Skeet2015-06-0525-2091/+295
|/
* Merge pull request #462 from anandolee/masterJie Luo2015-06-0425-1632/+1846
|\ | | | | Migrate writer to printer for C#
| * Migrate writer to io::Printer for C#Jie Luo2015-06-0425-1632/+1846
| |
* | Merge pull request #457 from xfxyjwf/cmakeFeng Xiao2015-06-041-11/+8
|\ \ | | | | | | Add cmake support.
| * | Add cmake support.Feng Xiao2015-05-311-11/+8
| | |
* | | Merge pull request #453 from bakineggs/masterFeng Xiao2015-06-031-0/+14
|\ \ \ | | | | | | | | Add protoc path detection for Mac OS