This is an automated email from the ASF dual-hosted git repository.
paleolimbot pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/arrow-nanoarrow.git
The following commit(s) were added to refs/heads/main by this push:
new e7498afa chore: Update vendored flatcc and regenerate flatcc headers
(#854)
e7498afa is described below
commit e7498afaf0f5b5f4ea75a3058d6704b8e611b089
Author: Dewey Dunnington <[email protected]>
AuthorDate: Fri Mar 6 08:41:42 2026 -0600
chore: Update vendored flatcc and regenerate flatcc headers (#854)
The updates to flatcc since the last time we did this are minimal. I
kept two modifications (ignoring a dead store for clang-analyzer and
ensuring that the align macro continues to be suppressed for clang that
already has it built in). I added one more for #850 (commenting out
`flatbuffers_true` and `flatbuffers_false`, which are never used).
The arrow format spec has been updated slightly but I think these are
just comments (we already support decimal32/64).
Closes #850.
```
root@60c644e4d256:/arrow-nanoarrow/r# R CMD INSTALL .
* installing to library '/usr/local/lib/R/site-library'
* installing *source* package 'nanoarrow' ...
** using staged installation
Vendoring files from arrow-nanoarrow to src/:
[0] python3 ../ci/scripts/bundle.py --symbol-namespace=RPkg
--header-namespace= --include-output-dir=src --source-output-dir=src --with-ipc
--with-flatcc
Found vendored nanoarrow
Using PKG_CPPFLAGS=
Using PKG_LIBS=
** libs
using C compiler: 'gcc (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0'
using C++ compiler: 'g++ (Ubuntu 13.3.0-6ubuntu2~24.04.1) 13.3.0'
gcc -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I../src
-DFLATCC_USE_GENERIC_ALIGNED_ALLOC -fPIC -Wunused-const-variable
-Wmisleading-indentation -c flatcc.c -o flatcc.o
gcc -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I../src
-DFLATCC_USE_GENERIC_ALIGNED_ALLOC -fPIC -Wunused-const-variable
-Wmisleading-indentation -c nanoarrow.c -o nanoarrow.o
gcc -I"/usr/share/R/include" -DNDEBUG -I../inst/include -I../src
-DFLATCC_USE_GENERIC_ALIGNED_ALLOC -fPIC -Wunused-const-variable
-Wmisleading-indentation -c nanoarrow_ipc.c -o nanoarrow_ipc.o
g++ -std=gnu++17 -shared -L/usr/lib/R/lib -Wl,-Bsymbolic-functions
-flto=auto -ffat-lto-objects -Wl,-z,relro -o nanoarrow.so altrep.o array.o
array_stream.o array_view.o as_array.o buffer.o convert.o convert_array.o
convert_array_stream.o flatcc.o infer_ptype.o init.o ipc.o materialize.o
nanoarrow.o nanoarrow_cpp.o nanoarrow_ipc.o pointers.o schema.o util.o vctr.o
version.o -L/usr/lib/R/lib -lR
installing to /usr/local/lib/R/site-library/00LOCK-r/00new/nanoarrow/libs
** R
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded from temporary location
** checking absolute paths in shared objects and dynamic libraries
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation
path
* DONE (nanoarrow)
```
---
dev/update_fbs.sh | 17 ++-
dev/update_vendored_flatcc.sh | 7 +-
src/nanoarrow/ipc/decoder.c | 44 ++++++-
src/nanoarrow/ipc/flatcc_generated.h | 138 +++++++++++----------
thirdparty/flatcc/include/flatcc/flatcc_endian.h | 2 +-
thirdparty/flatcc/include/flatcc/flatcc_types.h | 5 +-
thirdparty/flatcc/include/flatcc/flatcc_verifier.h | 4 +-
.../flatcc/include/flatcc/portable/pstdint.h | 2 +-
thirdparty/flatcc/src/runtime/builder.c | 7 +-
thirdparty/flatcc/src/runtime/verifier.c | 2 +-
10 files changed, 147 insertions(+), 81 deletions(-)
diff --git a/dev/update_fbs.sh b/dev/update_fbs.sh
index 787e13c6..a1a76265 100755
--- a/dev/update_fbs.sh
+++ b/dev/update_fbs.sh
@@ -15,6 +15,11 @@
# specific language governing permissions and limitations
# under the License.
+REPO=`git rev-parse --show-toplevel`
+if [ -z "$REPO" ]; then
+ exit 1
+fi
+
# get the .fbs files from the arrow repo
mkdir -p format && cd format
@@ -24,8 +29,16 @@ curl -L
https://github.com/apache/arrow/raw/main/format/SparseTensor.fbs --outpu
curl -L https://github.com/apache/arrow/raw/main/format/Message.fbs --output
Message.fbs
curl -L https://github.com/apache/arrow/raw/main/format/File.fbs --output
File.fbs
-# compile using flatcc
-flatcc --common --reader --builder --verifier --recursive --outfile
../../src/nanoarrow/ipc/flatcc_generated.h *.fbs
+# Download and build flatcc. Use the same version we vendor.
+git clone https://github.com/dvidelabs/flatcc.git
+git -C flatcc checkout e3e44836c5f625b5532586ddce895f8b5e36a212
+
+pushd flatcc
+cmake . && cmake --build .
+popd
+
+GENERATED="${REPO}/src/nanoarrow/ipc/flatcc_generated.h"
+flatcc/bin/flatcc --common --reader --builder --verifier --recursive --outfile
"${GENERATED}" *.fbs
# clean up
cd ..
diff --git a/dev/update_vendored_flatcc.sh b/dev/update_vendored_flatcc.sh
index 716e5f97..55e78682 100755
--- a/dev/update_vendored_flatcc.sh
+++ b/dev/update_vendored_flatcc.sh
@@ -22,7 +22,7 @@ fi
# Download flatcc
git clone https://github.com/dvidelabs/flatcc.git
-git -C flatcc checkout bf4f67a16d85541e474f1d67b8fb64913ba72bc7
+git -C flatcc checkout e3e44836c5f625b5532586ddce895f8b5e36a212
# Remove previous vendored flatcc
rm -rf $REPO/thirdparty/flatcc
@@ -45,6 +45,11 @@ cp flatcc/src/runtime/emitter.c \
# This list is in topological order and could be used for a single-file
include;
# however, this approach is easier to support alongside a previous installation
# of the flatcc runtime.
+if ! command -v makedepend > /dev/null 2>&1 ; then
+ echo "update_vendored_flatccc.sh requires makedepend (e.g., brew install
makedepend)"
+ exit 1
+fi
+
makedepend -s#: -f- -- -Iflatcc/include -I$REPO/src -DFLATCC_PORTABLE --
2>/dev/null \
`ls $REPO/thirdparty/flatcc/src/runtime/*.c` `ls
$REPO/src/nanoarrow/ipc/*.c` | \
# Remove the '<src file>.o: ' prefix
diff --git a/src/nanoarrow/ipc/decoder.c b/src/nanoarrow/ipc/decoder.c
index 202715e8..07bfbe0f 100644
--- a/src/nanoarrow/ipc/decoder.c
+++ b/src/nanoarrow/ipc/decoder.c
@@ -102,8 +102,50 @@ struct ArrowIpcDecoderPrivate {
};
ArrowErrorCode ArrowIpcCheckRuntime(struct ArrowError* error) {
- // Avoids an unused warning when bundling the header into nanoarrow_ipc.c
+ // Avoids unused warnings when bundling the header into nanoarrow_ipc.c
NANOARROW_UNUSED(flatbuffers_end);
+ NANOARROW_UNUSED(flatcc_builder_is_nested);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Null_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Struct__required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_List_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_LargeList_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_ListView_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_LargeListView_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_FixedSizeList_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Map_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Union_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Int_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_FloatingPoint_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Utf8_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Binary_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_LargeUtf8_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_LargeBinary_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Utf8View_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_BinaryView_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_FixedSizeBinary_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Bool_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_RunEndEncoded_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Decimal_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Date_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Time_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Timestamp_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Interval_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Duration_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_KeyValue_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_DictionaryEncoding_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Field_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Schema_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Footer_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_TensorDim_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Tensor_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_SparseTensorIndexCOO_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_SparseMatrixIndexCSX_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_SparseTensorIndexCSF_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_SparseTensor_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_BodyCompression_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_RecordBatch_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_DictionaryBatch_required);
+ NANOARROW_UNUSED(__org_apache_arrow_flatbuf_Message_required);
const char* nanoarrow_runtime_version = ArrowNanoarrowVersion();
const char* nanoarrow_ipc_build_time_version = NANOARROW_VERSION;
diff --git a/src/nanoarrow/ipc/flatcc_generated.h
b/src/nanoarrow/ipc/flatcc_generated.h
index a78a73f8..82ba6b45 100644
--- a/src/nanoarrow/ipc/flatcc_generated.h
+++ b/src/nanoarrow/ipc/flatcc_generated.h
@@ -189,7 +189,7 @@ static inline int N ## _ ## NK ## _is_present(N ## _table_t
t__tmp)\
__## NS ## field_present(ID, t__tmp)\
static inline T ## _union_t N ## _ ## NK ## _union(N ## _table_t t__tmp)\
{ T ## _union_t u__tmp = { 0, 0 }; u__tmp.type = N ## _ ## NK ##
_type_get(t__tmp);\
- if (u__tmp.type == 0) return u__tmp; u__tmp.value = N ## _ ## NK ##
_get(t__tmp); return u__tmp; }\
+ if (u__tmp.type == 0) { return u__tmp; } u__tmp.value = N ## _ ## NK ##
_get(t__tmp); return u__tmp; }\
static inline NS ## string_t N ## _ ## NK ## _as_string(N ## _table_t t__tmp)\
{ return NS ## string_cast_from_generic(N ## _ ## NK ## _get(t__tmp)); }\
@@ -810,7 +810,7 @@ static inline N ## _union_vec_ref_t N ## _vec_clone(NS ##
builder_t *B, N ##_uni
_uvref.type = flatcc_builder_refmap_find(B, vec.type); _uvref.value =
flatcc_builder_refmap_find(B, vec.value);\
_len = N ## _union_vec_len(vec); if (_uvref.type == 0) {\
_uvref.type = flatcc_builder_refmap_insert(B, vec.type,
(flatcc_builder_create_type_vector(B, vec.type, _len))); }\
- if (_uvref.type == 0) return _ret; if (_uvref.value == 0) {\
+ if (_uvref.type == 0) { return _ret; } if (_uvref.value == 0) {\
if (flatcc_builder_start_offset_vector(B)) return _ret;\
for (_i = 0; _i < _len; ++_i) { _uref = N ## _clone(B, N ##
_union_vec_at(vec, _i));\
if (!_uref.value || !(flatcc_builder_offset_vector_push(B, _uref.value)))
return _ret; }\
@@ -915,11 +915,11 @@ __flatbuffers_build_offset_vector(NS, NS ## string)
static inline T *N ## _array_copy(T *p, const T *p2, size_t n)\
{ memcpy(p, p2, n * sizeof(T)); return p; }\
static inline T *N ## _array_copy_from_pe(T *p, const T *p2, size_t n)\
-{ size_t i; if (NS ## is_native_pe()) memcpy(p, p2, n * sizeof(T)); else\
- for (i = 0; i < n; ++i) N ## _copy_from_pe(&p[i], &p2[i]); return p; }\
+{ size_t i; if (NS ## is_native_pe()) memcpy(p, p2, n * sizeof(T)); else {\
+ for (i = 0; i < n; ++i) N ## _copy_from_pe(&p[i], &p2[i]); } return p; }\
static inline T *N ## _array_copy_to_pe(T *p, const T *p2, size_t n)\
-{ size_t i; if (NS ## is_native_pe()) memcpy(p, p2, n * sizeof(T)); else\
- for (i = 0; i < n; ++i) N ## _copy_to_pe(&p[i], &p2[i]); return p; }
+{ size_t i; if (NS ## is_native_pe()) memcpy(p, p2, n * sizeof(T)); else {\
+ for (i = 0; i < n; ++i) N ## _copy_to_pe(&p[i], &p2[i]); } return p; }
#define __flatbuffers_define_scalar_primitives(NS, N, T)\
static inline T *N ## _from_pe(T *p) { return __ ## NS ## from_pe(p, N); }\
static inline T *N ## _to_pe(T *p) { return __ ## NS ## to_pe(p, N); }\
@@ -1823,8 +1823,8 @@ static inline int
org_apache_arrow_flatbuf_MetadataVersion_is_known_value(org_ap
* forward compatibility guarantees).
* 2. A means of negotiating between a client and server
* what features a stream is allowed to use. The enums
- * values here are intented to represent higher level
- * features, additional details maybe negotiated
+ * values here are intended to represent higher level
+ * features, additional details may be negotiated
* with key-value pairs specific to the protocol.
*
* Enums added to this list should be assigned power-of-two values
@@ -2149,7 +2149,7 @@ __flatbuffers_define_scalar_field(0,
org_apache_arrow_flatbuf_FixedSizeList, lis
* may be set in the metadata for this field.
*
* In a field with Map type, the field has a child Struct field, which then
- * has two children: key type and the second the value type. The names of the
+ * has two children: the key type and the value type. The names of the
* child fields may be respectively "entries", "key", and "value", but this is
* not enforced.
*
@@ -2320,9 +2320,9 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_RunEndEncoded)
/** Exact decimal value represented as an integer value in two's
- * complement. Currently only 128-bit (16-byte) and 256-bit (32-byte) integers
- * are used. The representation uses the endianness indicated
- * in the Schema. */
+ * complement. Currently 32-bit (4-byte), 64-bit (8-byte),
+ * 128-bit (16-byte) and 256-bit (32-byte) integers are used.
+ * The representation uses the endianness indicated in the Schema. */
struct org_apache_arrow_flatbuf_Decimal_table { uint8_t unused__; };
static inline size_t
org_apache_arrow_flatbuf_Decimal_vec_len(org_apache_arrow_flatbuf_Decimal_vec_t
vec)
@@ -2335,7 +2335,7 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_Decimal)
__flatbuffers_define_scalar_field(0, org_apache_arrow_flatbuf_Decimal,
precision, flatbuffers_int32, int32_t, INT32_C(0))
/** Number of digits after the decimal point "." */
__flatbuffers_define_scalar_field(1, org_apache_arrow_flatbuf_Decimal, scale,
flatbuffers_int32, int32_t, INT32_C(0))
-/** Number of bits per value. The only accepted widths are 128 and 256.
+/** Number of bits per value. The accepted widths are 32, 64, 128 and 256.
* We use bitWidth for consistency with Int::bitWidth. */
__flatbuffers_define_scalar_field(2, org_apache_arrow_flatbuf_Decimal,
bitWidth, flatbuffers_int32, int32_t, INT32_C(128))
@@ -2661,7 +2661,7 @@ __flatbuffers_define_scalar_field(0,
org_apache_arrow_flatbuf_DictionaryEncoding
* and to avoid uint64 indices unless they are required by an application. */
__flatbuffers_define_table_field(1,
org_apache_arrow_flatbuf_DictionaryEncoding, indexType,
org_apache_arrow_flatbuf_Int_table_t, 0)
/** By default, dictionaries are not ordered, or the order does not have
- * semantic meaning. In some statistical, applications, dictionary-encoding
+ * semantic meaning. In some statistical applications, dictionary-encoding
* is used to represent ordered categorical data, and we provide a way to
* preserve that metadata here */
__flatbuffers_define_scalar_field(2,
org_apache_arrow_flatbuf_DictionaryEncoding, isOrdered, flatbuffers_bool,
flatbuffers_bool_t, UINT8_C(0))
@@ -2678,7 +2678,7 @@ static inline org_apache_arrow_flatbuf_Field_table_t
org_apache_arrow_flatbuf_Fi
__flatbuffers_offset_vec_at(org_apache_arrow_flatbuf_Field_table_t, vec, i, 0)
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_Field)
-/** Name is not required, in i.e. a List */
+/** Name is not required (e.g., in a List) */
__flatbuffers_define_string_field(0, org_apache_arrow_flatbuf_Field, name, 0)
/** Whether or not this field can contain nulls. Should be true in general. */
__flatbuffers_define_scalar_field(1, org_apache_arrow_flatbuf_Field, nullable,
flatbuffers_bool, flatbuffers_bool_t, UINT8_C(0))
@@ -5427,7 +5427,7 @@ typedef flatbuffers_uoffset_t
*org_apache_arrow_flatbuf_Footer_mutable_vec_t;
struct org_apache_arrow_flatbuf_Block {
- /** Index to the start of the RecordBlock (note this is past the Message
header) */
+ /** Index to the start of the RecordBatch (note this is past the Message
header) */
alignas(8) int64_t offset;
/** Length of the metadata */
alignas(4) int32_t metaDataLength;
@@ -6235,8 +6235,8 @@ static inline int
org_apache_arrow_flatbuf_MetadataVersion_is_known_value(org_ap
* forward compatibility guarantees).
* 2. A means of negotiating between a client and server
* what features a stream is allowed to use. The enums
- * values here are intented to represent higher level
- * features, additional details maybe negotiated
+ * values here are intended to represent higher level
+ * features, additional details may be negotiated
* with key-value pairs specific to the protocol.
*
* Enums added to this list should be assigned power-of-two values
@@ -6561,7 +6561,7 @@ __flatbuffers_define_scalar_field(0,
org_apache_arrow_flatbuf_FixedSizeList, lis
* may be set in the metadata for this field.
*
* In a field with Map type, the field has a child Struct field, which then
- * has two children: key type and the second the value type. The names of the
+ * has two children: the key type and the value type. The names of the
* child fields may be respectively "entries", "key", and "value", but this is
* not enforced.
*
@@ -6732,9 +6732,9 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_RunEndEncoded)
/** Exact decimal value represented as an integer value in two's
- * complement. Currently only 128-bit (16-byte) and 256-bit (32-byte) integers
- * are used. The representation uses the endianness indicated
- * in the Schema. */
+ * complement. Currently 32-bit (4-byte), 64-bit (8-byte),
+ * 128-bit (16-byte) and 256-bit (32-byte) integers are used.
+ * The representation uses the endianness indicated in the Schema. */
struct org_apache_arrow_flatbuf_Decimal_table { uint8_t unused__; };
static inline size_t
org_apache_arrow_flatbuf_Decimal_vec_len(org_apache_arrow_flatbuf_Decimal_vec_t
vec)
@@ -6747,7 +6747,7 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_Decimal)
__flatbuffers_define_scalar_field(0, org_apache_arrow_flatbuf_Decimal,
precision, flatbuffers_int32, int32_t, INT32_C(0))
/** Number of digits after the decimal point "." */
__flatbuffers_define_scalar_field(1, org_apache_arrow_flatbuf_Decimal, scale,
flatbuffers_int32, int32_t, INT32_C(0))
-/** Number of bits per value. The only accepted widths are 128 and 256.
+/** Number of bits per value. The accepted widths are 32, 64, 128 and 256.
* We use bitWidth for consistency with Int::bitWidth. */
__flatbuffers_define_scalar_field(2, org_apache_arrow_flatbuf_Decimal,
bitWidth, flatbuffers_int32, int32_t, INT32_C(128))
@@ -7073,7 +7073,7 @@ __flatbuffers_define_scalar_field(0,
org_apache_arrow_flatbuf_DictionaryEncoding
* and to avoid uint64 indices unless they are required by an application. */
__flatbuffers_define_table_field(1,
org_apache_arrow_flatbuf_DictionaryEncoding, indexType,
org_apache_arrow_flatbuf_Int_table_t, 0)
/** By default, dictionaries are not ordered, or the order does not have
- * semantic meaning. In some statistical, applications, dictionary-encoding
+ * semantic meaning. In some statistical applications, dictionary-encoding
* is used to represent ordered categorical data, and we provide a way to
* preserve that metadata here */
__flatbuffers_define_scalar_field(2,
org_apache_arrow_flatbuf_DictionaryEncoding, isOrdered, flatbuffers_bool,
flatbuffers_bool_t, UINT8_C(0))
@@ -7090,7 +7090,7 @@ static inline org_apache_arrow_flatbuf_Field_table_t
org_apache_arrow_flatbuf_Fi
__flatbuffers_offset_vec_at(org_apache_arrow_flatbuf_Field_table_t, vec, i, 0)
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_Field)
-/** Name is not required, in i.e. a List */
+/** Name is not required (e.g., in a List) */
__flatbuffers_define_string_field(0, org_apache_arrow_flatbuf_Field, name, 0)
/** Whether or not this field can contain nulls. Should be true in general. */
__flatbuffers_define_scalar_field(1, org_apache_arrow_flatbuf_Field, nullable,
flatbuffers_bool, flatbuffers_bool_t, UINT8_C(0))
@@ -10236,11 +10236,11 @@ static inline int
org_apache_arrow_flatbuf_SparseMatrixCompressedAxis_is_known_v
* EXPERIMENTAL: Data structures for sparse tensors
* Coordinate (COO) format of sparse tensor index.
*
- * COO's index list are represented as a NxM matrix,
+ * COO's index list is represented as an NxM matrix,
* where N is the number of non-zero values,
* and M is the number of dimensions of a sparse tensor.
*
- * indicesBuffer stores the location and size of the data of this indices
+ * indicesBuffer stores the location and size of the data of these indices
* matrix. The value type and the stride of the indices matrix is
* specified in indicesType and indicesStrides fields.
*
@@ -10261,7 +10261,7 @@ static inline int
org_apache_arrow_flatbuf_SparseMatrixCompressedAxis_is_known_v
* [2, 2, 3, 1, 2, 0],
* [0, 1, 0, 0, 3, 4]]
* ```
- * When isCanonical is true, the indices is sorted in lexicographical order
+ * When isCanonical is true, the indices are sorted in lexicographical order
* (row-major order), and it does not have duplicated entries. Otherwise,
* the indices may not be sorted, or may have duplicated entries. */
struct org_apache_arrow_flatbuf_SparseTensorIndexCOO_table { uint8_t unused__;
};
@@ -10329,7 +10329,7 @@ __flatbuffers_define_table_field(3,
org_apache_arrow_flatbuf_SparseMatrixIndexCS
* contains the column indices of the corresponding non-zero values.
* The type of index value is long.
*
- * For example, the indices of the above X is:
+ * For example, the indices of the above X are:
* ```text
* indices(X) = [1, 2, 2, 1, 3, 0, 2, 3, 1].
* ```
@@ -10351,7 +10351,7 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_SparseTensorIndexCSF)
* CSF index recursively compresses each dimension of a tensor into a set
* of prefix trees. Each path from a root to leaf forms one tensor
* non-zero index. CSF is implemented with two arrays of buffers and one
- * arrays of integers.
+ * array of integers.
*
* For example, let X be a 2x3x4x5 tensor and let it have the following
* 8 non-zero values:
@@ -10383,7 +10383,7 @@ __flatbuffers_define_table_field(0,
org_apache_arrow_flatbuf_SparseTensorIndexCS
* and `indptrBuffers[dim][i + 1]` signify a range of nodes in
* `indicesBuffers[dim + 1]` who are children of `indicesBuffers[dim][i]`
node.
*
- * For example, the indptrBuffers for the above X is:
+ * For example, the indptrBuffers for the above X are:
* ```text
* indptrBuffer(X) = [
* [0, 2, 3],
@@ -10396,7 +10396,7 @@ __flatbuffers_define_vector_field(1,
org_apache_arrow_flatbuf_SparseTensorIndexC
__flatbuffers_define_table_field(2,
org_apache_arrow_flatbuf_SparseTensorIndexCSF, indicesType,
org_apache_arrow_flatbuf_Int_table_t, 1)
/** indicesBuffers stores values of nodes.
* Each tensor dimension corresponds to a buffer in indicesBuffers.
- * For example, the indicesBuffers for the above X is:
+ * For example, the indicesBuffers for the above X are:
* ```text
* indicesBuffer(X) = [
* [0, 1],
@@ -11106,7 +11106,9 @@
__flatbuffers_define_integer_type(org_apache_arrow_flatbuf_BodyCompressionMethod
* buffer bytes (and then padding as required by the protocol). The
* uncompressed length may be set to -1 to indicate that the data that
* follows is not compressed, which can be useful for cases where
- * compression does not yield appreciable savings. */
+ * compression does not yield appreciable savings.
+ * Also, empty buffers can optionally be written out as 0-byte compressed
+ * buffers, thereby omitting the 8-bytes length header. */
#define org_apache_arrow_flatbuf_BodyCompressionMethod_BUFFER
((org_apache_arrow_flatbuf_BodyCompressionMethod_enum_t)INT8_C(0))
static inline const char
*org_apache_arrow_flatbuf_BodyCompressionMethod_name(org_apache_arrow_flatbuf_BodyCompressionMethod_enum_t
value)
@@ -11203,7 +11205,7 @@ __flatbuffers_define_vector_field(2,
org_apache_arrow_flatbuf_RecordBatch, buffe
__flatbuffers_define_table_field(3, org_apache_arrow_flatbuf_RecordBatch,
compression, org_apache_arrow_flatbuf_BodyCompression_table_t, 0)
/** Some types such as Utf8View are represented using a variable number of
buffers.
* For each such Field in the pre-ordered flattened logical schema, there
will be
- * an entry in variadicBufferCounts to indicate the number of number of
variadic
+ * an entry in variadicBufferCounts to indicate the number of variadic
* buffers which belong to that Field in the current RecordBatch.
*
* For example, the schema
@@ -12389,8 +12391,8 @@ static inline int
org_apache_arrow_flatbuf_MetadataVersion_is_known_value(org_ap
* forward compatibility guarantees).
* 2. A means of negotiating between a client and server
* what features a stream is allowed to use. The enums
- * values here are intented to represent higher level
- * features, additional details maybe negotiated
+ * values here are intended to represent higher level
+ * features, additional details may be negotiated
* with key-value pairs specific to the protocol.
*
* Enums added to this list should be assigned power-of-two values
@@ -12715,7 +12717,7 @@ __flatbuffers_define_scalar_field(0,
org_apache_arrow_flatbuf_FixedSizeList, lis
* may be set in the metadata for this field.
*
* In a field with Map type, the field has a child Struct field, which then
- * has two children: key type and the second the value type. The names of the
+ * has two children: the key type and the value type. The names of the
* child fields may be respectively "entries", "key", and "value", but this is
* not enforced.
*
@@ -12886,9 +12888,9 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_RunEndEncoded)
/** Exact decimal value represented as an integer value in two's
- * complement. Currently only 128-bit (16-byte) and 256-bit (32-byte) integers
- * are used. The representation uses the endianness indicated
- * in the Schema. */
+ * complement. Currently 32-bit (4-byte), 64-bit (8-byte),
+ * 128-bit (16-byte) and 256-bit (32-byte) integers are used.
+ * The representation uses the endianness indicated in the Schema. */
struct org_apache_arrow_flatbuf_Decimal_table { uint8_t unused__; };
static inline size_t
org_apache_arrow_flatbuf_Decimal_vec_len(org_apache_arrow_flatbuf_Decimal_vec_t
vec)
@@ -12901,7 +12903,7 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_Decimal)
__flatbuffers_define_scalar_field(0, org_apache_arrow_flatbuf_Decimal,
precision, flatbuffers_int32, int32_t, INT32_C(0))
/** Number of digits after the decimal point "." */
__flatbuffers_define_scalar_field(1, org_apache_arrow_flatbuf_Decimal, scale,
flatbuffers_int32, int32_t, INT32_C(0))
-/** Number of bits per value. The only accepted widths are 128 and 256.
+/** Number of bits per value. The accepted widths are 32, 64, 128 and 256.
* We use bitWidth for consistency with Int::bitWidth. */
__flatbuffers_define_scalar_field(2, org_apache_arrow_flatbuf_Decimal,
bitWidth, flatbuffers_int32, int32_t, INT32_C(128))
@@ -13227,7 +13229,7 @@ __flatbuffers_define_scalar_field(0,
org_apache_arrow_flatbuf_DictionaryEncoding
* and to avoid uint64 indices unless they are required by an application. */
__flatbuffers_define_table_field(1,
org_apache_arrow_flatbuf_DictionaryEncoding, indexType,
org_apache_arrow_flatbuf_Int_table_t, 0)
/** By default, dictionaries are not ordered, or the order does not have
- * semantic meaning. In some statistical, applications, dictionary-encoding
+ * semantic meaning. In some statistical applications, dictionary-encoding
* is used to represent ordered categorical data, and we provide a way to
* preserve that metadata here */
__flatbuffers_define_scalar_field(2,
org_apache_arrow_flatbuf_DictionaryEncoding, isOrdered, flatbuffers_bool,
flatbuffers_bool_t, UINT8_C(0))
@@ -13244,7 +13246,7 @@ static inline org_apache_arrow_flatbuf_Field_table_t
org_apache_arrow_flatbuf_Fi
__flatbuffers_offset_vec_at(org_apache_arrow_flatbuf_Field_table_t, vec, i, 0)
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_Field)
-/** Name is not required, in i.e. a List */
+/** Name is not required (e.g., in a List) */
__flatbuffers_define_string_field(0, org_apache_arrow_flatbuf_Field, name, 0)
/** Whether or not this field can contain nulls. Should be true in general. */
__flatbuffers_define_scalar_field(1, org_apache_arrow_flatbuf_Field, nullable,
flatbuffers_bool, flatbuffers_bool_t, UINT8_C(0))
@@ -16495,8 +16497,8 @@ static inline int
org_apache_arrow_flatbuf_MetadataVersion_is_known_value(org_ap
* forward compatibility guarantees).
* 2. A means of negotiating between a client and server
* what features a stream is allowed to use. The enums
- * values here are intented to represent higher level
- * features, additional details maybe negotiated
+ * values here are intended to represent higher level
+ * features, additional details may be negotiated
* with key-value pairs specific to the protocol.
*
* Enums added to this list should be assigned power-of-two values
@@ -16821,7 +16823,7 @@ __flatbuffers_define_scalar_field(0,
org_apache_arrow_flatbuf_FixedSizeList, lis
* may be set in the metadata for this field.
*
* In a field with Map type, the field has a child Struct field, which then
- * has two children: key type and the second the value type. The names of the
+ * has two children: the key type and the value type. The names of the
* child fields may be respectively "entries", "key", and "value", but this is
* not enforced.
*
@@ -16992,9 +16994,9 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_RunEndEncoded)
/** Exact decimal value represented as an integer value in two's
- * complement. Currently only 128-bit (16-byte) and 256-bit (32-byte) integers
- * are used. The representation uses the endianness indicated
- * in the Schema. */
+ * complement. Currently 32-bit (4-byte), 64-bit (8-byte),
+ * 128-bit (16-byte) and 256-bit (32-byte) integers are used.
+ * The representation uses the endianness indicated in the Schema. */
struct org_apache_arrow_flatbuf_Decimal_table { uint8_t unused__; };
static inline size_t
org_apache_arrow_flatbuf_Decimal_vec_len(org_apache_arrow_flatbuf_Decimal_vec_t
vec)
@@ -17007,7 +17009,7 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_Decimal)
__flatbuffers_define_scalar_field(0, org_apache_arrow_flatbuf_Decimal,
precision, flatbuffers_int32, int32_t, INT32_C(0))
/** Number of digits after the decimal point "." */
__flatbuffers_define_scalar_field(1, org_apache_arrow_flatbuf_Decimal, scale,
flatbuffers_int32, int32_t, INT32_C(0))
-/** Number of bits per value. The only accepted widths are 128 and 256.
+/** Number of bits per value. The accepted widths are 32, 64, 128 and 256.
* We use bitWidth for consistency with Int::bitWidth. */
__flatbuffers_define_scalar_field(2, org_apache_arrow_flatbuf_Decimal,
bitWidth, flatbuffers_int32, int32_t, INT32_C(128))
@@ -17333,7 +17335,7 @@ __flatbuffers_define_scalar_field(0,
org_apache_arrow_flatbuf_DictionaryEncoding
* and to avoid uint64 indices unless they are required by an application. */
__flatbuffers_define_table_field(1,
org_apache_arrow_flatbuf_DictionaryEncoding, indexType,
org_apache_arrow_flatbuf_Int_table_t, 0)
/** By default, dictionaries are not ordered, or the order does not have
- * semantic meaning. In some statistical, applications, dictionary-encoding
+ * semantic meaning. In some statistical applications, dictionary-encoding
* is used to represent ordered categorical data, and we provide a way to
* preserve that metadata here */
__flatbuffers_define_scalar_field(2,
org_apache_arrow_flatbuf_DictionaryEncoding, isOrdered, flatbuffers_bool,
flatbuffers_bool_t, UINT8_C(0))
@@ -17350,7 +17352,7 @@ static inline org_apache_arrow_flatbuf_Field_table_t
org_apache_arrow_flatbuf_Fi
__flatbuffers_offset_vec_at(org_apache_arrow_flatbuf_Field_table_t, vec, i, 0)
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_Field)
-/** Name is not required, in i.e. a List */
+/** Name is not required (e.g., in a List) */
__flatbuffers_define_string_field(0, org_apache_arrow_flatbuf_Field, name, 0)
/** Whether or not this field can contain nulls. Should be true in general. */
__flatbuffers_define_scalar_field(1, org_apache_arrow_flatbuf_Field, nullable,
flatbuffers_bool, flatbuffers_bool_t, UINT8_C(0))
@@ -20496,11 +20498,11 @@ static inline int
org_apache_arrow_flatbuf_SparseMatrixCompressedAxis_is_known_v
* EXPERIMENTAL: Data structures for sparse tensors
* Coordinate (COO) format of sparse tensor index.
*
- * COO's index list are represented as a NxM matrix,
+ * COO's index list is represented as an NxM matrix,
* where N is the number of non-zero values,
* and M is the number of dimensions of a sparse tensor.
*
- * indicesBuffer stores the location and size of the data of this indices
+ * indicesBuffer stores the location and size of the data of these indices
* matrix. The value type and the stride of the indices matrix is
* specified in indicesType and indicesStrides fields.
*
@@ -20521,7 +20523,7 @@ static inline int
org_apache_arrow_flatbuf_SparseMatrixCompressedAxis_is_known_v
* [2, 2, 3, 1, 2, 0],
* [0, 1, 0, 0, 3, 4]]
* ```
- * When isCanonical is true, the indices is sorted in lexicographical order
+ * When isCanonical is true, the indices are sorted in lexicographical order
* (row-major order), and it does not have duplicated entries. Otherwise,
* the indices may not be sorted, or may have duplicated entries. */
struct org_apache_arrow_flatbuf_SparseTensorIndexCOO_table { uint8_t unused__;
};
@@ -20589,7 +20591,7 @@ __flatbuffers_define_table_field(3,
org_apache_arrow_flatbuf_SparseMatrixIndexCS
* contains the column indices of the corresponding non-zero values.
* The type of index value is long.
*
- * For example, the indices of the above X is:
+ * For example, the indices of the above X are:
* ```text
* indices(X) = [1, 2, 2, 1, 3, 0, 2, 3, 1].
* ```
@@ -20611,7 +20613,7 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_SparseTensorIndexCSF)
* CSF index recursively compresses each dimension of a tensor into a set
* of prefix trees. Each path from a root to leaf forms one tensor
* non-zero index. CSF is implemented with two arrays of buffers and one
- * arrays of integers.
+ * array of integers.
*
* For example, let X be a 2x3x4x5 tensor and let it have the following
* 8 non-zero values:
@@ -20643,7 +20645,7 @@ __flatbuffers_define_table_field(0,
org_apache_arrow_flatbuf_SparseTensorIndexCS
* and `indptrBuffers[dim][i + 1]` signify a range of nodes in
* `indicesBuffers[dim + 1]` who are children of `indicesBuffers[dim][i]`
node.
*
- * For example, the indptrBuffers for the above X is:
+ * For example, the indptrBuffers for the above X are:
* ```text
* indptrBuffer(X) = [
* [0, 2, 3],
@@ -20656,7 +20658,7 @@ __flatbuffers_define_vector_field(1,
org_apache_arrow_flatbuf_SparseTensorIndexC
__flatbuffers_define_table_field(2,
org_apache_arrow_flatbuf_SparseTensorIndexCSF, indicesType,
org_apache_arrow_flatbuf_Int_table_t, 1)
/** indicesBuffers stores values of nodes.
* Each tensor dimension corresponds to a buffer in indicesBuffers.
- * For example, the indicesBuffers for the above X is:
+ * For example, the indicesBuffers for the above X are:
* ```text
* indicesBuffer(X) = [
* [0, 1],
@@ -21782,8 +21784,8 @@ static inline int
org_apache_arrow_flatbuf_MetadataVersion_is_known_value(org_ap
* forward compatibility guarantees).
* 2. A means of negotiating between a client and server
* what features a stream is allowed to use. The enums
- * values here are intented to represent higher level
- * features, additional details maybe negotiated
+ * values here are intended to represent higher level
+ * features, additional details may be negotiated
* with key-value pairs specific to the protocol.
*
* Enums added to this list should be assigned power-of-two values
@@ -22108,7 +22110,7 @@ __flatbuffers_define_scalar_field(0,
org_apache_arrow_flatbuf_FixedSizeList, lis
* may be set in the metadata for this field.
*
* In a field with Map type, the field has a child Struct field, which then
- * has two children: key type and the second the value type. The names of the
+ * has two children: the key type and the value type. The names of the
* child fields may be respectively "entries", "key", and "value", but this is
* not enforced.
*
@@ -22279,9 +22281,9 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_RunEndEncoded)
/** Exact decimal value represented as an integer value in two's
- * complement. Currently only 128-bit (16-byte) and 256-bit (32-byte) integers
- * are used. The representation uses the endianness indicated
- * in the Schema. */
+ * complement. Currently 32-bit (4-byte), 64-bit (8-byte),
+ * 128-bit (16-byte) and 256-bit (32-byte) integers are used.
+ * The representation uses the endianness indicated in the Schema. */
struct org_apache_arrow_flatbuf_Decimal_table { uint8_t unused__; };
static inline size_t
org_apache_arrow_flatbuf_Decimal_vec_len(org_apache_arrow_flatbuf_Decimal_vec_t
vec)
@@ -22294,7 +22296,7 @@
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_Decimal)
__flatbuffers_define_scalar_field(0, org_apache_arrow_flatbuf_Decimal,
precision, flatbuffers_int32, int32_t, INT32_C(0))
/** Number of digits after the decimal point "." */
__flatbuffers_define_scalar_field(1, org_apache_arrow_flatbuf_Decimal, scale,
flatbuffers_int32, int32_t, INT32_C(0))
-/** Number of bits per value. The only accepted widths are 128 and 256.
+/** Number of bits per value. The accepted widths are 32, 64, 128 and 256.
* We use bitWidth for consistency with Int::bitWidth. */
__flatbuffers_define_scalar_field(2, org_apache_arrow_flatbuf_Decimal,
bitWidth, flatbuffers_int32, int32_t, INT32_C(128))
@@ -22620,7 +22622,7 @@ __flatbuffers_define_scalar_field(0,
org_apache_arrow_flatbuf_DictionaryEncoding
* and to avoid uint64 indices unless they are required by an application. */
__flatbuffers_define_table_field(1,
org_apache_arrow_flatbuf_DictionaryEncoding, indexType,
org_apache_arrow_flatbuf_Int_table_t, 0)
/** By default, dictionaries are not ordered, or the order does not have
- * semantic meaning. In some statistical, applications, dictionary-encoding
+ * semantic meaning. In some statistical applications, dictionary-encoding
* is used to represent ordered categorical data, and we provide a way to
* preserve that metadata here */
__flatbuffers_define_scalar_field(2,
org_apache_arrow_flatbuf_DictionaryEncoding, isOrdered, flatbuffers_bool,
flatbuffers_bool_t, UINT8_C(0))
@@ -22637,7 +22639,7 @@ static inline org_apache_arrow_flatbuf_Field_table_t
org_apache_arrow_flatbuf_Fi
__flatbuffers_offset_vec_at(org_apache_arrow_flatbuf_Field_table_t, vec, i, 0)
__flatbuffers_table_as_root(org_apache_arrow_flatbuf_Field)
-/** Name is not required, in i.e. a List */
+/** Name is not required (e.g., in a List) */
__flatbuffers_define_string_field(0, org_apache_arrow_flatbuf_Field, name, 0)
/** Whether or not this field can contain nulls. Should be true in general. */
__flatbuffers_define_scalar_field(1, org_apache_arrow_flatbuf_Field, nullable,
flatbuffers_bool, flatbuffers_bool_t, UINT8_C(0))
diff --git a/thirdparty/flatcc/include/flatcc/flatcc_endian.h
b/thirdparty/flatcc/include/flatcc/flatcc_endian.h
index 0592f313..ab5cbf33 100644
--- a/thirdparty/flatcc/include/flatcc/flatcc_endian.h
+++ b/thirdparty/flatcc/include/flatcc/flatcc_endian.h
@@ -45,7 +45,7 @@ extern "C" {
* configuration.
*/
-#ifndef UINT8_t
+#ifndef UINT8_MAX
#include <stdint.h>
#endif
diff --git a/thirdparty/flatcc/include/flatcc/flatcc_types.h
b/thirdparty/flatcc/include/flatcc/flatcc_types.h
index 69605d2d..f4331b0c 100644
--- a/thirdparty/flatcc/include/flatcc/flatcc_types.h
+++ b/thirdparty/flatcc/include/flatcc/flatcc_types.h
@@ -81,8 +81,9 @@ typedef uint32_t flatbuffers_thash_t;
/* Public facing type operations. */
typedef flatbuffers_utype_t flatbuffers_union_type_t;
-static const flatbuffers_bool_t flatbuffers_true = FLATBUFFERS_TRUE;
-static const flatbuffers_bool_t flatbuffers_false = FLATBUFFERS_FALSE;
+// Unused const variables
+// static const flatbuffers_bool_t flatbuffers_true = FLATBUFFERS_TRUE;
+// static const flatbuffers_bool_t flatbuffers_false = FLATBUFFERS_FALSE;
#define FLATBUFFERS_IDENTIFIER_SIZE (FLATBUFFERS_THASH_WIDTH / 8)
diff --git a/thirdparty/flatcc/include/flatcc/flatcc_verifier.h
b/thirdparty/flatcc/include/flatcc/flatcc_verifier.h
index eb19b64b..8abf9ccd 100644
--- a/thirdparty/flatcc/include/flatcc/flatcc_verifier.h
+++ b/thirdparty/flatcc/include/flatcc/flatcc_verifier.h
@@ -16,7 +16,7 @@ extern "C" {
* The user may do so subsequently. The reason is in part because
* the information is not readily avaible without generated reader code,
* in part because the buffer might use a different, but valid,
- * identifier and the user has no chance of specifiying this in the
+ * identifier and the user has no chance of specifying this in the
* verifier code. The root verifier also doesn't assume a specific id
* but accepts a user supplied input which may be null.
*
@@ -209,7 +209,7 @@ int flatcc_verify_typed_buffer_header(const void *buf,
size_t bufsiz, flatbuffer
*/
int flatcc_verify_buffer_header_with_size(const void *buf, size_t *bufsiz,
const char *fid);
-int flatcc_verify_typed_buffer_header_with_size(const void *buf, size_t
*bufsiz, flatbuffers_thash_t type_hash);
+int flatcc_verify_typed_buffer_header_with_size(const void *buf, size_t
*bufsiz, flatbuffers_thash_t thash);
/*
* The following functions are typically called by a generated table
diff --git a/thirdparty/flatcc/include/flatcc/portable/pstdint.h
b/thirdparty/flatcc/include/flatcc/portable/pstdint.h
index d522fed1..3294baac 100644
--- a/thirdparty/flatcc/include/flatcc/portable/pstdint.h
+++ b/thirdparty/flatcc/include/flatcc/portable/pstdint.h
@@ -197,7 +197,7 @@
* do nothing else. On the Mac OS X version of gcc this is _STDINT_H_.
*/
-#if ((defined(_MSC_VER) && _MSC_VER >= 1600) || (defined(__STDC__) && __STDC__
&& defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined
(__WATCOMC__) && (defined (_STDINT_H_INCLUDED) || __WATCOMC__ >= 1250)) ||
(defined(__GNUC__) && (__GNUC__ > 3 || defined(_STDINT_H) ||
defined(_STDINT_H_) || defined (__UINT_FAST64_TYPE__)) )) && !defined
(_PSTDINT_H_INCLUDED)
+#if ((defined(_MSC_VER) && _MSC_VER >= 1600) || (defined(__STDC__) && __STDC__
&& defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || (defined
(__WATCOMC__) && (defined (_STDINT_H_INCLUDED) || __WATCOMC__ >= 1250)) ||
(defined(__GNUC__) && (__GNUC__ > 3 || defined(_STDINT_H) ||
defined(_STDINT_H_) || defined (__UINT_FAST64_TYPE__)) )) && !defined
(_PSTDINT_H_INCLUDED) && !defined (NTDDI_VERSION)
#include <stdint.h>
#define _PSTDINT_H_INCLUDED
# if defined(__GNUC__) && (defined(__x86_64__) || defined(__ppc64__)) &&
!(defined(__APPLE__) && defined(__MACH__))
diff --git a/thirdparty/flatcc/src/runtime/builder.c
b/thirdparty/flatcc/src/runtime/builder.c
index 8d9f3020..2d36d63f 100644
--- a/thirdparty/flatcc/src/runtime/builder.c
+++ b/thirdparty/flatcc/src/runtime/builder.c
@@ -608,7 +608,10 @@ static int enter_frame(flatcc_builder_t *B, uint16_t align)
static inline void exit_frame(flatcc_builder_t *B)
{
- memset(B->ds, 0, B->ds_offset);
+ /* Clear the ds stack (if any struct frames have been allocated). */
+ if (B->ds) {
+ memset(B->ds, 0, B->ds_offset);
+ }
B->ds_offset = frame(ds_offset);
B->ds_first = frame(ds_first);
refresh_ds(B, frame(type_limit));
@@ -1127,7 +1130,7 @@ flatcc_builder_vt_ref_t
flatcc_builder_create_vtable(flatcc_builder_t *B,
* struct).
*
* The vt_ref is stored as the reference + 1 to avoid having 0 as a
- * valid reference (which usally means error). It also idententifies
+ * valid reference (which usually means error). It also idententifies
* vtable references as the only uneven references, and the only
* references that can be used multiple times in the same buffer.
*
diff --git a/thirdparty/flatcc/src/runtime/verifier.c
b/thirdparty/flatcc/src/runtime/verifier.c
index 4e96a1e4..d92b2b2d 100644
--- a/thirdparty/flatcc/src/runtime/verifier.c
+++ b/thirdparty/flatcc/src/runtime/verifier.c
@@ -93,7 +93,7 @@ const char *flatcc_verify_error_string(int err)
/*
* Identify checks related to runtime conditions (buffer size and
- * alignment) as seperate from those related to buffer content.
+ * alignment) as separate from those related to buffer content.
*/
#define verify_runtime(cond, reason) verify(cond, reason)