summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-02-21Added .net core project (#5187)Efe Burak1-0/+19
2019-02-19Fix an error in cpp code. (#5189)csukuangfj1-1/+1
Change monster_generate.h to monster_generated.h
2019-02-19Utility for checking the encoding and line ending of source files (#5188)Vladimir Glavnyy5-2/+72
* Add utility for checking the encoding of source files - accept source files with ASCII or UTF-8 without BOM - accept only CRLF line ending * Fix non-ascii symbol in idl_parcer.cpp * Remove BOM from test.cpp
2019-02-19Fixed use of WIN32 needs to be _WIN32.Wouter van Oortmerssen2-2/+2
Change-Id: Ie1f88ac5613cc09ed1074608dd6517ae20c7973d
2019-02-19Add presubmit.yml for bazel CI configuration (#5193)Austin Schuh1-0/+23
https://github.com/bazelbuild/continuous-integration/tree/master/buildkite#configuring-a-pipeline
2019-02-14Fix AppVeyor script not including CMake dirWouter van Oortmerssen1-1/+1
Change-Id: I737a74dd4d31ca6d1559958f4c76e61e1f0a2c64
2019-02-15Changed the JavaScript generation to emit createX helper functions just like ↵Christopher Cifra5-47/+358
the TypeScript code generation. I also added code so that the create methods have documentation in both JavaScript and TypeScript. (#5168)
2019-02-15[C#] Fix FlatBuffers.Tests when ENABLE_SPAN_T is defined (#5182)Eric Erhardt1-1/+1
There is a test code error that causes the CanReadCppGeneratedWireFile test to fail when ENABLE_SPAN_T is defined. When TestarrayofboolsLength is not 0, then the GetTestarrayofboolsBytes() should have a length.
2019-02-14Install flatc as requested (#5180)Aleix Pol1-2/+0
If FLATBUFFERS_BUILD_FLATC and FLATBUFFERS_INSTALL are set, flatc should be installed regardless of the configuration.
2019-02-14Generting imports for external enums in TS (#5175)Kamil Rojewski1-2/+6
2019-02-14Fix bazel build (#5174)Austin Schuh2-4/+16
rules_go was out of date. Update that. Also, a dependency monster_extra_cc_fbs snuck in. So, let's add that. Fixes: #5163
2019-02-11Add flag to make short names in JS/TS. (#5152)Gabriel Nützi4-34/+88
* Add flag to make short names in JS/TS. * Synced all missing docs in Compiler.md <-> flatc.cpp. * Review changes.
2019-02-11Make ByteBufferFactory an abstract class in order to make FlatBuffers ↵Enrico Olivelli2-7/+12
compatible with Java7. (#5155) Introduce a HeapByteBufferFactory singleton instance in order to reduce allocations. Clarify the usage of LITTLE_ENDIAN ByteBuffers in ByteBufferFactory.
2019-02-11Implement (shared) attribute for C++ (#5157)iceboy4-3/+31
* Implement native_shared attribute for C++. Fixes #5141. See also #5145. * Refine comment in idl.h * Also refine docs * Revert "Also refine docs" This reverts commit 09dab7b45c56c2d17eac493203adc8caaa0df2cc. * Also refine docs again. * grumble
2019-02-11Turn on -Werror=unused-private-field for Clang.Wouter van Oortmerssen2-1/+2
Change-Id: Ibabc1456baf190eba191ebe0b81e3d73a4acc98f
2019-02-07Made FLATBUFFERS_TRACK_VERIFIER_BUFFER_SIZE #ifdef out lessWouter van Oortmerssen2-32/+32
This is to protect against cases where part of a project is compiled with or without this flag, making for very fragile and hard to find bugs, such as sizeof(Verifier) changing. Change-Id: I01c895cdc5b44f860e4b0b9c9613bff1983e2b9d See: https://bugs.chromium.org/p/chromium/issues/detail?id=929847
2019-02-07Reduced `force_align` in tests to 8, to work with --object-api.Wouter van Oortmerssen21-50/+208
More detail: https://github.com/google/flatbuffers/projects/6#card-17401359 See also the .md changes in this commit. Change-Id: Idfa68b2fd3bdb19979833737d3a3cf83ec1d6775
2019-02-05Removing 'using namespace' usage in test_builder (#5154)Charlie Harrison2-1/+7
* Removing 'using namespace' usage in test_builder * Fix GRPC tests
2019-02-04Changing array to be an associative array so that the Name function can work ↵Travis Staley7-26/+26
with non-sequential enums as well as those beginning at something other than zero. (#5151) Also including the resulting changes in php files.
2019-02-04Only use __movsb on architectures that support it (#5147)Jon Kunkee1-1/+1
With the introduction of Windows 10 on ARM (ARM64), code that assumes that Windows targets are always x86 or x86_64 targets needs to be updated. The hot function ReadUInt64 has been optimized in MSVC builds using the compiler intrinsic __movsb. Since this does not exist on ARM64 Windows, this change uses the pure C++ path that other platforms use instead.
2019-01-28Make changes on the make_unsigned type trait (#5136)Henry Lee1-2/+6
Fix a typo in the static assert message in `make_unsigned` Support more specifications for `make_unsigned`
2019-01-28Repair `fallthrough` was broken by d4493165 (#5115) (#5139)Vladimir Glavnyy7-15/+37
- GCC: fixed broken `fallthrough` (checked with 7.3 and 8.2) - Clang: added `fallthrough` support - Clang: added `-Wimplicit-fallthrough` checking
2019-01-24delete zero width space characters <U+200B>'s to avoid MSVC warning C4819 ↵find1-2/+2
(#5133)
2019-01-24Replace deprecated Vector::Length() with Vector::size() (#5131)Vladimir Glavnyy6-16/+16
- enable FLATBUFFERS_ATTRIBUTE if C++17 or higher
2019-01-24Repair MSVC-CRT leakage detector and enable this detection with Appveyor-CI ↵Vladimir Glavnyy6-34/+60
(#5105)
2019-01-24[Rust] Added global namespace imports (#5121)jean-airoldie4-8/+46
* [Rust] Added global namespace imports * Documented the need for global imports * Added white_space params to GenNamespaceImports * Removed a \n from GenNamespaceImports
2019-01-24[C++]Support reverse iterator in Vector (#5128)Henry Lee2-1/+49
* Add `const` keyword to the `operator-(const uoffset_t &)` function in `VectorIterator` * Support reverse iterator in Vector Introduced a new VectorReverseIterator type. We cannot directly use `std::reverse_iterator<VectorIterator>` because the signature of `operator*` and `operator->` in the VectorIterator class are not standard signatures. Also added `rbegin()`, `rend()`, `cbegin()`, `cend()`, `crbegin()` and `crend()` in the Vector class.
2019-01-17[docs] [rust] Add "Useful tools created by others" section (#5127)Vlad Frolov1-1/+8
2019-01-17Fix high certainty warnings from PVS-studio (#5115)Vladimir Glavnyy8-25/+49
* Fix high certainty warnings from PVS-studio - Introduced FLATBUFFERS_ATTRIBUTE macro to use [[attribute]] if modern C++ compiler used * Update the note about __cplusplus usage in the MSVC
2019-01-16Docker tests for Zend PHP and Mono C#; Python coverage; TODO for HHVM PHP ↵Robert5-0/+36
(#5125) * Docker test for Zend PHP 7.3 * hhvm * move failing hhvm test to TODO zone * c# mono 5.18 test * python coverage reports
2019-01-14Reference::ToString should be const (#5118)cor3ntin1-1/+1
2019-01-14Add default NaN/Inf to C#, Java, Python (#5107)Vladimir Glavnyy14-112/+443
* Add default NaN/Inf to C#, Java, Python * Python NaN/Inf test added * Remove MSVC2010/13 dependent code
2019-01-14JS- support clear() method on builder (#5109)unintellisense2-6/+41
* support clearing flatBuffer builder in js * remove unused member reset force_defaults dont actually need to clear data in bytebuffer
2019-01-07Move all platform dependent headers and code to util.cpp module (#5106)Vladimir Glavnyy3-118/+134
2019-01-07Add `NaN` and `Inf` defaults to the C++ generated code. (#5102)Vladimir Glavnyy10-5/+379
* Add `NaN` and `Inf` defaults to the C++ generated code. * Refactoring: add FloatConstantGenerator * Refactoring-2: - remove isnan checking for all float/double values - add most probable implementation of virtual methods of FloatConstantGenerator * Add conditional (FLATBUFFERS_NAN_DEFAULTS) isnan checking
2019-01-07Add repository name to build_defs.bzl (#5104)Yong Tang1-2/+2
In flatbuffers, build_defs.bzl has been updated to have the bazel rule `flatbuffer_cc_library` defined. Therefore, it should be possible to build another application and using `flatbuffer_cc_library` directly (by `load("@com_github_google_flatbuffers//:build_defs.bzl", "flatbuffer_cc_library")`) However, when I tried to do the above, I saw the following errors in bazel: ``` ERROR: /root/.cache/bazel/_bazel_root/c27e9809996ce9a9c0ed8dd79ef0897b/external/arrow/BUILD.bazel:12:1: in deps attribute of cc_library rule @arrow//:arrow_format: target '@arrow//:runtime_cc' does not exist. Since this rule was created by the macro 'flatbuffer_cc_library', the error might have been caused by the macro implementation in /root/.cache/bazel/_bazel_root/c27e9809996ce9a9c0ed8dd79ef0897b/external/com_github_google_flatbuffers/build_defs.bzl:216:16 ``` The reason for the bazel error was that `//:runtime_cc` and `//:flatc` does not have the repo name prefixed. By prefix `` the above bazel build error could be resolved. This fix should help other programs to use flatbuffers directly through bazel. Signed-off-by: Yong Tang <yong.tang.github@outlook.com>
2018-12-27[Go] Namespaced imports fix (#5097)Robert8-652/+768
Track and emit required FlatBuffers namespace imports in generated Go code. Update Go code generator by moving most functionality into the generator class, to facilitate namespace tracking. (Note that the git diff in this combined commit may appear large due to this refactoring, but very little code was actually changed.) Update Go code generator by tracking namespace imports when generating FlatBuffers code. Update Go code generator by emitting package imports to correctly reference code in other FlatBuffers namespaces. Create Go test that checks the usage of InParentNamespace objects (as defined in the example schema). Create Docker test that checks the Go language port. Fixes #4883 Fixes #3927 Individual commits: * remove "static" from soon-to-be method functions * move almost all functions into class as methods * set current namespace and emit package names if needed * track imported namespaces * parent namespaces work * docker test for go ^1.11 * update base image name for go docker test * remove cerr debugging * formatting fixes * re-run generate_code.sh * explicitly test namespace imports and usage
2018-12-26Added -Werror=implicit-fallthrough=2 to GCC 7 build.Wouter van Oortmerssen1-1/+1
Change-Id: I3f23bb1478763334dbc7e43579555518fb2412c2
2018-12-20Performance improvement to generated+supporting PHP (#5080)Peter Dillinger5-28/+35
By avoiding redundant alignment+alloc checks (startVector does prep) and virtual calls (by making the class final) in inner loops.
2018-12-17Java: Pulling in protobuf's faster UTF-8 encoder. (#5035)Owen O'Malley6-70/+781
* Pulling in protobuf's faster UTF-8 encoder. * Remove Utf8 unsafe code.
2018-12-17Fix 'no_sanitize_undefined' attribute for GCC4.8 (#5090)Vladimir Glavnyy2-2/+2
2018-12-13Enable flatbuffer to initialize Parser from bfbs (#4283) (#5077)tira-misu12-24/+493
* Enable flatbuffer to initialize Parser from bfbs (#4283) Now its possible to generate json data from bfbs data type and flatbuffers data and visa versa. * add deserialize functionality in parser from bfbs * add small usage sample * Fix build break * Merge branch 'pr/1' into fix-issue4283 * Fix buildbreak * Build monster_test.bfbs with --bfbs-builtins Attribute flexbuffer has be included in bfbs. Only with this attribute test will run. By initialization a parser by a bfbs the attribute has to be known for this filed. monsterdata_test.golden has a flexbuffer field so parse would fail. * Fix generate_code.sh * Revert automatic indent changes by IDE * Auto detect size prefixed binary schema files * Use identifier (bfbs) to detect schema files
2018-12-13generated cmake command for flatc generation should depend on source file ↵Christian Lang1-0/+1
(#5087)
2018-12-10Get rid of reproducible build warning by removing build date & time from ↵Rob Agar1-1/+1
flatc version (#5086) * disable reproducible build warning due to date/time macros * wrapped GCC pragmas in #ifdef _GNUC_ * removed __DATE__ and __TIME__ macros from flatc.cpp
2018-12-10Add flatbuffer_cc library support (#5061)Austin Schuh3-5/+259
* Add flatbuffer_cc library support * Update flags so all the tests pass Tests now all pass! * Modify the tests to use the generated code This should be a simple serialize/deserialize test of the new generated code to make sure the bazel rules are doing something sane. * Use generated monster_test.fb in testing/test.cpp cmake drops it's generated code in tests/monster_test_generated.h Instead of checking that in, let's generate it with bazel. * Make grpc tests depend on monster_test_generated.h * Remove redundant cmake dependency This should address @aardappel's feedback. * Run flatc for Android as well This will fix the last travis.ci failure * Add generated output folder and fix flags * Move flatbuffers_header_build_rules to the library that uses it * Use --cpp-ptr-type to fix android Android was the only target using the STL emulation layer. It needed the --cpp-ptr-type flatbuffers::unique_ptr flag to work. Add it! * Roll back changes to use autogenerated monster_test_generated. Flip tests/test.cpp to use the autogenerated file as well.
2018-12-06Renamed JS generator to explicitly state it generates TS too (#5043)Kamil Rojewski5-22/+22
2018-12-03[net] Fix issue #5036 when write a double value into bytebuffer at big ↵Simon.S.King1-1/+1
endian machine with unsafe mode. (#5076)
2018-12-03Support nulls in String compare, CreateSharedString (#5060)Matt Frantz2-3/+64
2018-11-29CI: Dockerized language port tests (#5066)Robert15-7/+142
This runs a script in TravisCI that executes a bunch of small Docker image scripts to test the language ports in isolated environments. This allows us to test multiple language versions with little additional complexity. Covers: + Java OpenJDK 10.0.2 + Java OpenJDK 11.0.1 + Node 10.13.0 + Node 11.2.0 + Python CPython 2.7.15 + Python CPython 3.7.1 + Rust 1.30.1
2018-11-29Fix create_vector_of_strings to use the stack, and test it. (#5074)Robert2-4/+10