Joshua Haberman
fa8b605f78
Implemented MiniDescriptors for proto2 enums.
...
An enum MiniDescriptor simply encodes a set of valid `int32_t` values, so that the protobuf parser can test whether a given enum value is known or not.
The format implemented here is novel and needs to be documented. In short, the format is:
1. base92 values 0-31: 5-bit mask indicating presence or absence of the next five enum values.
2. base92 values 60-91: varint indicating skip over a region of enum values.
Negative enum values are encoded as their `uint32_t` equivalent.
PiperOrigin-RevId: 442892799
3 years ago
Protobuf Team
bef53686ec
Add support for clear field in upbc.
...
Add support for setting extension field value.
PiperOrigin-RevId: 439365359
3 years ago
Joshua Haberman
a5243ff6d9
Restructure our file syncing so GitHub only files are tracked separately in Piper.
...
PiperOrigin-RevId: 438395194
3 years ago
Protobuf Team
b8edc7153f
Internal change
...
PiperOrigin-RevId: 435056074
3 years ago
Joshua Haberman
8d148f023e
Clang-format and fixed missing dep.
3 years ago
Joshua Haberman
970c645140
Fixes for google3 (layering check and formatting).
3 years ago
Joshua Haberman
50c1298f32
Added conformance test variant to exercise dynamic minitable building.
3 years ago
Joshua Haberman
8ede0d552d
Tests are passing.
3 years ago
Joshua Haberman
dfc07a8f89
Added explicit dep on :table from Python.
3 years ago
Joshua Haberman
8c530f9226
Changed generated code deps to avoid deps on core libraries.
...
This will allow the core libraries to be visibility controlled if
necessary.
3 years ago
Matt Kulukundis
42c121ed79
fix msg_test harder
3 years ago
Matt Kulukundis
a3bd5f8f57
fix msg_test to be explicit about its deps
3 years ago
Matt Kulukundis
c49e6dfbac
Switch to using :port
3 years ago
Matt Kulukundis
edd1dd30e7
Fix missing build deps
3 years ago
Matt Kulukundis
92d71a4667
make deps explicit
3 years ago
Matt Kulukundis
c8f823ef0a
explicitly include deps for internal headers
3 years ago
Matt Kulukundis
61b0905040
add some missing testonly attributes
3 years ago
Joshua Haberman
60a3edb87f
Code is in place to generate from upbc, but segv results.
3 years ago
Joshua Haberman
502d6ba1d6
Moved fuzzing to a sub-directory.
...
gRPC does not want to depend on rules_fuzzing.
3 years ago
Joshua Haberman
11b6df0c46
Moved tests into the main source tree.
3 years ago
Joshua Haberman
eac23bc389
WIP.
3 years ago
Joshua Haberman
5dfbc684dd
WIP.
3 years ago
Eli Schleifer
231daa3141
Update BUILD
...
Without visibility public on the windows config build fails with Bazel version 4.2.2
3 years ago
Joshua Haberman
2df18f0a3e
Addressed PR comments.
3 years ago
Joshua Haberman
39365f16a7
Addressed PR comments.
3 years ago
Joshua Haberman
3d437bbcab
Some pre-PR fixes.
3 years ago
Joshua Haberman
4307f5dbba
Fixed the CMake build and amalgamation.
3 years ago
Joshua Haberman
ce012b7b55
Added support for extensions.
3 years ago
Joshua Haberman
173554146f
Updated some docs and removed/rearranged some obsolete stuff.
3 years ago
Joshua Haberman
91d506ac32
Ported ABSL's wyhash to C.
3 years ago
Joshua Haberman
42bdfcb849
Fix BUILD file.
4 years ago
Joshua Haberman
3881393907
Renamed .int.h to _internal.h, for greater clarity.
4 years ago
Matt Kulukundis
da4b75b979
Fix build rules for more restrive deps checks
...
- add msg.int.h access for generated files
- actually declare reflective/non as different things
4 years ago
Joshua Haberman
823eb09694
Update all 2011 dates to 2021.
4 years ago
Joshua Haberman
e59d2c8fa7
Added license headers to all files.
4 years ago
Joshua Haberman
1674f28dd7
Put public message interface into msg.h and moved internal functions to msg.int.h.
4 years ago
Joshua Haberman
83c0edbd2a
A few minor cleanups.
4 years ago
Joshua Haberman
1b9cc09f0e
Removed extraneous copybara directive.
4 years ago
Joshua Haberman
f5d2d55007
Deleted the legacy "Handlers" APIs. upb can finally be deserving of its name.
...
This is possible now that all users have been migrated to the new
upb_msg APIs.
4 years ago
Joshua Haberman
5e550e88f8
Added API for getting fielddef default as a upb_msgval.
4 years ago
Lidi Zheng
f72c26cbc4
Make :json publically visible
4 years ago
Joshua Haberman
695b7f4617
Added code to test UPB_JSONENC_EMITDEFAULTS.
4 years ago
Joshua Haberman
e9b79542ad
Added a BUILD file for wyhash.
...
This will make the build more closely resemble the google3
build.
The CMake output from this is a bit busted, but the build
does succeed.
4 years ago
Joshua Haberman
6c16cba83f
Removed obsolete port.c file.
4 years ago
Joshua Haberman
64abb5eb11
Amalgamation no longer bundles wyhash, but #includes it.
...
Also fixed a few spelling mistakes.
4 years ago
Joshua Haberman
e8f9eac68c
Added #defines UPB_ENABLE_FASTTABLE and UPB_TRY_ENABLE_FASTTABLE.
...
These control whether fasttable decoding is on.
4 years ago
Joshua Haberman
e86541ac1d
Fixed the build after the merge.
4 years ago
Joshua Haberman
558315a1c3
Added COPTS to :port.
4 years ago
Joshua Haberman
7e5bd65098
Plumbed copts (including the crucial -std=c99) to upb_proto_library() aspect.
4 years ago
Joshua Haberman
8f3ee80d46
Drop C89/C90 support and MSVC prior to Visual Studio 2015.
...
upb previously attempted to support C89 and pre-2015 versions
of Visual Studio. This was to support older compilers with
limited C99 support (particularly MSVC). But as of last August,
even gRPC has dropped support for MSVC prior to 2015
c87276d058
Therefore it seems safe for upb to no longer attempt C89 support
(we were already not truly C89 compliant, with our use of "bool").
We now explicitly require C99 or greater and MSVC 2015 or greater.
This cleaned up port_def.inc a fair bit. I took the chance to
also remove some obsolete macros.
4 years ago