build flatbuffer as a submodule
Signed-off-by: Alain <alainmarcel@yahoo.com>
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..fa78bd5
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule "third_party/flatbuffers"]
+ path = third_party/flatbuffers
+ url = https://github.com/google/flatbuffers.git
diff --git a/.travis.yml b/.travis.yml
index e1ae0da..34a5fca 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -28,6 +28,7 @@
- sudo apt-get install libgoogle-perftools-dev
- sudo apt-get install python3 python3-dev
- eval "${MATRIX_EVAL}"
+ - git submodule update --init --recursive
install:
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 771e801..fafa1ea 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -197,6 +197,7 @@
add_executable(surelog ${surelog_SRC})
add_dependencies(surelog flatc)
add_dependencies(surelog antlr4_static)
+add_dependencies(surelog flatbuffers)
add_dependencies(surelog GenerateParser)
add_dependencies(surelog GenerateSerializer)
@@ -210,5 +211,5 @@
#)
target_link_libraries(
- surelog -L${PROJECT_SOURCE_DIR}/dist/ libantlr4-runtime.a dl util m rt pthread
+ surelog -L${PROJECT_SOURCE_DIR}/dist/ libantlr4-runtime.a -L${PROJECT_SOURCE_DIR}/build/third_party/flatbuffers libflatbuffers.a dl util m rt pthread
)
diff --git a/INSTALL.md b/INSTALL.md
index 74107fd..be04204 100644
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -22,6 +22,8 @@
* Surelog Source code
* git clone https://github.com/alainmarcel/Surelog.git
+ * cd Surelog
+ * git submodule update --init --recursive
* Build
* make
diff --git a/Makefile b/Makefile
index f7ba901..8e2017f 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,8 @@
release:
mkdir -p build/tests;
mkdir -p dist;
- cd build; cmake ../; make -j 4
- cd build; ../src/release.tcl "release tcmalloc"
+ cd build; cmake ../ -DCMAKE_BUILD_TYPE=Release; make -j 4
+ cd build; ../src/release.tcl release show_diff
cd build; ../tests/regression.tcl mt=0
test:
diff --git a/src/Cache/header_generated.h b/src/Cache/header_generated.h
index 596c8cf..9b9169e 100644
--- a/src/Cache/header_generated.h
+++ b/src/Cache/header_generated.h
@@ -18,7 +18,7 @@
struct TimeInfo;
struct Header FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- enum {
+ enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_M_SL_VERSION = 4,
VT_M_FLB_VERSION = 6,
VT_M_SL_DATE_COMPILED = 8,
@@ -42,16 +42,16 @@
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_SL_VERSION) &&
- verifier.Verify(m_sl_version()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_FLB_VERSION) &&
- verifier.Verify(m_flb_version()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_SL_DATE_COMPILED) &&
- verifier.Verify(m_sl_date_compiled()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_FILE_DATE_COMPILED) &&
- verifier.Verify(m_file_date_compiled()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_FILE) &&
- verifier.Verify(m_file()) &&
+ VerifyOffset(verifier, VT_M_SL_VERSION) &&
+ verifier.VerifyString(m_sl_version()) &&
+ VerifyOffset(verifier, VT_M_FLB_VERSION) &&
+ verifier.VerifyString(m_flb_version()) &&
+ VerifyOffset(verifier, VT_M_SL_DATE_COMPILED) &&
+ verifier.VerifyString(m_sl_date_compiled()) &&
+ VerifyOffset(verifier, VT_M_FILE_DATE_COMPILED) &&
+ verifier.VerifyString(m_file_date_compiled()) &&
+ VerifyOffset(verifier, VT_M_FILE) &&
+ verifier.VerifyString(m_file()) &&
verifier.EndTable();
}
};
@@ -74,13 +74,13 @@
void add_m_file(flatbuffers::Offset<flatbuffers::String> m_file) {
fbb_.AddOffset(Header::VT_M_FILE, m_file);
}
- HeaderBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit HeaderBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
HeaderBuilder &operator=(const HeaderBuilder &);
flatbuffers::Offset<Header> Finish() {
- const auto end = fbb_.EndTable(start_, 5);
+ const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset<Header>(end);
return o;
}
@@ -109,30 +109,35 @@
const char *m_sl_date_compiled = nullptr,
const char *m_file_date_compiled = nullptr,
const char *m_file = nullptr) {
+ auto m_sl_version__ = m_sl_version ? _fbb.CreateString(m_sl_version) : 0;
+ auto m_flb_version__ = m_flb_version ? _fbb.CreateString(m_flb_version) : 0;
+ auto m_sl_date_compiled__ = m_sl_date_compiled ? _fbb.CreateString(m_sl_date_compiled) : 0;
+ auto m_file_date_compiled__ = m_file_date_compiled ? _fbb.CreateString(m_file_date_compiled) : 0;
+ auto m_file__ = m_file ? _fbb.CreateString(m_file) : 0;
return SURELOG::CACHE::CreateHeader(
_fbb,
- m_sl_version ? _fbb.CreateString(m_sl_version) : 0,
- m_flb_version ? _fbb.CreateString(m_flb_version) : 0,
- m_sl_date_compiled ? _fbb.CreateString(m_sl_date_compiled) : 0,
- m_file_date_compiled ? _fbb.CreateString(m_file_date_compiled) : 0,
- m_file ? _fbb.CreateString(m_file) : 0);
+ m_sl_version__,
+ m_flb_version__,
+ m_sl_date_compiled__,
+ m_file_date_compiled__,
+ m_file__);
}
struct Error FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- enum {
+ enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_M_LOCATIONS = 4,
VT_M_ERRORID = 6
};
- const flatbuffers::Vector<flatbuffers::Offset<Location>> *m_locations() const {
- return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<Location>> *>(VT_M_LOCATIONS);
+ const flatbuffers::Vector<flatbuffers::Offset<SURELOG::CACHE::Location>> *m_locations() const {
+ return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<SURELOG::CACHE::Location>> *>(VT_M_LOCATIONS);
}
uint32_t m_errorId() const {
return GetField<uint32_t>(VT_M_ERRORID, 0);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_LOCATIONS) &&
- verifier.Verify(m_locations()) &&
+ VerifyOffset(verifier, VT_M_LOCATIONS) &&
+ verifier.VerifyVector(m_locations()) &&
verifier.VerifyVectorOfTables(m_locations()) &&
VerifyField<uint32_t>(verifier, VT_M_ERRORID) &&
verifier.EndTable();
@@ -142,19 +147,19 @@
struct ErrorBuilder {
flatbuffers::FlatBufferBuilder &fbb_;
flatbuffers::uoffset_t start_;
- void add_m_locations(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Location>>> m_locations) {
+ void add_m_locations(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<SURELOG::CACHE::Location>>> m_locations) {
fbb_.AddOffset(Error::VT_M_LOCATIONS, m_locations);
}
void add_m_errorId(uint32_t m_errorId) {
fbb_.AddElement<uint32_t>(Error::VT_M_ERRORID, m_errorId, 0);
}
- ErrorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit ErrorBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
ErrorBuilder &operator=(const ErrorBuilder &);
flatbuffers::Offset<Error> Finish() {
- const auto end = fbb_.EndTable(start_, 2);
+ const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset<Error>(end);
return o;
}
@@ -162,7 +167,7 @@
inline flatbuffers::Offset<Error> CreateError(
flatbuffers::FlatBufferBuilder &_fbb,
- flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Location>>> m_locations = 0,
+ flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<SURELOG::CACHE::Location>>> m_locations = 0,
uint32_t m_errorId = 0) {
ErrorBuilder builder_(_fbb);
builder_.add_m_errorId(m_errorId);
@@ -172,16 +177,17 @@
inline flatbuffers::Offset<Error> CreateErrorDirect(
flatbuffers::FlatBufferBuilder &_fbb,
- const std::vector<flatbuffers::Offset<Location>> *m_locations = nullptr,
+ const std::vector<flatbuffers::Offset<SURELOG::CACHE::Location>> *m_locations = nullptr,
uint32_t m_errorId = 0) {
+ auto m_locations__ = m_locations ? _fbb.CreateVector<flatbuffers::Offset<SURELOG::CACHE::Location>>(*m_locations) : 0;
return SURELOG::CACHE::CreateError(
_fbb,
- m_locations ? _fbb.CreateVector<flatbuffers::Offset<Location>>(*m_locations) : 0,
+ m_locations__,
m_errorId);
}
struct Location FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- enum {
+ enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_M_FILEID = 4,
VT_M_LINE = 6,
VT_M_COLUMN = 8,
@@ -224,13 +230,13 @@
void add_m_object(uint64_t m_object) {
fbb_.AddElement<uint64_t>(Location::VT_M_OBJECT, m_object, 0);
}
- LocationBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit LocationBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
LocationBuilder &operator=(const LocationBuilder &);
flatbuffers::Offset<Location> Finish() {
- const auto end = fbb_.EndTable(start_, 4);
+ const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset<Location>(end);
return o;
}
@@ -251,7 +257,7 @@
}
struct TimeInfo FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- enum {
+ enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_M_TYPE = 4,
VT_M_FILEID = 6,
VT_M_LINE = 8,
@@ -318,13 +324,13 @@
void add_m_timePrecisionValue(double m_timePrecisionValue) {
fbb_.AddElement<double>(TimeInfo::VT_M_TIMEPRECISIONVALUE, m_timePrecisionValue, 0.0);
}
- TimeInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit TimeInfoBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
TimeInfoBuilder &operator=(const TimeInfoBuilder &);
flatbuffers::Offset<TimeInfo> Finish() {
- const auto end = fbb_.EndTable(start_, 7);
+ const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset<TimeInfo>(end);
return o;
}
diff --git a/src/Cache/parser_generated.h b/src/Cache/parser_generated.h
index 767195f..718684c 100644
--- a/src/Cache/parser_generated.h
+++ b/src/Cache/parser_generated.h
@@ -17,7 +17,7 @@
struct ParseCache;
-MANUALLY_ALIGNED_STRUCT(8) VObject FLATBUFFERS_FINAL_CLASS {
+FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(8) VObject FLATBUFFERS_FINAL_CLASS {
private:
uint64_t m_field1_;
uint64_t m_field2_;
@@ -25,10 +25,7 @@
public:
VObject() {
- memset(this, 0, sizeof(VObject));
- }
- VObject(const VObject &_o) {
- memcpy(this, &_o, sizeof(VObject));
+ memset(static_cast<void *>(this), 0, sizeof(VObject));
}
VObject(uint64_t _m_field1, uint64_t _m_field2, uint64_t _m_field3)
: m_field1_(flatbuffers::EndianScalar(_m_field1)),
@@ -45,10 +42,10 @@
return flatbuffers::EndianScalar(m_field3_);
}
};
-STRUCT_END(VObject, 24);
+FLATBUFFERS_STRUCT_END(VObject, 24);
struct DesignElement FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- enum {
+ enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_M_NAME = 4,
VT_M_FILEID = 6,
VT_M_TYPE = 8,
@@ -89,7 +86,7 @@
VerifyField<uint32_t>(verifier, VT_M_TYPE) &&
VerifyField<uint64_t>(verifier, VT_M_UNIQUEID) &&
VerifyField<uint32_t>(verifier, VT_M_LINE) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_TIMEINFO) &&
+ VerifyOffset(verifier, VT_M_TIMEINFO) &&
verifier.VerifyTable(m_timeInfo()) &&
VerifyField<uint64_t>(verifier, VT_M_PARENT) &&
VerifyField<uint32_t>(verifier, VT_M_NODE) &&
@@ -124,13 +121,13 @@
void add_m_node(uint32_t m_node) {
fbb_.AddElement<uint32_t>(DesignElement::VT_M_NODE, m_node, 0);
}
- DesignElementBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit DesignElementBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
DesignElementBuilder &operator=(const DesignElementBuilder &);
flatbuffers::Offset<DesignElement> Finish() {
- const auto end = fbb_.EndTable(start_, 8);
+ const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset<DesignElement>(end);
return o;
}
@@ -159,7 +156,7 @@
}
struct ParseCache FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- enum {
+ enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_M_HEADER = 4,
VT_M_ERRORS = 6,
VT_M_SYMBOLS = 8,
@@ -175,27 +172,27 @@
const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *m_symbols() const {
return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_M_SYMBOLS);
}
- const flatbuffers::Vector<flatbuffers::Offset<DesignElement>> *m_elements() const {
- return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<DesignElement>> *>(VT_M_ELEMENTS);
+ const flatbuffers::Vector<flatbuffers::Offset<SURELOG::PARSECACHE::DesignElement>> *m_elements() const {
+ return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<SURELOG::PARSECACHE::DesignElement>> *>(VT_M_ELEMENTS);
}
- const flatbuffers::Vector<const VObject *> *m_objects() const {
- return GetPointer<const flatbuffers::Vector<const VObject *> *>(VT_M_OBJECTS);
+ const flatbuffers::Vector<const SURELOG::PARSECACHE::VObject *> *m_objects() const {
+ return GetPointer<const flatbuffers::Vector<const SURELOG::PARSECACHE::VObject *> *>(VT_M_OBJECTS);
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_HEADER) &&
+ VerifyOffset(verifier, VT_M_HEADER) &&
verifier.VerifyTable(m_header()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_ERRORS) &&
- verifier.Verify(m_errors()) &&
+ VerifyOffset(verifier, VT_M_ERRORS) &&
+ verifier.VerifyVector(m_errors()) &&
verifier.VerifyVectorOfTables(m_errors()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_SYMBOLS) &&
- verifier.Verify(m_symbols()) &&
+ VerifyOffset(verifier, VT_M_SYMBOLS) &&
+ verifier.VerifyVector(m_symbols()) &&
verifier.VerifyVectorOfStrings(m_symbols()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_ELEMENTS) &&
- verifier.Verify(m_elements()) &&
+ VerifyOffset(verifier, VT_M_ELEMENTS) &&
+ verifier.VerifyVector(m_elements()) &&
verifier.VerifyVectorOfTables(m_elements()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_OBJECTS) &&
- verifier.Verify(m_objects()) &&
+ VerifyOffset(verifier, VT_M_OBJECTS) &&
+ verifier.VerifyVector(m_objects()) &&
verifier.EndTable();
}
};
@@ -212,19 +209,19 @@
void add_m_symbols(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> m_symbols) {
fbb_.AddOffset(ParseCache::VT_M_SYMBOLS, m_symbols);
}
- void add_m_elements(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<DesignElement>>> m_elements) {
+ void add_m_elements(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<SURELOG::PARSECACHE::DesignElement>>> m_elements) {
fbb_.AddOffset(ParseCache::VT_M_ELEMENTS, m_elements);
}
- void add_m_objects(flatbuffers::Offset<flatbuffers::Vector<const VObject *>> m_objects) {
+ void add_m_objects(flatbuffers::Offset<flatbuffers::Vector<const SURELOG::PARSECACHE::VObject *>> m_objects) {
fbb_.AddOffset(ParseCache::VT_M_OBJECTS, m_objects);
}
- ParseCacheBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit ParseCacheBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
ParseCacheBuilder &operator=(const ParseCacheBuilder &);
flatbuffers::Offset<ParseCache> Finish() {
- const auto end = fbb_.EndTable(start_, 5);
+ const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset<ParseCache>(end);
return o;
}
@@ -235,8 +232,8 @@
flatbuffers::Offset<SURELOG::CACHE::Header> m_header = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<SURELOG::CACHE::Error>>> m_errors = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> m_symbols = 0,
- flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<DesignElement>>> m_elements = 0,
- flatbuffers::Offset<flatbuffers::Vector<const VObject *>> m_objects = 0) {
+ flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<SURELOG::PARSECACHE::DesignElement>>> m_elements = 0,
+ flatbuffers::Offset<flatbuffers::Vector<const SURELOG::PARSECACHE::VObject *>> m_objects = 0) {
ParseCacheBuilder builder_(_fbb);
builder_.add_m_objects(m_objects);
builder_.add_m_elements(m_elements);
@@ -251,21 +248,29 @@
flatbuffers::Offset<SURELOG::CACHE::Header> m_header = 0,
const std::vector<flatbuffers::Offset<SURELOG::CACHE::Error>> *m_errors = nullptr,
const std::vector<flatbuffers::Offset<flatbuffers::String>> *m_symbols = nullptr,
- const std::vector<flatbuffers::Offset<DesignElement>> *m_elements = nullptr,
- const std::vector<const VObject *> *m_objects = nullptr) {
+ const std::vector<flatbuffers::Offset<SURELOG::PARSECACHE::DesignElement>> *m_elements = nullptr,
+ const std::vector<SURELOG::PARSECACHE::VObject> *m_objects = nullptr) {
+ auto m_errors__ = m_errors ? _fbb.CreateVector<flatbuffers::Offset<SURELOG::CACHE::Error>>(*m_errors) : 0;
+ auto m_symbols__ = m_symbols ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_symbols) : 0;
+ auto m_elements__ = m_elements ? _fbb.CreateVector<flatbuffers::Offset<SURELOG::PARSECACHE::DesignElement>>(*m_elements) : 0;
+ auto m_objects__ = m_objects ? _fbb.CreateVectorOfStructs<SURELOG::PARSECACHE::VObject>(*m_objects) : 0;
return SURELOG::PARSECACHE::CreateParseCache(
_fbb,
m_header,
- m_errors ? _fbb.CreateVector<flatbuffers::Offset<SURELOG::CACHE::Error>>(*m_errors) : 0,
- m_symbols ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_symbols) : 0,
- m_elements ? _fbb.CreateVector<flatbuffers::Offset<DesignElement>>(*m_elements) : 0,
- m_objects ? _fbb.CreateVector<const VObject *>(*m_objects) : 0);
+ m_errors__,
+ m_symbols__,
+ m_elements__,
+ m_objects__);
}
inline const SURELOG::PARSECACHE::ParseCache *GetParseCache(const void *buf) {
return flatbuffers::GetRoot<SURELOG::PARSECACHE::ParseCache>(buf);
}
+inline const SURELOG::PARSECACHE::ParseCache *GetSizePrefixedParseCache(const void *buf) {
+ return flatbuffers::GetSizePrefixedRoot<SURELOG::PARSECACHE::ParseCache>(buf);
+}
+
inline const char *ParseCacheIdentifier() {
return "SLPA";
}
@@ -280,6 +285,11 @@
return verifier.VerifyBuffer<SURELOG::PARSECACHE::ParseCache>(ParseCacheIdentifier());
}
+inline bool VerifySizePrefixedParseCacheBuffer(
+ flatbuffers::Verifier &verifier) {
+ return verifier.VerifySizePrefixedBuffer<SURELOG::PARSECACHE::ParseCache>(ParseCacheIdentifier());
+}
+
inline const char *ParseCacheExtension() {
return "slpa";
}
@@ -290,6 +300,12 @@
fbb.Finish(root, ParseCacheIdentifier());
}
+inline void FinishSizePrefixedParseCacheBuffer(
+ flatbuffers::FlatBufferBuilder &fbb,
+ flatbuffers::Offset<SURELOG::PARSECACHE::ParseCache> root) {
+ fbb.FinishSizePrefixed(root, ParseCacheIdentifier());
+}
+
} // namespace PARSECACHE
} // namespace SURELOG
diff --git a/src/Cache/preproc_generated.h b/src/Cache/preproc_generated.h
index 642a082..bf000e7 100644
--- a/src/Cache/preproc_generated.h
+++ b/src/Cache/preproc_generated.h
@@ -22,8 +22,16 @@
MacroType_MAX = MacroType_WITH_ARGS
};
-inline const char **EnumNamesMacroType() {
- static const char *names[] = {
+inline const MacroType (&EnumValuesMacroType())[2] {
+ static const MacroType values[] = {
+ MacroType_NO_ARGS,
+ MacroType_WITH_ARGS
+ };
+ return values;
+}
+
+inline const char * const *EnumNamesMacroType() {
+ static const char * const names[3] = {
"NO_ARGS",
"WITH_ARGS",
nullptr
@@ -32,12 +40,13 @@
}
inline const char *EnumNameMacroType(MacroType e) {
- const size_t index = static_cast<int>(e);
+ if (e < MacroType_NO_ARGS || e > MacroType_WITH_ARGS) return "";
+ const size_t index = static_cast<size_t>(e);
return EnumNamesMacroType()[index];
}
struct Macro FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- enum {
+ enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_M_NAME = 4,
VT_M_TYPE = 6,
VT_M_LINE = 8,
@@ -48,8 +57,8 @@
const flatbuffers::String *m_name() const {
return GetPointer<const flatbuffers::String *>(VT_M_NAME);
}
- MacroType m_type() const {
- return static_cast<MacroType>(GetField<int8_t>(VT_M_TYPE, 0));
+ SURELOG::MACROCACHE::MacroType m_type() const {
+ return static_cast<SURELOG::MACROCACHE::MacroType>(GetField<int8_t>(VT_M_TYPE, 0));
}
uint32_t m_line() const {
return GetField<uint32_t>(VT_M_LINE, 0);
@@ -65,16 +74,16 @@
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_NAME) &&
- verifier.Verify(m_name()) &&
+ VerifyOffset(verifier, VT_M_NAME) &&
+ verifier.VerifyString(m_name()) &&
VerifyField<int8_t>(verifier, VT_M_TYPE) &&
VerifyField<uint32_t>(verifier, VT_M_LINE) &&
VerifyField<uint16_t>(verifier, VT_M_COLUMN) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_ARGUMENTS) &&
- verifier.Verify(m_arguments()) &&
+ VerifyOffset(verifier, VT_M_ARGUMENTS) &&
+ verifier.VerifyVector(m_arguments()) &&
verifier.VerifyVectorOfStrings(m_arguments()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_TOKENS) &&
- verifier.Verify(m_tokens()) &&
+ VerifyOffset(verifier, VT_M_TOKENS) &&
+ verifier.VerifyVector(m_tokens()) &&
verifier.VerifyVectorOfStrings(m_tokens()) &&
verifier.EndTable();
}
@@ -86,7 +95,7 @@
void add_m_name(flatbuffers::Offset<flatbuffers::String> m_name) {
fbb_.AddOffset(Macro::VT_M_NAME, m_name);
}
- void add_m_type(MacroType m_type) {
+ void add_m_type(SURELOG::MACROCACHE::MacroType m_type) {
fbb_.AddElement<int8_t>(Macro::VT_M_TYPE, static_cast<int8_t>(m_type), 0);
}
void add_m_line(uint32_t m_line) {
@@ -101,13 +110,13 @@
void add_m_tokens(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> m_tokens) {
fbb_.AddOffset(Macro::VT_M_TOKENS, m_tokens);
}
- MacroBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit MacroBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
MacroBuilder &operator=(const MacroBuilder &);
flatbuffers::Offset<Macro> Finish() {
- const auto end = fbb_.EndTable(start_, 6);
+ const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset<Macro>(end);
return o;
}
@@ -116,7 +125,7 @@
inline flatbuffers::Offset<Macro> CreateMacro(
flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset<flatbuffers::String> m_name = 0,
- MacroType m_type = MacroType_NO_ARGS,
+ SURELOG::MACROCACHE::MacroType m_type = SURELOG::MACROCACHE::MacroType_NO_ARGS,
uint32_t m_line = 0,
uint16_t m_column = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> m_arguments = 0,
@@ -134,23 +143,26 @@
inline flatbuffers::Offset<Macro> CreateMacroDirect(
flatbuffers::FlatBufferBuilder &_fbb,
const char *m_name = nullptr,
- MacroType m_type = MacroType_NO_ARGS,
+ SURELOG::MACROCACHE::MacroType m_type = SURELOG::MACROCACHE::MacroType_NO_ARGS,
uint32_t m_line = 0,
uint16_t m_column = 0,
const std::vector<flatbuffers::Offset<flatbuffers::String>> *m_arguments = nullptr,
const std::vector<flatbuffers::Offset<flatbuffers::String>> *m_tokens = nullptr) {
+ auto m_name__ = m_name ? _fbb.CreateString(m_name) : 0;
+ auto m_arguments__ = m_arguments ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_arguments) : 0;
+ auto m_tokens__ = m_tokens ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_tokens) : 0;
return SURELOG::MACROCACHE::CreateMacro(
_fbb,
- m_name ? _fbb.CreateString(m_name) : 0,
+ m_name__,
m_type,
m_line,
m_column,
- m_arguments ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_arguments) : 0,
- m_tokens ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_tokens) : 0);
+ m_arguments__,
+ m_tokens__);
}
struct PPCache FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- enum {
+ enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_M_HEADER = 4,
VT_M_MACROS = 6,
VT_M_INCLUDES = 8,
@@ -164,8 +176,8 @@
const SURELOG::CACHE::Header *m_header() const {
return GetPointer<const SURELOG::CACHE::Header *>(VT_M_HEADER);
}
- const flatbuffers::Vector<flatbuffers::Offset<Macro>> *m_macros() const {
- return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<Macro>> *>(VT_M_MACROS);
+ const flatbuffers::Vector<flatbuffers::Offset<SURELOG::MACROCACHE::Macro>> *m_macros() const {
+ return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<SURELOG::MACROCACHE::Macro>> *>(VT_M_MACROS);
}
const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *m_includes() const {
return GetPointer<const flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>> *>(VT_M_INCLUDES);
@@ -190,30 +202,30 @@
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_HEADER) &&
+ VerifyOffset(verifier, VT_M_HEADER) &&
verifier.VerifyTable(m_header()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_MACROS) &&
- verifier.Verify(m_macros()) &&
+ VerifyOffset(verifier, VT_M_MACROS) &&
+ verifier.VerifyVector(m_macros()) &&
verifier.VerifyVectorOfTables(m_macros()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_INCLUDES) &&
- verifier.Verify(m_includes()) &&
+ VerifyOffset(verifier, VT_M_INCLUDES) &&
+ verifier.VerifyVector(m_includes()) &&
verifier.VerifyVectorOfStrings(m_includes()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_BODY) &&
- verifier.Verify(m_body()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_ERRORS) &&
- verifier.Verify(m_errors()) &&
+ VerifyOffset(verifier, VT_M_BODY) &&
+ verifier.VerifyString(m_body()) &&
+ VerifyOffset(verifier, VT_M_ERRORS) &&
+ verifier.VerifyVector(m_errors()) &&
verifier.VerifyVectorOfTables(m_errors()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_SYMBOLS) &&
- verifier.Verify(m_symbols()) &&
+ VerifyOffset(verifier, VT_M_SYMBOLS) &&
+ verifier.VerifyVector(m_symbols()) &&
verifier.VerifyVectorOfStrings(m_symbols()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_CMD_INCLUDE_PATHS) &&
- verifier.Verify(m_cmd_include_paths()) &&
+ VerifyOffset(verifier, VT_M_CMD_INCLUDE_PATHS) &&
+ verifier.VerifyVector(m_cmd_include_paths()) &&
verifier.VerifyVectorOfStrings(m_cmd_include_paths()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_CMD_DEFINE_OPTIONS) &&
- verifier.Verify(m_cmd_define_options()) &&
+ VerifyOffset(verifier, VT_M_CMD_DEFINE_OPTIONS) &&
+ verifier.VerifyVector(m_cmd_define_options()) &&
verifier.VerifyVectorOfStrings(m_cmd_define_options()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_TIMEINFO) &&
- verifier.Verify(m_timeInfo()) &&
+ VerifyOffset(verifier, VT_M_TIMEINFO) &&
+ verifier.VerifyVector(m_timeInfo()) &&
verifier.VerifyVectorOfTables(m_timeInfo()) &&
verifier.EndTable();
}
@@ -225,7 +237,7 @@
void add_m_header(flatbuffers::Offset<SURELOG::CACHE::Header> m_header) {
fbb_.AddOffset(PPCache::VT_M_HEADER, m_header);
}
- void add_m_macros(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Macro>>> m_macros) {
+ void add_m_macros(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<SURELOG::MACROCACHE::Macro>>> m_macros) {
fbb_.AddOffset(PPCache::VT_M_MACROS, m_macros);
}
void add_m_includes(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> m_includes) {
@@ -249,13 +261,13 @@
void add_m_timeInfo(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<SURELOG::CACHE::TimeInfo>>> m_timeInfo) {
fbb_.AddOffset(PPCache::VT_M_TIMEINFO, m_timeInfo);
}
- PPCacheBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit PPCacheBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
PPCacheBuilder &operator=(const PPCacheBuilder &);
flatbuffers::Offset<PPCache> Finish() {
- const auto end = fbb_.EndTable(start_, 9);
+ const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset<PPCache>(end);
return o;
}
@@ -264,7 +276,7 @@
inline flatbuffers::Offset<PPCache> CreatePPCache(
flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset<SURELOG::CACHE::Header> m_header = 0,
- flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<Macro>>> m_macros = 0,
+ flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<SURELOG::MACROCACHE::Macro>>> m_macros = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> m_includes = 0,
flatbuffers::Offset<flatbuffers::String> m_body = 0,
flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<SURELOG::CACHE::Error>>> m_errors = 0,
@@ -288,7 +300,7 @@
inline flatbuffers::Offset<PPCache> CreatePPCacheDirect(
flatbuffers::FlatBufferBuilder &_fbb,
flatbuffers::Offset<SURELOG::CACHE::Header> m_header = 0,
- const std::vector<flatbuffers::Offset<Macro>> *m_macros = nullptr,
+ const std::vector<flatbuffers::Offset<SURELOG::MACROCACHE::Macro>> *m_macros = nullptr,
const std::vector<flatbuffers::Offset<flatbuffers::String>> *m_includes = nullptr,
const char *m_body = nullptr,
const std::vector<flatbuffers::Offset<SURELOG::CACHE::Error>> *m_errors = nullptr,
@@ -296,23 +308,35 @@
const std::vector<flatbuffers::Offset<flatbuffers::String>> *m_cmd_include_paths = nullptr,
const std::vector<flatbuffers::Offset<flatbuffers::String>> *m_cmd_define_options = nullptr,
const std::vector<flatbuffers::Offset<SURELOG::CACHE::TimeInfo>> *m_timeInfo = nullptr) {
+ auto m_macros__ = m_macros ? _fbb.CreateVector<flatbuffers::Offset<SURELOG::MACROCACHE::Macro>>(*m_macros) : 0;
+ auto m_includes__ = m_includes ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_includes) : 0;
+ auto m_body__ = m_body ? _fbb.CreateString(m_body) : 0;
+ auto m_errors__ = m_errors ? _fbb.CreateVector<flatbuffers::Offset<SURELOG::CACHE::Error>>(*m_errors) : 0;
+ auto m_symbols__ = m_symbols ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_symbols) : 0;
+ auto m_cmd_include_paths__ = m_cmd_include_paths ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_cmd_include_paths) : 0;
+ auto m_cmd_define_options__ = m_cmd_define_options ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_cmd_define_options) : 0;
+ auto m_timeInfo__ = m_timeInfo ? _fbb.CreateVector<flatbuffers::Offset<SURELOG::CACHE::TimeInfo>>(*m_timeInfo) : 0;
return SURELOG::MACROCACHE::CreatePPCache(
_fbb,
m_header,
- m_macros ? _fbb.CreateVector<flatbuffers::Offset<Macro>>(*m_macros) : 0,
- m_includes ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_includes) : 0,
- m_body ? _fbb.CreateString(m_body) : 0,
- m_errors ? _fbb.CreateVector<flatbuffers::Offset<SURELOG::CACHE::Error>>(*m_errors) : 0,
- m_symbols ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_symbols) : 0,
- m_cmd_include_paths ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_cmd_include_paths) : 0,
- m_cmd_define_options ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_cmd_define_options) : 0,
- m_timeInfo ? _fbb.CreateVector<flatbuffers::Offset<SURELOG::CACHE::TimeInfo>>(*m_timeInfo) : 0);
+ m_macros__,
+ m_includes__,
+ m_body__,
+ m_errors__,
+ m_symbols__,
+ m_cmd_include_paths__,
+ m_cmd_define_options__,
+ m_timeInfo__);
}
inline const SURELOG::MACROCACHE::PPCache *GetPPCache(const void *buf) {
return flatbuffers::GetRoot<SURELOG::MACROCACHE::PPCache>(buf);
}
+inline const SURELOG::MACROCACHE::PPCache *GetSizePrefixedPPCache(const void *buf) {
+ return flatbuffers::GetSizePrefixedRoot<SURELOG::MACROCACHE::PPCache>(buf);
+}
+
inline const char *PPCacheIdentifier() {
return "SLPP";
}
@@ -327,6 +351,11 @@
return verifier.VerifyBuffer<SURELOG::MACROCACHE::PPCache>(PPCacheIdentifier());
}
+inline bool VerifySizePrefixedPPCacheBuffer(
+ flatbuffers::Verifier &verifier) {
+ return verifier.VerifySizePrefixedBuffer<SURELOG::MACROCACHE::PPCache>(PPCacheIdentifier());
+}
+
inline const char *PPCacheExtension() {
return "slpp";
}
@@ -337,6 +366,12 @@
fbb.Finish(root, PPCacheIdentifier());
}
+inline void FinishSizePrefixedPPCacheBuffer(
+ flatbuffers::FlatBufferBuilder &fbb,
+ flatbuffers::Offset<SURELOG::MACROCACHE::PPCache> root) {
+ fbb.FinishSizePrefixed(root, PPCacheIdentifier());
+}
+
} // namespace MACROCACHE
} // namespace SURELOG
diff --git a/src/Cache/python_api_generated.h b/src/Cache/python_api_generated.h
index 383084a..a52e0c3 100644
--- a/src/Cache/python_api_generated.h
+++ b/src/Cache/python_api_generated.h
@@ -14,7 +14,7 @@
struct PythonAPICache;
struct PythonAPICache FLATBUFFERS_FINAL_CLASS : private flatbuffers::Table {
- enum {
+ enum FlatBuffersVTableOffset FLATBUFFERS_VTABLE_UNDERLYING_TYPE {
VT_M_HEADER = 4,
VT_M_PYTHON_SCRIPT_FILE = 6,
VT_M_ERRORS = 8,
@@ -34,15 +34,15 @@
}
bool Verify(flatbuffers::Verifier &verifier) const {
return VerifyTableStart(verifier) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_HEADER) &&
+ VerifyOffset(verifier, VT_M_HEADER) &&
verifier.VerifyTable(m_header()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_PYTHON_SCRIPT_FILE) &&
- verifier.Verify(m_python_script_file()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_ERRORS) &&
- verifier.Verify(m_errors()) &&
+ VerifyOffset(verifier, VT_M_PYTHON_SCRIPT_FILE) &&
+ verifier.VerifyString(m_python_script_file()) &&
+ VerifyOffset(verifier, VT_M_ERRORS) &&
+ verifier.VerifyVector(m_errors()) &&
verifier.VerifyVectorOfTables(m_errors()) &&
- VerifyField<flatbuffers::uoffset_t>(verifier, VT_M_SYMBOLS) &&
- verifier.Verify(m_symbols()) &&
+ VerifyOffset(verifier, VT_M_SYMBOLS) &&
+ verifier.VerifyVector(m_symbols()) &&
verifier.VerifyVectorOfStrings(m_symbols()) &&
verifier.EndTable();
}
@@ -63,13 +63,13 @@
void add_m_symbols(flatbuffers::Offset<flatbuffers::Vector<flatbuffers::Offset<flatbuffers::String>>> m_symbols) {
fbb_.AddOffset(PythonAPICache::VT_M_SYMBOLS, m_symbols);
}
- PythonAPICacheBuilder(flatbuffers::FlatBufferBuilder &_fbb)
+ explicit PythonAPICacheBuilder(flatbuffers::FlatBufferBuilder &_fbb)
: fbb_(_fbb) {
start_ = fbb_.StartTable();
}
PythonAPICacheBuilder &operator=(const PythonAPICacheBuilder &);
flatbuffers::Offset<PythonAPICache> Finish() {
- const auto end = fbb_.EndTable(start_, 4);
+ const auto end = fbb_.EndTable(start_);
auto o = flatbuffers::Offset<PythonAPICache>(end);
return o;
}
@@ -95,18 +95,25 @@
const char *m_python_script_file = nullptr,
const std::vector<flatbuffers::Offset<SURELOG::CACHE::Error>> *m_errors = nullptr,
const std::vector<flatbuffers::Offset<flatbuffers::String>> *m_symbols = nullptr) {
+ auto m_python_script_file__ = m_python_script_file ? _fbb.CreateString(m_python_script_file) : 0;
+ auto m_errors__ = m_errors ? _fbb.CreateVector<flatbuffers::Offset<SURELOG::CACHE::Error>>(*m_errors) : 0;
+ auto m_symbols__ = m_symbols ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_symbols) : 0;
return SURELOG::PYTHONAPICACHE::CreatePythonAPICache(
_fbb,
m_header,
- m_python_script_file ? _fbb.CreateString(m_python_script_file) : 0,
- m_errors ? _fbb.CreateVector<flatbuffers::Offset<SURELOG::CACHE::Error>>(*m_errors) : 0,
- m_symbols ? _fbb.CreateVector<flatbuffers::Offset<flatbuffers::String>>(*m_symbols) : 0);
+ m_python_script_file__,
+ m_errors__,
+ m_symbols__);
}
inline const SURELOG::PYTHONAPICACHE::PythonAPICache *GetPythonAPICache(const void *buf) {
return flatbuffers::GetRoot<SURELOG::PYTHONAPICACHE::PythonAPICache>(buf);
}
+inline const SURELOG::PYTHONAPICACHE::PythonAPICache *GetSizePrefixedPythonAPICache(const void *buf) {
+ return flatbuffers::GetSizePrefixedRoot<SURELOG::PYTHONAPICACHE::PythonAPICache>(buf);
+}
+
inline const char *PythonAPICacheIdentifier() {
return "SLPY";
}
@@ -121,6 +128,11 @@
return verifier.VerifyBuffer<SURELOG::PYTHONAPICACHE::PythonAPICache>(PythonAPICacheIdentifier());
}
+inline bool VerifySizePrefixedPythonAPICacheBuffer(
+ flatbuffers::Verifier &verifier) {
+ return verifier.VerifySizePrefixedBuffer<SURELOG::PYTHONAPICACHE::PythonAPICache>(PythonAPICacheIdentifier());
+}
+
inline const char *PythonAPICacheExtension() {
return "slpy";
}
@@ -131,6 +143,12 @@
fbb.Finish(root, PythonAPICacheIdentifier());
}
+inline void FinishSizePrefixedPythonAPICacheBuffer(
+ flatbuffers::FlatBufferBuilder &fbb,
+ flatbuffers::Offset<SURELOG::PYTHONAPICACHE::PythonAPICache> root) {
+ fbb.FinishSizePrefixed(root, PythonAPICacheIdentifier());
+}
+
} // namespace PYTHONAPICACHE
} // namespace SURELOG
diff --git a/third_party/flatbuffers b/third_party/flatbuffers
new file mode 160000
index 0000000..6beb9f4
--- /dev/null
+++ b/third_party/flatbuffers
@@ -0,0 +1 @@
+Subproject commit 6beb9f49cb44095c4c17be43f13906c6eb09d7c7