| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
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.
|
| | |/ / /
| |/| | |
| | | | |
| | | | |
| | | | | |
This is expected to be the cause of the conformance test failures.
Generated code in next commit.
|
| |\ \ \ \
| | |_|/ /
| |/| | | |
Various compilation fixes
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Based on pull request feedback. See commit 60c5222 for why the pthread
header is necessary.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Fixes compilation when -Wunused-private-field is enabled (e.g., when
using -Wall).
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The issue occurs when the template type deduction results in NodeType
being const.
Shortened version of compile error:
no matching function for call to 'operator new'
new (p) NodeType(std::forward<Args>(args)...);
candidate function not viable: no known conversion from 'const
std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> > *' to 'void *' for 2nd argument; take the
address of the argument with &
inline __attribute__ ((__visibility__("hidden"), __always_inline__))
void* operator new (std::size_t, void* __p) noexcept {return __p;}
|
| | |/ /
| | | |
| | | |
| | | |
| | | | |
When GOOGLE_PROTOBUF_NO_THREADLOCAL is defined, classes that depend on
pthread functions are included (such as ThreadLocalStorage).
|
| |\ \ \
| | | | |
| | | | | |
Fix build failure on Windows when Unicode build is enabled.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This is a follow up CL for e9abc404df99ef85d3e25aaaccd4aa83e381,
which breaks build when UNICODE macro is defined.
protoc has explicitly called MBCS version of APIs / funcsions
rather than UTF-16 (wchar_t) version of them regardless of
UNICODE macro definition (and it indeed works as expected).
Hence it makes sense to call GetModuleFileNameA explicitly.
|
| | | | | |
|
| | | | | |
|
| |\ \ \ \
| | | | | |
| | | | | | |
Merge C# proto3 from csharp-experimental to master
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Instead, introduce GeneratedCodeInfo which passes in what we need, and adjust the codegen to take account of this.
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Changes in brief:
1. Descriptor is now the entry point for all reflection.
2. IReflectedMessage has gone; there's now a Descriptor property in IMessage, which is explicitly implemented (due to the static property).
3. FieldAccessorTable has gone away
4. IFieldAccessor and OneofFieldAccessor still exist; we *could* put the functionality straight into FieldDescriptor and OneofDescriptor... I'm unsure about that.
5. There's a temporary property MessageDescriptor.FieldAccessorsByFieldNumber to make the test changes small - we probably want this to go away
6. Discovery for delegates is now via attributes applied to properties and the Clear method of a oneof
I'm happy with 1-3.
4 I'm unsure about - feedback welcome.
5 will go away
6 I'm unsure about, both in design and implementation. Should we have a ProtobufMessageAttribute too? Should we find all the relevant attributes in MessageDescriptor and pass them down, to avoid an O(N^2) scenario?
Generated code changes coming in the next commit.
|
| | |\| | |
| | | | | |
| | | | | | |
Integrate changes from upstream/master into csharp-experimental
|
| | |\ \ \ \
| | | | | | |
| | | | | | | |
C# wrapper types
|
| | | | | | | |
|
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
- We do still generate the message types, as otherwise reflection breaks, even though it doesn't actually use those types.
- JSON handling hasn't been implemented yet
|