Joshua Haberman
5376af452f
Added comments to new public functions.
3 years ago
Joshua Haberman
3206b321e1
Added descriptor containers.
3 years ago
Joshua Haberman
0cb7f72c02
Merge pull request #441 from haberman/be-fixed-decode
...
Properly byte-swap fixed packed fields in the decoder
3 years ago
Joshua Haberman
50978256b9
Properly byte-swap fixed packed fields.
3 years ago
Stan Hu
9836087dd1
Fix LUA out-of-range checks to handle integer overflow
...
As discussed in https://github.com/protocolbuffers/upb/issues/439 , the
LUA binding tests were failing on some compilers (e.g. s390x) since
conversion of out-of-range integers values (e.g. 2^64 or
18446744073709551616) to a double can lead to undefined behavior. On
some compilers, this conversion can return 0, but it can also return the
max value.
To make this check work across platforms, we do the following:
1. Break the double into its integral and fractional components.
2. If there any fractional components, return an error.
3. Compare the min and max values in an intelligent way. We can't simply
compare against UINT64_MAX since that value will get implicitly
converted to a double in an undefined way, and 18446744073709551616 >
UINT64_MAX can return false. Instead, we can use the largest power of
two and use ldexp to generate the max value.
Closes https://github.com/protocolbuffers/upb/issues/439
3 years ago
Joshua Haberman
dee1238cac
Merge pull request #435 from stanhu/sh-fix-enum-handling-be
...
Fix big endian handling of enums
3 years ago
Stan Hu
ba83e135d2
Refactor decode_munge to call decode_munge_int32
...
This avoids an additional type check when decoding packed enums.
3 years ago
Stan Hu
ad4d4076e1
Fix big endian decoding of enum_packed
3 years ago
Stan Hu
c604ed9ae9
Fix big endian handling of enums
...
Previously using an enum for a field on big-endian process such as the
s390x would fail to decode properly. We need to munge it in the correct
byte order before decoding it.
3 years ago
Joshua Haberman
40dfcc2838
Merge pull request #434 from haberman/def-to-proto
...
Added util library for converting defs back to descriptor protos
3 years ago
Joshua Haberman
c59d8f8eb7
Addressed PR comments and fixed the broken test.
3 years ago
Joshua Haberman
d0795a29d9
Test for def_to_proto is working.
3 years ago
Joshua Haberman
0be33b1e3c
WIP.
3 years ago
Joshua Haberman
da350f6aae
Merge pull request #432 from haberman/required2
...
Added a standalone required field check
3 years ago
Joshua Haberman
ec7d8e69da
Updated branch for GitHub Actions master -> main.
3 years ago
Joshua Haberman
1c941dbf16
Added a clarifying comment.
3 years ago
Joshua Haberman
50b360f974
Addressed PR comments.
3 years ago
Joshua Haberman
cfda119c52
Updated the doc comments.
3 years ago
Joshua Haberman
880ca37531
Functionality is complete and it is passing all tests.
3 years ago
Joshua Haberman
5817886392
Simplified the field path representation.
3 years ago
Joshua Haberman
0834ee254b
Baseline code.
3 years ago
Joshua Haberman
160625a972
Merge pull request #431 from haberman/required
...
Required fields checking in the parser
3 years ago
Joshua Haberman
2199be91bc
Fixed UBSAN error.
3 years ago
Joshua Haberman
58968d6a78
A bit of minor code tweaking that improves benchmarks by 10%.
3 years ago
Joshua Haberman
58c1dbc11f
Addressed PR comments.
3 years ago
Joshua Haberman
1618e1b9a6
Fixed case of parsing an unknown field.
3 years ago
Joshua Haberman
779c30949b
Finished up the test.
3 years ago
Joshua Haberman
f7980b7ed1
Restructured for simplicity and fixed fasttable parser.
3 years ago
Joshua Haberman
62bae8fff9
Merge branch 'unknown-opt' into required
3 years ago
Joshua Haberman
dfa28861cc
Don't store field_start, derive it separately.
3 years ago
Joshua Haberman
7c83eb93be
Removed extra size from message.
3 years ago
Joshua Haberman
3d437bbcab
Some pre-PR fixes.
3 years ago
Joshua Haberman
e4855feec8
Merge pull request #429 from haberman/utf8
...
Switched to utf8_range for UTF8 verification
3 years ago
Joshua Haberman
a763267219
Addressed PR comments.
3 years ago
Joshua Haberman
4abe724dde
A few more fixes.
3 years ago
Joshua Haberman
7c8a24dadd
Merge branch 'master' into utf8
3 years ago
Joshua Haberman
4307f5dbba
Fixed the CMake build and amalgamation.
3 years ago
Joshua Haberman
ae6aaa1ff7
Merge pull request #420 from haberman/new-fuzzing
...
Updated rules_fuzzing which brings GCC compatibility.
3 years ago
Joshua Haberman
94565270c9
Checked in unmodified utf8_range code.
3 years ago
Joshua Haberman
b5b32357b3
Merge pull request #427 from haberman/proto2enum
...
Implemented proto2's unfortunate enum behavior
3 years ago
Joshua Haberman
e595ceebc5
Added FALLTHROUGH_INTENDED to fix GCC warning.
3 years ago
Joshua Haberman
42be22faea
Opted the table-driven parser out of fasttable parsing.
3 years ago
Joshua Haberman
7771a0515b
Addressed PR comments.
3 years ago
Joshua Haberman
f21ce7255d
Fixed double-lookups.
3 years ago
Joshua Haberman
16f763e4d6
Addressed PR comments.
3 years ago
Joshua Haberman
9d26c706e0
Removed dependency on popcount() intrinsic.
3 years ago
Joshua Haberman
7907ed913b
Expanded the test to cover packed fields also.
3 years ago
Joshua Haberman
c755099a89
WIP.
3 years ago
Joshua Haberman
e5c1583452
Merge pull request #426 from haberman/defs
...
Filling out the functionality of defs.
3 years ago
Joshua Haberman
6f7634f707
Fixed ABSL version to a specific commit.
3 years ago