| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| | |
Conflicts:
src/google/protobuf/extension_set.h
|
| |\
| | |
| | | |
Move StringSpaceUsedIncludingSelf to lite library.
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| |\ \
| | | |
| | | | |
Remove a static initializer by removing a global of non-POD type.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| |\ \ \
| | | | |
| | | | | |
Fix GOOGLE_PROTOBUF_ATOMICOPS_ERROR syntax error
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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".
|
| |\ \ \ \
| | |_|/ /
| |/| | | |
Delete kNanosPerSecond from time.cc.
|
| | | |/
| | |/|
| | | |
| | | | |
This variable is unused, and thus triggers a build warning on MSVC.
|
| |\ \ \
| | | | |
| | | | | |
Fix the no-op definitions of GOOGLE_PREDICT_{TRUE,FALSE}
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix bugs for objectivec
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| | |/ / /
| |/| | | |
|
| |\ \ \ \
| | |_|/ /
| |/| | | |
Fix JSON map fields parsing.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: If61e16cea84492474a71bbfe985131ec980b0b0a
|
| | | | | |
|
| |_|/ /
|/| | | |
|
|\ \ \ \
| | | | |
| | | | | |
Fix compile issues with -std=c++11
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This compiles with -std=c++11:
message Foo {
map<string, Foo> value = 1;
}
This does not compile:
message Foo {
map<int32, Foo> value = 1;
}
Needs to dig more into the underlying issue.
|
|\ \ \ \ \
| | | | | |
| | | | | | |
fix "memory leaks" in protostream-object files.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Change-Id: I0aca56802d974cb03cb89c1a294f37068b5b9758
|
|\| | | | |
| |/ / / /
|/| | | | |
Fix commandline interface file under heapcheck.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The internal down-integrate script probably does not handle the
top level macros well. Moved the macro inside of the namespace
declrations to avoid down-integrate errors in the future.
Change-Id: I3790357f36b0204a2a26577805192a3a1e989df8
|
|\ \ \ \ \
| |/ / / /
|/| / / /
| |/ / / |
|
| |\ \ \
| | | | |
| | | | | |
Define GOOGLE_ATTRIBUTE_NOINLINE for MSVC. Workaround for VS2015 Release build compiler bug
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
build compiler bug.
See issue #240 - MSVC in VS2015 seems to inline a function it shouldn't. My original workaround was to disable inlining for the whole file, but I found a way to do it on just this specific function using __declspec(noinline).
Unfortunately __declspec has to go at the start of the function declaration, while __attribute in GCC can go either before or after. I had to move lots of GOOGLE_ATTRIBUTE_NOLINE to make it compile. I have not yet tested this change with GCC.
Will there be other side effects of defining this, given it wasn't previously?
I also noticed a few functions marked with both the 'inline' keyword, and GOOGLE_ATTRIBUTE_NOINLINE - huh? Is there an explanation for this, or is it an oversight?
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We now do this in protoc instead of the generation simpler.
Benefits:
- Generation script is simpler
- Detection is simpler as we now only need to care about one filename
- The embedded descriptor knows itself as "google/protobuf/descriptor.proto" avoiding dependency issues
This PR also makes the "invalid dependency" exception clearer in terms of expected and actual dependencies.
|
| |/ / / |
|
|\ \ \ \
| | | | |
| | | | | |
Fix bugs on windows
|
| | | | | |
|
|\ \ \ \ \ |
|
| |/ / / /
| | | | |
| | | | |
| | | | | |
(cherry-picking an intenral change).
|
| | | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I74a73d3135ec1e0e4d52d741a77456b8e55f038f
|
|\| | | |
| | | | |
| | | | |
| | | | | |
Change-Id: I83a93fdb119a643fbc884e6ec3624493f6270370
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
|\ \ \ \ \
| |/ / / /
|/| | | |
| | | | |
| | | | | |
Manually merge pull request: https://github.com/google/protobuf/pull/674
that fixes the gcc C++11 build.
|
| | | | | |
|
|\ \ \ \ \
| | |/ / /
| |/| | |
| | | | | |
Change-Id: If3fb07754a734bae610d95124528e073515ac525
|
| |\ \ \ \
| | | | | |
| | | | | | |
C# fix for TypeInitializer exception.
|
| | | | | | |
|
| |\ \ \ \ \
| | |/ / / /
| |/| | | | |
Add support for a file listing expected package to objc prefixes for validation.
|
| | | |/ /
| | |/| |
| | | | |
| | | | |
| | | | |
| | | | | |
- Add a env var to pass a set of expected prefixes for validation.
- Report warnings/errors based on the expected prefixes vs. the data in the files compiled.
- Use some helpers from common directory.
|