We do not want to repeatedly check `using_sso` when iterating over an array. Hence instead of using `Get(i) / Mutable(i)` from base class, we request a pointer to the underlying array (thus, reducing number of checks from N to 1).
Additionally, there is a loop with a `Delete` call - updated it to use `CommonHandler`, so that it reduces code bloat.
PiperOrigin-RevId: 565665669
The new rules are:
- `upb_minitable_proto_library()`: contains the MiniTables only
- `upb_c_proto_library()`: Contains the C API. Depends on the MiniTables
This involved splitting upb code generation into two separate aspects, one for MiniTables and one for the C API.
PiperOrigin-RevId: 565518070
This will allow users such as Kythe to use the same runtime as the default toolchain in their own proto_lang_toolchain definitions.
PiperOrigin-RevId: 565438071
Change PYUPB_DESCRIPTOR_MODULE to "google.protobuf.descriptor_pb2" because protobuf python is using google.protobuf.descriptor_pb2 everywhere
Also check import result of PYUPB_DESCRIPTOR_MODULE
PiperOrigin-RevId: 565409795
Cloud C++ has a CI test that runs against protobuf head and this broke with one
of my recent changes. This change fixes the problem by restoring the previous
visibility entry that was changed.
I'm a little bit surprised that this works, since `@upb` doesn't even exist in
our workspace anymore. It appears that Bazel is happy to ignore that in our
workspace where it doesn't exist, and still respect it in other workspaces
where it does exist.
PiperOrigin-RevId: 565093972
This restores a CI run that used to exist in the upb repo. I still need to add
test runs to exercise the wheels, but this change adds the functionality for
building and uploading them.
PiperOrigin-RevId: 564896637
I already merged this change in #14057, but I'm doing it again because
our syncing process deleted the new files. It should be fixed now so
that it won't do that again.
Now that protobuf and upb share a Bazel repo, we can merge their
third_party/ directories. Because our syncing process doesn't know about
these files, there are multiple steps involved. This first step
duplicates lunit, the next step will update the code to use this new
copy, and then finally we can delete upb/third_party/lunit.
Rust does not need (and should not need) these to be propagated up the tree. The Rust aspect just needs to use the thunks for a single proto_library() rule.
PiperOrigin-RevId: 564827273
A couple weeks ago we moved upb into the protobuf Git repo, and this change
continues the merger of the two repos by making them into a single Bazel repo.
This was mostly a matter of deleting upb's WORKSPACE file and fixing up a bunch
of references to reflect the new structure.
Most of the changes are pretty mechanical, but one thing that needed more
invasive changes was the Python script for generating CMakeLists.txt,
make_cmakelists.py. The WORKSPACE file it relied on no longer exists with this
change, so I updated it to hardcode the information it needed from that file.
PiperOrigin-RevId: 564810016
$Msg$View is incorrect, we need to actually invoke the getter_thunks. We'll use void* to get us off to the races.
Sprinkled in TODOs as appropriate; and we'll tackle imports in another CL. For now, its important to return the actual raw message, and that's what this CL does for our base uses.
PiperOrigin-RevId: 564785201
This allows the compiler to statically detect use-after-free bugs.
This change touches a subset of field types. More changes to follow.
PiperOrigin-RevId: 564777204