| Commit message (Collapse) | Author | Age |
... | |
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Removed the redefination in the atomicword_compat.h. Now Atomic32 will
alwyas be intptr_t in 32bit platforms, the bridge is no longer needed.
- Change NaCl 64bit to use intptr_t instead of int32 for Atomic32,
otherwise AtmoicWord APIs will miss the definations.
After this change, the AtmoicWord will always be either Atomic32 or
Atmoic64 depending on the platforms.
|
|/ / |
|
|\ \
| | |
| | | |
fix implicit fallthrough in gcc 7
|
| | | |
|
| | | |
|
| | | |
|
|/ /
| |
| |
| | |
fixes #3700
|
|\ \ |
|
| | | |
|
| | | |
|
|\| |
| | |
| | | |
Merge fixes from 3.4.x into master
|
| | |
| | |
| | | |
Fixing -Wexpansion-to-defined Clang warning
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
- Use scoped_array instead of unique_ptr.
- Do not use string::front() and string::back()
|
|\| | |
|
| | |
| | |
| | |
| | | |
expansion producing 'defined' was warning on undefined behavior.
|
| | | |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
This excludes cygwin and mingw from using the self implemented
functions.
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The typedefs for Atomic32 and Atomic64 were sometimes causing
Atomic32 to be an int32 rather than an intptr_t on 32-bit platforms.
On some of these platforms (ARM/CortexM building with GCC 6 in one
case) int32 is a long int, while intptr_t is an int, which causes a
compiler error even though long int and int are both 4 bytes.
Having Atomic32 always be intptr_t on 32-bit platforms and Atomic64
always be intptr_t on 64-bit platforms should resolve any of these
types of errors.
|
| | |
| | |
| | |
| | | |
Verified test succeed under draconian heap checker
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
Previous code duplicates io_win32.cc in sources of all the libraries
that include io_win32.h header.
|
| | | |
|
| | | |
|
|\ \ \
| | | |
| | | | |
Windows: support long paths in open/mkdir/access
|
|\ \ \ \
| | | | |
| | | | | |
Merge 3.3.x into master
|
| | | |\ \
| |_|_|/ /
|/| | | | |
|
| | | | | |
|
| |\ \ \ \ |
|
|/ / / / /
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Correct a couple places where macros were being checked when they
might not exist in some cases.
Fixes #3356.
|
| |/ / /
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add implementations of open(2), mkdir(2), stat(2),
etc. that support long paths under Windows (paths
longer than MAX_PATH in <windows.h>, which is 260
characters).
The implementations are in a separate namespace
(google::protobuf::internal::win32), so they won't
collide with the standard implementations in
<io.h>, but after importing them with `using` they
can be drop-in replacements.
Fixes https://github.com/bazelbuild/bazel/issues/2634
Fixes https://github.com/google/protobuf/issues/2891
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Rather than crashing on use (doh!) better to just declare this platform
is missing a proper hash_map/hash_set implementation and use
the std::map/std::set emulation.
Fixes regression introduced by #1913
|
| | | |
| | | |
| | | | |
* Remove using std::{set,map}
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
About 1.5% of all IEEE754 single-precision numbers require nine
decimal digits to represent accurately.
|
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
* Comment out unused arguments.
These last few are all that's needed to compile with -Wunused-arguments.
* Fix missing struct field initializer.
With this fix, everything compiles with -Wmissing-field-initializers.
* Add support for disabling unaligned memory accesses on x86 too.
ubsan doesn't like these because they are technically undefined
behavior, so -DGOOGLE_PROTOBUF_DONT_USE_UNALIGNED will disable them easily.
* Avoid undefined integer overflow.
ubsan catches all of these.
|
| | | |
|
|\| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This prevents the contents of the std namespace from being effectively
pulled into the top-level namespace in all translation units that
include common.h. I left in individual using statements for a few common
things like std::set and std::map, because it did not seem worth going
through the churn of updating the whole codebase to fix those right now.
|
|/ / |
|
| |
| |
| |
| |
| |
| |
| | |
arm-nacl-clang seems to produce a mysterious compiler error when it
encounters __builtin_clzll, so when we are building for NaCl, let's
avoid that in favor of the portable implementation of
Log2FloorNonZero64.
|
|\ \
| | |
| | | |
Fix freebsd build.
|
|\ \ \
| | | |
| | | | |
Updated an outdated comment in bytestream.h
|