aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Add atomicops for AIX/POWER + IBM xlC compiler.Andrew Paprocki2014-11-113-0/+459
|
* Fixed IBM xlC compiler error due to missing prefix.Andrew Paprocki2014-10-311-4/+5
|
* Add the missing solaris atomics header file.Feng Xiao2014-10-221-1/+2
|
* Update version number to 2.6.2-pre.Feng Xiao2014-10-214-6/+6
|
* Update version number in generated files.Feng Xiao2014-10-092-2/+2
|
* Merge remote-tracking branch 'origin/master' into 2.6.1Feng Xiao2014-10-092-0/+17
|\
| * Merge pull request #43 from abuszta/bugfixFeng Xiao2014-10-092-0/+17
| |\ | | | | | | Release objects allocated by InitializeDefaultRepeatedFields()
| | * DestroyDefaultRepeatedFields is registered using OnShutdown.Antoni Buszta2014-10-091-3/+1
| | |
| | * InitializeDefaultRepeatedFields() allocates memory but does not release it.Antoni Buszta2014-10-082-0/+19
| | |
* | | Update version number to 2.6.1rc1Feng Xiao2014-10-082-4/+4
|/ /
* | Avoid using the macro name again in macro definitions.Feng Xiao2014-10-081-3/+3
| |
* | Fix the memory leak of GetEmptyString().Feng Xiao2014-10-081-1/+5
|/
* Merge pull request #35 from dsrosario/fix_warningFeng Xiao2014-10-061-1/+1
|\ | | | | Fix "warning C4018: '<' : signed/unsigned mismatch"
| * Fix "warning C4018: '<' : signed/unsigned mismatch" at wire_format_lite_inl.hDinis Rosário2014-09-231-1/+1
| |
* | Down-integrate from internal branch.Feng Xiao2014-10-032-14/+14
| |
* | Replace links to code.google.com/protobuf with ↵Feng Xiao2014-10-01224-227/+227
| | | | | | | | developers.google.com/protocol-buffers
* | Update copyright notice and remove first lineWilliam Orr2014-09-221-2/+1
| |
* | Add support for solaris atomicopsWilliam Orr2014-09-193-1/+204
|/ | | | | | This patch adds support for atomic operations on Solaris, on any platform. It makes use of the atomic functions made available in Solaris' atomic.h header.
* Merge pull request #30 from edmonds/branches/fix_generic_atomicops_memory_modelsxfxyjwf2014-09-191-2/+2
|\ | | | | generic atomicops: promote Acquire_Store() and Release_Load() to use SEQ_CST fence
| * generic atomicops: promote Acquire_Store() and Release_Load() to use SEQ_CST ↵Robert Edmonds2014-09-181-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | fence __atomic_store_n() cannot take a memory model argument of __ATOMIC_ACQUIRE, and __atomic_load_n() cannot take a memory model argument of __ATOMIC_RELEASE, per the GCC documentation: https://gcc.gnu.org/onlinedocs/gcc-4.9.1/gcc/_005f_005fatomic-Builtins.html On Clang this generates a -Watomic-memory-ordering warning. Promote the fences in Acquire_Store() and Release_Load() to the stronger __ATOMIC_SEQ_CST memory model, which ought to be safe. Note that there are no actual uses of Acquire_Store() or Release_Load() in protobuf, though. This follows the TSAN atomicops implementation, which also uses SEQ_CST fences for these functions. (Fixes #25.)
* | platform_macros.h: #undef GOOGLE_PROTOBUF_PLATFORM_ERROR once it's no longer ↵Robert Edmonds2014-09-181-0/+2
|/ | | | needed
* Fix atomicops build failure on non-ClangRobert Edmonds2014-09-182-7/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We cannot use Clang's __has_extension macro unless we really are compiling on Clang, which means we cannot use this expression: #if (defined(__clang__) && __has_extension(c_atomic))) // ... #endif On GCC, this generates the following errors: In file included from ./google/protobuf/stubs/atomicops.h:59:0, from google/protobuf/stubs/atomicops_internals_x86_gcc.cc:36: ./google/protobuf/stubs/platform_macros.h:67:41: error: missing binary operator before token "(" (defined(__clang__) && __has_extension(c_atomic))) ^ In file included from google/protobuf/stubs/atomicops_internals_x86_gcc.cc:36:0: ./google/protobuf/stubs/atomicops.h:196:40: error: missing binary operator before token "(" (defined(__clang__) && __has_extension(c_atomic)) ^ Instead, we have to protect the __has_extension expression by only executing it when __clang__ is defined: #if defined(__clang__) # if __has_extension(c_atomic) // ... # endif #endif
* Expose generic atomicops on ClangRobert S. Edmonds2014-09-132-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | The generic atomicops implementation is only exposed if GCC >= 4.7 is available, but Clang, where the underlying __atomic built-ins are also available, typically only claims to be GCC 4.2. This causes build failures when compiling protobuf or the output of protoc's C++ code generator on an architecture that needs the generic atomicops implementation with Clang. Clang has a "c_atomic" extension which can be tested for which almost does what we want: C11 atomic operations Use __has_feature(c_atomic) or __has_extension(c_atomic) to determine if support for atomic types using _Atomic is enabled. Clang also provides a set of builtins which can be used to implement the <stdatomic.h> operations on _Atomic types. I'm not sure if this guarantees that the GNU atomic builtins (the ones with the __atomic prefix) are also available, but in practice this should guarantee that Clang is new enough. With this change in place, Clang generates several diagnostics when compiling the generic atomicops implementation. These appear to be bugs in the generic atomicops implementation and are not Clang-specific.
* Remove GOOGLE_PROTOBUF_ARCH_PPCRobert S. Edmonds2014-09-131-3/+0
| | | | | | | | | | | | | | | | | The macro GOOGLE_PROTOBUF_ARCH_PPC is not used anywhere in the protobuf source; there is no Power-specific atomics implementation, etc. Funnily enough, the macro __ppc__ is not actually defined on 32-bit Power on GCC/Linux, according to the following webpage: http://nadeausoftware.com/articles/2012/02/c_c_tip_how_detect_processor_type_using_compiler_predefined_macros#POWER and verified on a 32-bit Debian sid 'powerpc' chroot: (sid_powerpc-dchroot)edmonds@partch:~$ gcc -dM -E - < /dev/null | grep -c __ppc__ 0 (sid_powerpc-dchroot)edmonds@partch:~$ gcc -dM -E - < /dev/null | grep -c __LP64__ 0
* remove a const qualifier in a method's return typehuahang2014-09-041-1/+1
|
* fix a compile warninghuahang2014-09-031-1/+1
| | | | | This change fixes the following compiler warning: warning: type qualifiers ignored on function return type [-Wignored-qualifiers]
* Added const qualifier to iterator to enable compiling with VS2008David Hirschfeld2014-08-271-1/+1
|
* merge tags/2.6.0 into trunkjieluo@google.com2014-08-257-10/+158
|
* patch Issue 130740043 to trunk for other atomicops patches: [MIPS64] Add ↵jieluo@google.com2014-08-203-3/+134
| | | | support for MIPS64 in protobuf
* make dist complains the file name is too long and refuse to put it to tar. ↵jieluo@google.com2014-08-142-1/+3
| | | | Change the file to a shorter name
* add shared_pr.hjieluo@google.com2014-08-121-0/+470
|
* down integrate python opensource to svnjieluo@google.com2014-08-123-1/+166
|
* Change java descriptor back to privatejieluo@google.com2014-08-073-25/+5
|
* 1, Add comments for include<algorithm> we added for min/max on VS2013. 2, ↵jieluo@google.com2014-08-073-0/+4
| | | | Add #if/#endif to wrap #undef
* change java compiler to only produce one java filejieluo@google.com2014-08-075-26/+14
|
* use #undef instead of change the name of MemoryBarrierjieluo@google.com2014-08-0611-56/+57
|
* Cygwin doesn't work well if we try to capture stderr and stdout at the same ↵jieluo@google.com2014-08-061-9/+18
| | | | time. Comment one test tempraly for Cygwin. Need to figure out why and add the test back for Cygwin.
* make changes to pass Cygwinjieluo@google.com2014-08-051-5/+9
|
* add #ifdef _MSC_VERjieluo@google.com2014-08-011-2/+2
|
* change some files to pass MSVC 2013jieluo@google.com2014-07-314-12/+26
|
* Change MemoryBarrier() to MemoryBarrierInternal(). Resolve name conflict in ↵jieluo@google.com2014-07-3011-56/+56
| | | | mingw gcc 4.8.1
* Increase the allocated_size_ should be after allocation. Otherwise there ↵jieluo@google.com2014-07-241-1/+1
| | | | might have segmentation fault if allocation throws an exception.
* use decimal constants to avoid casting error with visual c /W4jieluo@google.com2014-07-232-5/+5
| | | | "unary minus operator applied to unsigned type, result still unsigned"
* Add iostream in message.cc. Remove unused in coded_stream_unittest.ccjieluo@google.com2014-07-182-6/+1
|
* delete unused variablejieluo@google.com2014-07-182-4/+0
|
* down integrate to svnjieluo@google.com2014-07-18167-4072/+20324
|
* Down-integrate pending changes from internal repository after previous release.liujisi@google.com2014-05-2811-25/+32
|
* Fix a bug in Arm64 atomicops. (https://codereview.appspot.com/88800045/)xiaofeng@google.com2014-05-051-19/+7
|
* Fix and improve arm64 atomic operations in protobuf stubs (patch from ↵xiaofeng@google.com2014-04-091-97/+56
| | | | | | | rmcilroy@). https://codereview.appspot.com/86030044/
* Add Arm64 AtomicOps (patch from rmcilroy@)xiaofeng@google.com2014-03-262-0/+380
|