aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Cleanups for newer XcodesThomas Van Lenten2015-09-2915-1208/+1216
| | | | | | | | | | | | | | - Move up to 8.4 as the high simulator (assuming Xcode 6.4). - Add cast to NSMutableDictionary so clang and resolve the selector. - Add case for the newer static analyzer so it won't trigger a false warning. - Update the "dictionary" interface to use "object" naming. Xcode 7+ has gotten more strict on the use of nonnull/nullable; combining that with the generic collection support; and the "dictionary" classes we created now collide with what the generic KeyValueCoding in the system headers triggering warnings/errors. Fix this and hopefully all future issue by renaming the methods to use "object" for the classes that have data types as objects instead of PODs. Taking this renaming hit now while ObjC is still in beta because it is a breaking change for any existing code.
* Merge pull request #727 from AustinSchuh/arena_bounds_fixFeng Xiao2015-09-241-0/+3
|\ | | | | Handled blocks being too small in arena.cc
| * Handled blocks being too small in arena.ccAustin Schuh2015-08-281-0/+3
| | | | | | | | | | | | When the user passed in a block which was smaller than the Block structure, this code would blow past the end of the memory and crash. Check for that condition.
* | Merge pull request #785 from jskeet/csharp-directoriesJan Tattermusch2015-09-2326-762/+1095
|\ \ | | | | | | Generate C# directory hierarchy with new option
| * | Regenerated code. Most changes are whitespace, removing trailing spaces.Jon Skeet2015-09-0119-741/+1033
| | | | | | | | | | | | Other changes are due to the well-known types changing without us regenerating.
| * | Stop adding a space to the end of lines for descriptor binary data.Jon Skeet2015-09-011-1/+1
| | |
| * | Specify csharp_namespace in descriptor.protoJon Skeet2015-09-012-4/+3
| | |
| * | Generate a directory hierarchy based on namespace (C#)Jon Skeet2015-09-013-14/+58
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This introduces a new C# option, base_namespace. If the option is not specified, the behaviour is as before: no directories are generated. If the option *is* specified, all C# namespaces must be relative to the base namespace, and the directories are generated relative to that namespace. Example: - Any.proto declares csharp_namespace = "Google.Protobuf.WellKnownTypes" - We build with --csharp_out=Google.Protobuf --csharp_opt=base_namespace=Google.Protobuf - The Any.cs file is generated in Google.Protobuf/WellKnownTypes (where it currently lives) We need a change to descriptor.proto before this will all work (it wasn't in the right C# namespace) but that needs the other descriptors to be regenerated too. See next commit...
| * | Remove vestigial reference to MakeFixedTagJon Skeet2015-09-011-2/+0
| | |
* | | Merge pull request #813 from 0xAAE/masterFeng Xiao2015-09-161-0/+8
|\ \ \ | | | | | | | | Add GOOGLE_ATTRIBUTE_NOINLINE to GetArena() and GetMaybeArenaPointer(…
| * | | Add GOOGLE_ATTRIBUTE_NOINLINE to GetArena() and GetMaybeArenaPointer() ↵0xAAE2015-09-151-0/+8
|/ / / | | | | | | | | | methods. This is to avoid "unresolved link" errors in MSVC 2015 during Release build
* | | Merge pull request #769 from pkasting/metadataFeng Xiao2015-09-101-1/+1
|\ \ \ | | | | | | | | Fix compile failures building protobuf DLLs on MSVC in Chromium's cod…
| * | | Change to just not marking the class for exportPeter Kasting2015-08-275-47/+3
| | | |
| * | | Fix compile failures building protobuf DLLs on MSVC in Chromium's codebase.Peter Kasting2015-08-275-2/+46
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When trying to compile the protobuf code as a DLL, and then compile other DLLs with generated .pb.cc/h files that reference InternalMetadataWithArena::InternalMetadataWithArena(Arena*), MSVC gives an "unresolved external symbol" error. This seems to be due to the function being simultaneously exported and inline. Moving it out-of-line fixes things. There are other functions exported and inline as well but de-inlining them doesn't seem to be necessary to get the build working, and I'd rather de-inline as few functions as possible.
* | | | Merge pull request #766 from pkasting/hashFeng Xiao2015-09-101-4/+4
|\ \ \ \ | | | | | | | | | | Refine check for unordered_{map|set} availability.
| * | | | It helps if you write macros correctlyPeter Kasting2015-08-271-2/+2
| | | | |
| * | | | Try modifying check in hopes of passing upstream buildPeter Kasting2015-08-271-2/+3
| | | | |
| * | | | Review commentsPeter Kasting2015-08-271-2/+1
| | | | |
| * | | | Refine check for unordered_{map|set} availability.Peter Kasting2015-08-271-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not enough to check for C++11 language support, as it's possible for projects to enable C++11 language and library features independently (e.g. Chromium currently does this). Instead, explicitly check the library version to see if it is recent enough to include unordered_{map|set}.
* | | | | Merge pull request #802 from bsilver8192/masterFeng Xiao2015-09-082-1/+13
|\ \ \ \ \ | | | | | | | | | | | | Small fixes
| * | | | | Don't assume char is signed.Brian Silverman2015-09-081-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It isn't always, which causes problems when trying to put negative values into the array with C++11.
| * | | | | Use TEST_TMPDIR for writing temporary files if it's set.Brian Silverman2015-09-081-0/+7
|/ / / / / | | | | | | | | | | | | | | | Bazel expects all tests to do this.
* | | | | Merge pull request #786 from pherl/masterJisi Liu2015-09-081-0/+5
|\ \ \ \ \ | | | | | | | | | | | | Update objc script in generate_descriptor_proto.sh
| * | | | | Update objc script in generate_descriptor_proto.shJisi Liu2015-09-081-0/+5
| | |_|/ / | |/| | |
* | | | | Merge pull request #796 from jcanizales/add-missing-commaPaul Yang2015-09-041-1/+1
|\ \ \ \ \ | | | | | | | | | | | | Fix podspec by adding missing comma
| * | | | | Fix podspec by adding missing commaJorge Canizales2015-09-041-1/+1
|/ / / / /
* | | | | Merge pull request #794 from jskeet/anyJan Tattermusch2015-09-046-0/+151
|\ \ \ \ \ | | | | | | | | | | | | Pack/Unpack implementation for Any.
| * | | | | Pack/Unpack implementation for Any.Jon Skeet2015-09-046-0/+151
|/ / / / / | | | | | | | | | | | | | | | | | | | | We still need the JSON representation, which relies on something like a DescriptorPool to fetch message types from based on the type URL. That will come a bit later. (The DescriptorPool comment in this commit is just a note which will prove useful if we use DescriptorPool itself.)
* | | | | Merge pull request #772 from dano/fix_scalar_mapJoshua Haberman2015-09-047-85/+167
|\ \ \ \ \ | | | | | | | | | | | | Fix Python 3.4 cpp implementation
| * | | | | Fix Python 3.4 cpp implementationDan O'Reilly2015-08-317-85/+167
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes the ScalarMapContainer/MessageMapContainer implementations on Python 3.4, by dynamically allocating their PyTypeObjects using PyType_FromSpecWithBases, instead of statically allocating them. This is necessary because Python 3.4+ disallows statically allocating a class with a dynamically allocated parent. Signed-off-by: Dan O'Reilly <oreilldf@gmail.com>
* | | | | Merge pull request #793 from kbinani/fix_redefinition_BYTE_SIZE_macroFeng Xiao2015-09-031-12/+12
|\ \ \ \ \ | |/ / / / |/| | | | Rename 'BYTE_SIZE' macro to 'GOOGLE_PROTOBUF_BYTE_SIZE'
| * | | | Rename 'BYTE_SIZE' macro to 'GOOGLE_PROTOBUF_BYTE_SIZE'kbinani2015-09-041-12/+12
|/ / / / | | | | | | | | | | | | | | | | | | | | Xcode raises warning that says "'BYTE_SIZE' macro redefined". The original 'BYTE_SIZE' macro definition is here, for example: '/Applications/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/usr/include/mach/vm_param.h'
* | | | Merge remote-tracking branch 'origin/master' into beta-1Feng Xiao2015-08-299-96/+109
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: src/google/protobuf/extension_set.h
| * \ \ \ Merge pull request #770 from pkasting/string_spaceFeng Xiao2015-08-284-19/+14
| |\ \ \ \ | | | | | | | | | | | | Move StringSpaceUsedIncludingSelf to lite library.
| | * | | | Move StringSpaceUsedIncludingSelf to lite library.Peter Kasting2015-08-274-19/+14
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This came up because Chromium downstream modifies the lite library in a way that requires this function, but I'm upstreaming it because based on the comments in repeated_field.h, this ought to allow resolution of an existing hack. I don't know enough about the protobuf code to feel confident trying to resolve this hack myself, so I've merely updated the TODO comments.
| * | | | Merge pull request #771 from pkasting/static_init_1Feng Xiao2015-08-282-63/+78
| |\ \ \ \ | | | | | | | | | | | | Remove a static initializer by removing a global of non-POD type.
| | * | | | Remove a static initializer by removing a global of non-POD type.Peter Kasting2015-08-272-63/+78
| | | |/ / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are banned by the Google style guide, and Chromium has a hard no-new-static-initializers policy preventing updating to a new version of libprotobuf unless this is resolved. This is the first such change, I'll need to make at least one more in the future. Luckily, the protobuf source tree already has an alternative to static initializers in once.h; use that machinery instead. I defined everything in the .cc file in a blob to replace the old implementation rather than matching the .h layout precisely; let me know if a different ordering is preferred. I also eliminated the macro that used to be used here as spelling everything out only takes one additional line, and the macro didn't actually handle all details of using a particular member variable, just the declaration, so it felt a bit error-prone.
| * | | | Merge pull request #569 from redivo/masterFeng Xiao2015-08-281-5/+5
| |\ \ \ \ | | |_|_|/ | |/| | | Fix GOOGLE_PROTOBUF_ATOMICOPS_ERROR syntax error
| | * | | Fix GOOGLE_PROTOBUF_ATOMICOPS_ERROR syntax errorGeorge Redivo2015-07-061-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It's not possible to define "#error" inside a define. It causes 'error: stray ‘#’ in program' compilation error. Now the define GOOGLE_PROTOBUF_ATOMICOPS_ERROR is the error message and it's used along the code together "#error".
| * | | | Merge pull request #768 from pkasting/timeFeng Xiao2015-08-281-1/+0
| |\ \ \ \ | | |_|/ / | |/| | | Delete kNanosPerSecond from time.cc.
| | * | | Delete kNanosPerSecond from time.cc.Peter Kasting2015-08-271-1/+0
| | | |/ | | |/| | | | | | | | | This variable is unused, and thus triggers a build warning on MSVC.
| * | | Merge pull request #746 from zmodem/fix_predict_macros2Feng Xiao2015-08-271-2/+2
| |\ \ \ | | | | | | | | | | Fix the no-op definitions of GOOGLE_PREDICT_{TRUE,FALSE}
| | * | | Fix the no-op definitions of GOOGLE_PREDICT_{TRUE,FALSE}Hans Wennborg2015-08-261-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updating to the current protobuf version caused the following build errors in Chromium when using Clang on Windows: ..\..\third_party\protobuf\src\google/protobuf/stubs/fastmem.h(67,43) : error: equality comparison with extraneous parentheses [-Werror,-Wparentheses-equality] if (GOOGLE_PREDICT_FALSE(n_rounded_down == 0)) { // n <= 7 ~~~~~~~~~~~~~~~^~~~ The problem is that on Windows, GOOGLE_PREDICT_FALSE is #defined to nothing, so the code expands to 'if ((n_rounded_down == 0))', which Clang warns about. Clang would not have warned if the extra parentheses came from the macro, but in this case they don't because the macro is just dropped. Fix this by making the macros behave as an identity function instead of just getting dropped. This is closer to what these macros look like in stubs/port.h internally.
| * | | | Merge pull request #767 from pkasting/portFeng Xiao2015-08-271-6/+10
| |\ \ \ \ | | |_|/ / | |/| | | Avoid #including system headers from inside a namespace.
| | * | | Avoid #including system headers from inside a namespace.Peter Kasting2015-08-271-6/+10
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | port.h #includes various headers in order to define byteswap functions, but it currently does so from inside the google::protobuf namespace. This can cause bizarre symbol conflicts and other build errors as these headers' contents are then included inside this namespace. Instead, #include the relevant headers above the namespace declarations.
* | | | Merge pull request #776 from haberman/pyfixJoshua Haberman2015-08-291-15/+18
|\ \ \ \ | | | | | | | | | | Fix for https://github.com/google/protobuf/issues/758
| * | | | Fixed assignment syntax error.Josh Haberman2015-08-281-1/+1
| | | | | | | | | | | | | | | | | | | | Change-Id: Ifef8a300258214aae8f6b8516fbc61b7335b5724
| * | | | Fix for https://github.com/google/protobuf/issues/758Josh Haberman2015-08-281-14/+17
|/ / / / | | | | | | | | | | | | Change-Id: I590b34b96c84a3ba6e094a0bd86f153147ade3d3
* | | | Merge pull request #765 from xfxyjwf/javadocFeng Xiao2015-08-274-24/+25
|\ \ \ \ | | | | | | | | | | Fix javadoc errors.
| * | | | Fix javadoc errors.Feng Xiao2015-08-274-24/+25
|/ / / /