| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| |/ / /
| | | |
| | | |
| | | |
| | | | |
With this in place, generating APIs on github.com/google/googleapis works - previously annotations.proto failed.
Currently there's no access to the annotations (stored as extensions) but we could potentially expose those at a later date.
|
| |\ \ \
| | | | |
| | | | | |
Remove our own version of MakeTag now that the main one is fixed.
|
| | | | |
| | | | |
| | | | |
| | | | | |
"Tested" by regenerating code and observing that there are no changes.
|
| |\ \ \ \
| | |/ / /
| |/| | | |
Fix groups handling in C#
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Now the generated code doesn't need to check for end group tags, as it will skip whole groups at a time.
Currently it will ignore extraneous end group tags, which may or may not be a good thing.
Renamed ConsumeLastField to SkipLastField as it felt more natural.
Removed WireFormat.IsEndGroupTag as it's no longer useful.
This mostly fixes issue 688.
(Generated code changes coming in next commit.)
|
| |\ \ \ \
| | | | | |
| | | | | | |
Down integrate. Generate a package name suffix ".nano" for nano messages
|
| | |\ \ \ \ |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
Also introducing an option javanano_use_deprecated_package to allow users to disable the suffix
|
| | |_|/ / /
| |/| | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
stream", rather than using an awkward out parameter.
This simplifies quite a lot of code.
Generated code in next commit.
|