1. 20 Jun, 2017 1 commit
  2. 16 Jun, 2017 8 commits
  3. 13 Jun, 2017 1 commit
    • Lawrence Chan's avatar
      gRPC: fix memory leak (#4351) · 90c8ded4
      Lawrence Chan authored
      SerializationTraits<T>::Deserialize _transfers_ ownership of the buffer,
      so we must destroy it.
      
      This commit also includes some misc fixes:
      - Use grpc::Status::OK rather than default ctor for clarity.
      - Check for a null buffer passed into Deserialize, and handle it the
        same way as the protobuf deserializer.
      90c8ded4
  4. 12 Jun, 2017 3 commits
  5. 07 Jun, 2017 4 commits
    • Guillaume Giraud's avatar
      [cpp] Json parsing: adding support for parsing nested lists and top level lists (#4338) · b1740688
      Guillaume Giraud authored
      * Extended json parsing capability: add support for parsing nested lists and top level lists
      
      * Stylistic conformance with surrounding code + generalized comments
      
      * More code tidy-up for stylistic conformance with surrounding code
      
      * Blank lines
      
      * Reverted changes related to top-level list parsing
      
      * Styling: newline before else
      
      * Taking out ProcessTableFields which is no longer needed as the top level list change was reverted.
      b1740688
    • Stephan T. Lavavej's avatar
      [C++] Remove std::iterator usage (#4340) (#4341) · 86b505e4
      Stephan T. Lavavej authored
      * [C++] Remove std::iterator usage (#4340)
      
      Inheriting from std::iterator has never been required, and it's
      deprecated in C++17. It can be replaced by directly providing typedefs.
      
      Include <iterator> for std::random_access_iterator_tag.
      
      Note that structs default to public access control.
      
      * [C++] Change whitespace style in typedefs.
      86b505e4
    • Lawrence Chan's avatar
      [C++] Improve flatbuffers + gRPC integration (#4310) · da67c0a7
      Lawrence Chan authored
      * Rework flatbuffers + gRPC integration
      
      - Introduce `flatbuffers::grpc::Message<T>`, a `grpc_slice`-backed
      message buffer that handles refcounting and allows flatbuffers to
      transfer ownership to gRPC efficiently. This replaces
      `flatbuffers::BufferRef<T>`, which required a copy call and was also
      unsafe w.r.t. buffer lifetime.
      - Introduce `flatbuffers::grpc::MessageBuilder`, a gRPC-specific builder
      that forces a `grpc_slice`-backed allocator and also adds some helpful
      `Message<T>`-related methods.
      - Update serializers accordingly (now zero-copy between flatbuffers and
      gRPC).
      
      * gRPC: verify messages by default, but allow user to override
      
      * gRPC: fix some formatting issues
      
      * Disable verification by default, but add helper method
      
      * Make FlatBufferBuilder fields protected + remove vec accessor
      
      * Use bool add_ref parameter to toggle refcount incr
      
      * Remove unnecessary inline specifiers
      
      * Fix formatting
      
      * Use auto
      
      * Remove empty lines
      
      * Use grpc_slice helper macros
      
      * Simplify reset code
      
      * Disable Message copy ctor and assignment by default
      
      * Remove unused member
      
      * Enable gRPC verification by default
      
      * Use auto
      
      * Bake in message verification (remove template specialization)
      
      * Add RoundUp func
      
      * Consolidate gRPC message copy flag
      
      * Make vector_downward allocations fully lazy
      
      * Test message verification failure code/message
      
      * Add grpctest verification test comments
      
      * Simplify reallocate implementation
      
      * Make initial_size a size_t
      
      * Use ternary op for growth_policy
      
      * Use truthiness rather than dont explicit nullptr check
      
      * Indent preprocessor directives
      
      * Remove grpc message copy/assignment
      
      * Fix a few bugs
      
      * Add gRPC example
      
      * Add basic gRPC docs
      
      * Use doxygen EXAMPLE_PATH + @include
      
      * Reference example fbs in grpc docs
      
      * Move gRPC examples into grpc/samples
      
      * Fix pointer/reference formatting
      
      * Use std::function rather than templated callback func
      
      * Create fresh message builder for each request
      
      * Use Clear() in Reset() impl
      
      * Use FLATBUFFERS_CONSTEXPR
      da67c0a7
    • rufeooo's avatar
      Generate a C++ function for EnumValues{{ENUM_NAME}} (#4337) · dadd1a92
      rufeooo authored
      * enables "for each" logic on enumeration types
      dadd1a92
  6. 05 Jun, 2017 1 commit
  7. 02 Jun, 2017 4 commits
  8. 24 May, 2017 2 commits
    • Wouter van Oortmerssen's avatar
      Fixed --keep-prefix functionality. · 22743ca4
      Wouter van Oortmerssen authored
      Changing to keep include prefixes had two side effects: the main
      file being parsed wasn't filtered out anymore, and include directory
      paths would be added to the path in the include statement.
      
      Also moved the include_test*.fbs files to sub directories so we
      can actually test the handling of -I etc.
      
      tested: on Linux.
      
      Change-Id: Ibae095cea7ab0cccbac15cfb5171719f6b5cad8c
      22743ca4
    • Lawrence Chan's avatar
      [C++] Improve Allocator handling (#4312) · fb87c0d3
      Lawrence Chan authored
      * Improve Allocator handling
      
      - Templatize Allocator on vector_downward, and make it own the allocator
      instance so it can manage lifetimes.
      - Templatize + rename FlatBufferBuilderT accordingly, and add a typedef
      to FlatBufferBuilder so old code continues to work.
      - Fix some issues with the release deleter
      - More details in github issue #4311
      
      * Fix constexpr for older MSVC
      
      * Reimplement allocator improvements via inheritance
      
      Instead of templates, use an abstract base class and some unique_ptrs to
      implement the new and improved allocator.
      
      * Fix misplaced newline
      
      * Add missing override keyword
      
      * Add macro for func delete to support older compilers
      
      * Explicitly move BufferDeleter (maybe fixes VS 10?)
      
      * Revert previous attempt at VS10 fix
      
      * Try yet another workaround for MS 10
      
      * Use FLATBUFFERS_NOEXCEPT macro
      
      * Add FLATBUFFERS_OVERRIDE macro
      
      * Fix some issues with MSVC 16 hack
      
      * Remove dep on unique_ptr
      
      * Update DEPRECATED macro with a message
      
      * Sigh, no delegating ctors before c++11
      
      * Fix simple_allocator stub
      
      * Relax FlatBufferBuilder ctor
      
      * Add vector_downward reset + assert in clear
      
      * Rename DetachedBuffer to FlatBuffer + remove unnecessary deprecations
      
      * Add flatbuffers::FlatBufferBuilder::Release()
      
      * Address remaining allocator-improvements comments
      fb87c0d3
  9. 22 May, 2017 1 commit
  10. 19 May, 2017 1 commit
    • Wouter van Oortmerssen's avatar
      Standardized internal path handling on Posix separators. · aaf5598a
      Wouter van Oortmerssen authored
      There were several possible bugs involving paths not being
      recognized as being the same on Windows. Rather than trying
      to ensure all code deals with / and \ correctly, paths now
      get transformed to / on input, fixing all current and
      future such bugs.
      
      Tested: on OS X.
      aaf5598a
  11. 18 May, 2017 2 commits
    • Kamil Rojewski's avatar
      Fix for invalid null returns (#4318) · 3d2cf554
      Kamil Rojewski authored
      * Eclipse ignore
      
      * TypeScript support
      
      * Prefixing enums
      
      * Test results
      
      * Merged JS and TS generators
      
      * Fixed AppVeyor build problems
      
      * Fixed more AppVeyor build problems
      
      * Fixed more AppVeyor build problems
      
      * Changed TS flag to options struct
      
      * Storing options by value
      
      * Removed unneeded const
      
      * Re-export support for unions
      
      * Uint support
      
      * Casting bools to numbers for mutation
      
      * TS shell tests
      
      * Reverted generates js test file to original version
      
      * Backing up js tests and properly generating test data
      
      * Not importing flatbuffers for TS test generation
      
      * Not overwriting generated js for tests
      
      * AppVeyor test fixes
      
      * Generating the most strict TS code possible
      
      * Not returning null when creating vectors
      
      * Not returning null from struct contructors
      3d2cf554
    • sfariv's avatar
      added check for presence of required fields. (flatc) c++ (#4316) · 55dec4d2
      sfariv authored
      * added check for presence of required fields.
      
      * updates to resolve Travis CI build error.
      
      * fixes for resolving appveyor build errors.
      
      * fixes for resolving appveyor build errors.
      
      * fixes for resolving appveyor build errors.
      
      * updates per aardappel's comments.
      
      * updated a variable's name.
      
      * updates per aardappel's comments.
      55dec4d2
  12. 16 May, 2017 1 commit
    • schoetbi's avatar
      C#: Added <autogenerated> in cs generator file header comment (#4291) · 0f5f7faa
      schoetbi authored
      * Added <autogenerated> in cs generator file header comment
      #4287
      
      * CS: Added xml-correct file header comment including "<auto-generated>...</auto-generated>"
      code_generators.cpp: FlatBuffersGeneratedWarning() function replaced by compile time constant "GeneratedWarning"
       also removed extra newlines at end of GeneratedWarning to be able to generate a xml well formed file comment for cs files
      #4291
      
      * code_generators: Changed static string GeneratedWarning back to function FlatBuffersGeneratedWarning()
      #4291
      
      * Added modified Unit-Test files
      #4291
      
      * idl_gen_general: Add autogenerated only in C# code
      #4291
      0f5f7faa
  13. 15 May, 2017 2 commits
  14. 12 May, 2017 4 commits
    • Wouter van Oortmerssen's avatar
      Made codegen always output a file, even on an empty schema. · c559eb45
      Wouter van Oortmerssen authored
      Previously, we had a check to simply skip such files, but this
      tends to make build systems unhappy.
      
      This only affects C++ and JS, since other language output per-class
      files.
      
      Change-Id: I54224642725bbafb9f6e1654ed3693e62ca9f7d7
      Tested: on Linux.
      c559eb45
    • Lawrence Chan's avatar
      [C++] Fix code gen indentation when empty Print (#4313) · 6a7ec85e
      Lawrence Chan authored
      * Fix C++ code gen indentation when empty Print
      
      * Also commit modified tests/monster_test.bfbs
      6a7ec85e
    • akamat-ibm's avatar
      Adding support for s390x (#4297) · 81ecc98e
      akamat-ibm authored
      * changes to support s390x
      
      * added flag for s390x
      
      * Adding support for Linux s390x
      81ecc98e
    • Per Grön's avatar
      C++/Go: Update gRPC related code to work with gRPC 1.3+ (#4305) · 9aeeddf5
      Per Grön authored
      * Don't fail the build on unused parameters
      
      gRPC headers have unused parameters so this breaks the test build.
      
      * Pull in updated compiler files from gRPC
      
      There have been some API breaks in gRPC lately. This commit
      pulls in the most recent version of the files in this repo
      that are just copied from gRPC.
      
      * Modify the gRPC files so that they can work with Flatbuffers
      
      The files taken from gRPC do not work out-of-the-box with Flatbuffers.
      This commit modifies them so that they work. Hopefully this commit
      will be able to serve as a guide or maybe even be cherry-picked on
      top of new versions of those files as newer versions from gRPC are
      pulled in.
      
      * Adjust the rest of Flatbuffers to work with the new gRPC
      
      * Change idl_gen_grpc.cpp to work with the new API
      * Add missing #include in flatbuffers/grpc.h
      * Run tests/generate_code.sh and check in the results
      * Don't link with grpc++_unsecure and (secure) grpc. That's just weird
      
      * Revert unrelated JS/TS test changes
      
      * Simplify compiler/config.h
      
      There is no need to import this file from gRPC. In fact, it probably
      makes sense to not do so, since it seems to be intended to have
      project specific configuration in it.
      
      * Don't emit C++ types in the Go gRPC code generator
      
      * Don't emit C++ #includes in generated gRPC code
      
      Before this PR, there was a Go-specific additional_includes method
      in schema_interface.h, which is shared with the gRPC repo. The
      additional parameter to FlatBufFile in idl_gen_grpc.cpp makes that
      unnecessary, which means we need less Flatbuffer-specific changes
      in gRPC.
      9aeeddf5
  15. 11 May, 2017 3 commits
  16. 10 May, 2017 2 commits