diff options
author | Jared Smolens <jared.smolens@arm.com> | 2021-09-17 21:58:27 -0700 |
---|---|---|
committer | Jared Smolens <jared.smolens@arm.com> | 2021-09-20 11:14:37 -0700 |
commit | c94e63dc274e1681f20c3fed1837ea49452d03ed (patch) | |
tree | f1a78b9b88f80732d5a2f62f7678f2be542f651a /verif | |
parent | f414b3c9250d148c0a125e88967a1e9b603fa5e8 (diff) | |
download | reference_model-c94e63dc274e1681f20c3fed1837ea49452d03ed.tar.gz |
Compatibility with flatbuffers 1.12.0 and 2.0.0
- Update the serialization code to work with both
flatbuffers 1.12.0 and 2.0.0 APIs
Change-Id: If41da785a2ab756de94b523d04358489ef01d603
Signed-off-by: Jared Smolens <jared.smolens@arm.com>
Diffstat (limited to 'verif')
-rw-r--r-- | verif/tosa_serializer.py | 28 |
1 files changed, 23 insertions, 5 deletions
diff --git a/verif/tosa_serializer.py b/verif/tosa_serializer.py index 22ebb52..d9c3633 100644 --- a/verif/tosa_serializer.py +++ b/verif/tosa_serializer.py @@ -751,28 +751,43 @@ class TosaSerializer: start_fcn(builder, len(fb_strs)) for s in fb_strs[::-1]: builder.PrependUOffsetTRelative(s) - return builder.EndVector(len(fb_strs)) + # This try/except block supports both the Flatbuffers 2.x and 1.x APIs, + # defaulting to 2.x. If/when Flatbuffers 1.x support is deprecated, the + # try block and builder.EndVector(len) function calls can be removed. + try: + return builder.EndVector() + except TypeError: + return builder.EndVector(len(fb_strs)) @staticmethod def serializeUint8Vec(builder, vec): builder.StartVector(1, len(vec), 8) for v in vec[::-1]: builder.PrependUint8(v) - return builder.EndVector(len(vec)) + try: + return builder.EndVector() + except TypeError: + return builder.EndVector(len(vec)) @staticmethod def serializeInt32Vec(builder, vec): builder.StartVector(4, len(vec), 4) for v in vec[::-1]: builder.PrependInt32(v) - return builder.EndVector(len(vec)) + try: + return builder.EndVector() + except TypeError: + return builder.EndVector(len(vec)) @staticmethod def serializeFpVec(builder, vec): builder.StartVector(4, len(vec), 4) for v in vec[::-1]: builder.PrependFloat32(v) - return builder.EndVector(len(vec)) + try: + return builder.EndVector() + except TypeError: + return builder.EndVector(len(vec)) @staticmethod def serializeObjVec(builder, vec, start_fcn): @@ -783,7 +798,10 @@ class TosaSerializer: start_fcn(builder, len(vec)) for v in serialized_vec: builder.PrependUOffsetTRelative(v) - return builder.EndVector(len(vec)) + try: + return builder.EndVector() + except TypeError: + return builder.EndVector(len(vec)) @staticmethod def toList(val): |