platform/upstream/flatbuffers.git
10 years agoParser now allows empty tables in JSON
Wouter van Oortmerssen [Tue, 12 Aug 2014 23:20:13 +0000 (16:20 -0700)]
Parser now allows empty tables in JSON

Bug: 16870719
Change-Id: Ia5fdce49a67b1aa621ab1e37a815e2a3293257b6
Tested: on Linux

10 years agoFixed compile warning related to file identification feature.
Wouter van Oortmerssen [Tue, 12 Aug 2014 22:46:27 +0000 (15:46 -0700)]
Fixed compile warning related to file identification feature.

Change-Id: Id33cf778caa818c7d3988edee82058e63bfecbf0
Tested: on Linux

10 years agoFix vector of strings for Java
Bob Potter [Sat, 9 Aug 2014 02:59:28 +0000 (21:59 -0500)]
Fix vector of strings for Java

Change-Id: If032b450230b15224b2661836c8a740398d207c5

10 years agoFile identifier feature.
Wouter van Oortmerssen [Thu, 31 Jul 2014 22:11:03 +0000 (15:11 -0700)]
File identifier feature.

Allows you to add, and test for the presence of a magic 4-char
string in a FlatBuffer.

Tested: on OS X.

Change-Id: I090692a9e4fb53bed3543279a28563e67132cba0

10 years agoFixed bugs that could cause struct values not to be stored or misaligned
Wouter van Oortmerssen [Tue, 12 Aug 2014 00:38:54 +0000 (17:38 -0700)]
Fixed bugs that could cause struct values not to be stored or misaligned

Change-Id: Ie36fe581c000fa4571c96fafd39a9e12fa29e1ca
Tested: on Linux

10 years agoA few document clarifications for Java & Internals.
Wouter van Oortmerssen [Thu, 31 Jul 2014 18:39:40 +0000 (11:39 -0700)]
A few document clarifications for Java & Internals.

Change-Id: I770b53cf7d82c860422c1fe6193fb597d9c9495c

10 years agoMade FlatBuffers compile correctly with -pedantic
Wouter van Oortmerssen [Tue, 29 Jul 2014 17:29:38 +0000 (10:29 -0700)]
Made FlatBuffers compile correctly with -pedantic

Change-Id: I88b5993219e10e2dfb60ff98d6594d19871988fc
Tested: on Linux

10 years agoEnum definitions are generated without a trailing comma (-pedantic).
Wouter van Oortmerssen [Tue, 29 Jul 2014 00:03:08 +0000 (17:03 -0700)]
Enum definitions are generated without a trailing comma (-pedantic).

Change-Id: I07cd28e5915a0526614db85f894f27a5bd27f3bb
Tested: on Windows.

10 years agoAdd CMake finder for downstream projects
Stefan Eilemann [Wed, 16 Jul 2014 14:55:27 +0000 (16:55 +0200)]
Add CMake finder for downstream projects

Change-Id: Ife37f7ead18ee28f8f4fd5e29caeee5e825defd4

10 years agoFix OS X build
Stefan Eilemann [Sat, 26 Jul 2014 11:12:56 +0000 (13:12 +0200)]
Fix OS X build

Change-Id: If0465b73843ad1a489fa66318a689801def3f0f0

10 years agoAdd install step
Daniel Nachbaur [Tue, 15 Jul 2014 13:09:36 +0000 (15:09 +0200)]
Add install step

Change-Id: Ie863ddcf73653d1404a1e84109ebdf66af5dff26

10 years agoTweak Go test.
rw [Tue, 22 Jul 2014 03:12:50 +0000 (20:12 -0700)]
Tweak Go test.

Add more comments explaining the tests. Remove the extraneous 'superFuzz'
functionality. By default, do not compare to generated Java files.

Change-Id: Icb0aa8262e10035958639f9a88ca666694a2ce73

10 years agoExtended symbolic enum parsing in JSON for integers and OR-ing.
Wouter van Oortmerssen [Fri, 25 Jul 2014 22:04:35 +0000 (15:04 -0700)]
Extended symbolic enum parsing in JSON for integers and OR-ing.

Change-Id: Iedbd9914a1ca3897776fb92aa9a1fdfc4603da3c
Tested: on Windows and Linux

10 years agoFixed possible compile error in CreateVector* functions.
Wouter van Oortmerssen [Thu, 24 Jul 2014 23:58:30 +0000 (16:58 -0700)]
Fixed possible compile error in CreateVector* functions.

Change-Id: I3b1fca2ea536349240b7bee35eff360f3acbb539
Tested: on Windows and Linux.

10 years agoMerge "Terminate the output directory argument of flatc." into ub-games-master
Stewart Miles [Tue, 22 Jul 2014 18:22:20 +0000 (18:22 +0000)]
Merge "Terminate the output directory argument of flatc." into ub-games-master

10 years agoTerminate the output directory argument of flatc.
Stewart Miles [Tue, 22 Jul 2014 00:56:53 +0000 (17:56 -0700)]
Terminate the output directory argument of flatc.

Given the command

flatc -o . -c test.fbs

it would generate header file

.test_generated.h

rather than

./test_generated.h

This fixes this issue.

Tested:
Manually verified that flatc generates the correct output files given output
paths ending with and without '/' on Linux and Windows.

Bug: 16464827
Change-Id: I854cb881286f22690f1885f942cf3fd2fc59ca8d

10 years agoCorrected the order of the comments on namespace close parens
Alex Ames [Mon, 21 Jul 2014 23:27:58 +0000 (16:27 -0700)]
Corrected the order of the comments on namespace close parens

Also removed the semicolon on the bracket. It makes -pedanic unhappy.

Bug: 16399323
Change-Id: I16ec0d67af13c3ca0bc6285741f5a95658d262bd

10 years agoUpdated benchmark chart with stats for pugixml.
Wouter van Oortmerssen [Fri, 18 Jul 2014 23:15:10 +0000 (16:15 -0700)]
Updated benchmark chart with stats for pugixml.

Change-Id: I23d7db5b62ca52fee49e1bedcf7d7d8d74957cf8
Tested: on Windows.

10 years agoAdded a `bit_flags` attribute to enum declarations that 1<<N every value.
Wouter van Oortmerssen [Thu, 17 Jul 2014 22:12:37 +0000 (15:12 -0700)]
Added a `bit_flags` attribute to enum declarations that 1<<N every value.

Change-Id: Ib9ec0cb3ddec60b1ca124eaf815fb1ae0cc53e1c
Tested: on Windows and Linux
Bug: 16186562

10 years agoMade sure tests.cpp is testing the new vector iterator functionality.
Wouter van Oortmerssen [Wed, 16 Jul 2014 19:07:24 +0000 (12:07 -0700)]
Made sure tests.cpp is testing the new vector iterator functionality.

Also fixes a potential big-endian bug, and makes iterators work
correctly with pointer types.

Change-Id: Ib7f88fe9e6053d1a9afa7895fba0695627c158b1
Tested: on Windows and Linux

10 years agoA feature that officially supports nested FlatBuffers.
Wouter van Oortmerssen [Wed, 16 Jul 2014 00:50:22 +0000 (17:50 -0700)]
A feature that officially supports nested FlatBuffers.

Generates convenient accessors for the nested root.

Change-Id: Ic0b1531de7ace475ff2a7b1f430d27f41c838430
Tested: on Windows.

10 years agoSmall fixes to the core C++ FlatBuffers implementation.
Wouter van Oortmerssen [Tue, 15 Jul 2014 23:27:44 +0000 (16:27 -0700)]
Small fixes to the core C++ FlatBuffers implementation.

- Ensured weak linkage with the version string is not used on Windows,
  especially cygwin (which throws a linker error).
- Avoided a VS debug error for taking the address of the first element
  of an empty vector.
- Made copy/assignment constructors for downward_vector and
  FlatBufferBuilder private, to avoid people unintentionally making
  expensive copies.
- Using the more correct _WIN32 instead of WIN32

Change-Id: I801b5c8b159e3721af6d1ef0978a3247ba168bab
Tested: on Windows (VS + Cygwin) and Linux.

10 years agoPort FlatBuffers to Go.
rw [Fri, 11 Jul 2014 23:12:35 +0000 (16:12 -0700)]
Port FlatBuffers to Go.

Implement code generation and runtime library for Go, derived from the
Java implementation. Additionally, the test suite verifies:

 - the exact bytes in the Builder buffer during object construction,
 - vtable deduplication, and
 - table construction, via a fuzzer derived from the C++ implementation.

Change-Id: Ib95a019c684891def2b50281e570b4843fea7baa

10 years agoJSON parsing & text generation is now enum-identifier aware.
Wouter van Oortmerssen [Tue, 15 Jul 2014 00:49:04 +0000 (17:49 -0700)]
JSON parsing & text generation is now enum-identifier aware.

When Parsing JSON, it will read enums either as int values, identifiers
specific to the enum type, or strings containing those identifiers.

When generating text, it will output enum identifiers by default
(this can be turned off in favor of integers, like before).

Change-Id: If28b0a1f8f27de79aff3e626f40c0c0b271c325a
Tested: on Windows and Linux
Bug: 16214968

10 years agoAdded an iterator to Vector so you can use range based for loops on them.
Bas Zalmstra [Mon, 30 Jun 2014 14:56:34 +0000 (16:56 +0200)]
Added an iterator to Vector so you can use range based for loops on them.

Change-Id: I6310edd554fba494a76e47b03d3c2bc07b90795d

10 years agoAdd support for the Xbox360 platform (PPC+msvc)
Matthew Endsley [Fri, 11 Jul 2014 23:41:47 +0000 (23:41 +0000)]
Add support for the Xbox360 platform (PPC+msvc)

This includes generic big endian support for msvc by mapping the
Microsoft byte swap instrinsics _bytes_swap_* to the gcc counterpart
names.

10 years agoflatc can now convert flatbuffer binary files into json.
Wouter van Oortmerssen [Fri, 11 Jul 2014 21:01:55 +0000 (14:01 -0700)]
flatc can now convert flatbuffer binary files into json.

Also removed it appending _wire to filenames, renamed the json golden
file to .golden to not clash with generated files.

Bug: 15781201
Change-Id: I8322861e50d1e5b6a5ab5e4b5e5d8ae13c356eb2
Tested: on Windows and Linux

10 years agoMade Java argument names help remind the user when something is an offset.
Wouter van Oortmerssen [Fri, 11 Jul 2014 00:46:45 +0000 (17:46 -0700)]
Made Java argument names help remind the user when something is an offset.

Bug: 15856217
Change-Id: I9163d13ca26c2d53064f5289c993692be711685f
Tested: on Windows

10 years agoThe generated CreateX() calls now come with default values for args.
Wouter van Oortmerssen [Thu, 10 Jul 2014 22:55:11 +0000 (15:55 -0700)]
The generated CreateX() calls now come with default values for args.

bug: 15777627
Change-Id: I9389de46ea883ab0ef1beab9370e5c8e96b4d0b5
Tested: on Windows and Linux

10 years agoChanged the tracking token implementation to be more robust.
Wouter van Oortmerssen [Thu, 10 Jul 2014 21:20:05 +0000 (14:20 -0700)]
Changed the tracking token implementation to be more robust.

The previous version only was included for users of FlatBufferBuilder,
this one should also work for programs that only ever read
FlatBuffers.

Bug: 15762139
Change-Id: Ifceb337ffc1dd9dd09d77c3848cad8707e5c3726
Tested: on Linux.

10 years agoParser now correctly reads floats in scientific notation.
Wouter van Oortmerssen [Thu, 10 Jul 2014 20:40:55 +0000 (13:40 -0700)]
Parser now correctly reads floats in scientific notation.

Change-Id: I7abb14a4b6c596674d6aff2b9de6e63603c0d2dc
Tested: on Windows and Linux.

10 years agoFixed namespace declaration not being cleared between files.
Wouter van Oortmerssen [Wed, 9 Jul 2014 21:21:11 +0000 (14:21 -0700)]
Fixed namespace declaration not being cleared between files.

Change-Id: Ie9fedf894d82a403d0b6b4848d221d6bbee58984
Tested: on OS X.

10 years agoFixed incorrect verifier code for nested tables.
Wouter van Oortmerssen [Wed, 9 Jul 2014 18:44:26 +0000 (11:44 -0700)]
Fixed incorrect verifier code for nested tables.

It was outputting the type instead of the field name, and didn't deal
with NULL fields. Added test case.

Also fixed token enums having the wrong value, resulting in
unreadable error messages.

Change-Id: Icd9b4d22f417bfad5824c0f58e067ce3f2e2dc6f
Tested: on Windows and Linux.

10 years agoFixed vectors reserving wrong amount of space in Java.
Wouter van Oortmerssen [Wed, 9 Jul 2014 00:14:02 +0000 (17:14 -0700)]
Fixed vectors reserving wrong amount of space in Java.

In the generated code, the type of the vector was used for
the element size, instead of the vector element type.

Change-Id: Ie16d5221a61474365292c948fd3af99e2a7716c7
Tested: on Windows.

10 years agoAdded a "strict JSON" mode to the text generator and compiler
Wouter van Oortmerssen [Tue, 8 Jul 2014 23:35:14 +0000 (16:35 -0700)]
Added a "strict JSON" mode to the text generator and compiler

This will add quotes around field names, as required by the official
standard. By default it will leave quotes out, as it is more readable,
more compact, and is accepted by almost all JSON parsers.
The -S switch to flatc turns on strict mode.

As per rfc 7159.

Change-Id: Ibabe9c8162c47339d00ec581d18721a2ba40c6d0
Tested: on Windows.

10 years agoAdded functionality to assign field ids manually in a schema
Wouter van Oortmerssen [Tue, 8 Jul 2014 00:34:23 +0000 (17:34 -0700)]
Added functionality to assign field ids manually in a schema

New attribute:

-   `id: n` (on a table field): manually set the field identifier to `n`.
    If you use this attribute, you must use it on ALL fields of this table,
    and the numbers must be a contiguous range from 0 onwards.
    Additionally, since a union type effectively adds two fields, its
    id must be that of the second field (the first field is the type
    field and not explicitly declared in the schema).
    For example, if the last field before the union field had id 6,
    the union field should have id 8, and the unions type field will
    implicitly be 7.
    IDs allow the fields to be placed in any order in the schema.
    When a new field is added to the schema is must use the next available ID.

Change-Id: I8690f105f3a2d31fdcb75a4fab4130692b12c62f
Tested: on Windows

10 years agoMade declaring the underlying type of an enum mandatory.
Wouter van Oortmerssen [Wed, 2 Jul 2014 19:01:21 +0000 (12:01 -0700)]
Made declaring the underlying type of an enum mandatory.

This is a breaking change, anyone having schema files with enums
that do not specify a type will get a specialized error:

must specify the underlying integer type for this
enum (e.g. ': short', which was the default).

All of the samples and docs already had a type specified,
so hopefully this will affect very few people.

Bug: 15777205
Change-Id: I9b8d7c0827867f7efb6c217346db7e402695eff0
Tested: on Windows

10 years agoFixed helper function CreateVectorOfStructs calling wrong variant.
Wouter van Oortmerssen [Wed, 2 Jul 2014 18:19:02 +0000 (11:19 -0700)]
Fixed helper function CreateVectorOfStructs calling wrong variant.

Change-Id: I4fd2a309276590227921ede467503f56b65ac689
Tested: on Windows and Linux

10 years agoFixed flatc not stripping the path from the base filename.
Wouter van Oortmerssen [Wed, 2 Jul 2014 17:32:32 +0000 (10:32 -0700)]
Fixed flatc not stripping the path from the base filename.

This caused two bugs when used with a path: not being able to save
the generated files, and preprocessor defines with / characters in
them.

Bug: 15676771

Tested: on Windows

Change-Id: I62a3c45d22e2545fdaad83728d83a42a6efa37f9

10 years agoFixed a bugs in the Java runtime that could cause an index out of bounds exception.
Wouter van Oortmerssen [Wed, 2 Jul 2014 00:56:12 +0000 (17:56 -0700)]
Fixed a bugs in the Java runtime that could cause an index out of bounds exception.

Tested: on Windows.

Change-Id: I0d4cdafc21690eb9a509ba31f21e80dacfb602ff

10 years agoSwitched VS build to -W4, and fixed all resulting warnings.
Wouter van Oortmerssen [Mon, 30 Jun 2014 22:56:31 +0000 (15:56 -0700)]
Switched VS build to -W4, and fixed all resulting warnings.

Change-Id: I654217cbd01a3a449503d95753e19b672ec7ec23
Tested: on Windows, Linux

10 years agoAdd buffer verification functionality to FlatBuffers
Wouter van Oortmerssen [Fri, 27 Jun 2014 23:44:53 +0000 (16:44 -0700)]
Add buffer verification functionality to FlatBuffers

Bug: 15732628
Change-Id: I0b7cb65982d6b8957d5a899cca7d2b5d2ef53206
Tested: On Windows, OS X and Linux

10 years agoGenerated C++ headers now have include guards.
Wouter van Oortmerssen [Mon, 23 Jun 2014 23:42:04 +0000 (16:42 -0700)]
Generated C++ headers now have include guards.

Bug: 15700355
Change-Id: Iceccb5b344e394e399092ffaa81f9cad2f0418ab
Tested: on Windows

10 years agoMerge "license is a comment, not an echo" into ub-games-master
Wouter van Oortmerssen [Mon, 23 Jun 2014 23:13:20 +0000 (23:13 +0000)]
Merge "license is a comment, not an echo" into ub-games-master

10 years agoMerge "show absolute path to user when aborting" into ub-games-master
Wouter van Oortmerssen [Mon, 23 Jun 2014 23:13:09 +0000 (23:13 +0000)]
Merge "show absolute path to user when aborting" into ub-games-master

10 years agoMerge "sh script for JavaTest" into ub-games-master
Wouter van Oortmerssen [Mon, 23 Jun 2014 23:12:57 +0000 (23:12 +0000)]
Merge "sh script for JavaTest" into ub-games-master

10 years agoJSON text output now optionally doesn't output linefeeds either.
Wouter van Oortmerssen [Mon, 23 Jun 2014 21:14:31 +0000 (14:14 -0700)]
JSON text output now optionally doesn't output linefeeds either.

Change-Id: Iedac80ee00b27a97c21c7b4ac7c9792e5bafbcc8
Tested: On Windows

10 years agoDoc clarifications (Java vectors, test working dir, benchmark fix).
Wouter van Oortmerssen [Mon, 23 Jun 2014 20:33:34 +0000 (13:33 -0700)]
Doc clarifications (Java vectors, test working dir, benchmark fix).

Change-Id: If8cc05669d82df892e1d4e11f7fbbd68b2dc05bf

10 years agolicense is a comment, not an echo
rw [Mon, 23 Jun 2014 20:37:32 +0000 (13:37 -0700)]
license is a comment, not an echo

10 years agoforce_align was applied after struct size was set.
Wouter van Oortmerssen [Mon, 23 Jun 2014 18:34:19 +0000 (11:34 -0700)]
force_align was applied after struct size was set.

Change-Id: I9a35afac41f27dfdbc5e793c41ec768732cdc2a1
Tested: on Windows.

10 years agoFixed bug that caused creating 0-length arrays to crash
Wouter van Oortmerssen [Mon, 23 Jun 2014 17:55:04 +0000 (10:55 -0700)]
Fixed bug that caused creating 0-length arrays to crash

Change-Id: Ibb0da5b57a2f63804c071863d8c60b845e0aece7
Tested: on Windows

10 years agoshow absolute path to user when aborting
rw [Fri, 20 Jun 2014 23:51:32 +0000 (16:51 -0700)]
show absolute path to user when aborting

10 years agosh script for JavaTest
rw [Fri, 20 Jun 2014 23:21:49 +0000 (16:21 -0700)]
sh script for JavaTest

10 years agoMerge "Fixed various compiler warnings (most related to a 64bit size_t)." into ub...
Wouter van Oortmerssen [Thu, 19 Jun 2014 22:01:45 +0000 (22:01 +0000)]
Merge "Fixed various compiler warnings (most related to a 64bit size_t)." into ub-games-master

10 years agoFixed various compiler warnings (most related to a 64bit size_t).
Wouter van Oortmerssen [Thu, 19 Jun 2014 18:37:54 +0000 (11:37 -0700)]
Fixed various compiler warnings (most related to a 64bit size_t).

Change-Id: Ic2e0565ebc5243fc0be780bfbcb221d5170569fd
Tested: on VS2010

10 years agoAdded 64bit configuration to VS project, and fixed dangling project references.
Wouter van Oortmerssen [Thu, 19 Jun 2014 18:27:07 +0000 (11:27 -0700)]
Added 64bit configuration to VS project, and fixed dangling project references.

Change-Id: I7a0713e3357fc421fcaa6771c9440f2b2f5f58f6
Tested: with VS2010

10 years agoFix compilation with VS 2013 missing header
Barak Amar [Tue, 17 Jun 2014 19:31:25 +0000 (22:31 +0300)]
Fix compilation with VS 2013 missing header

10 years agoDocumentation changes to clarify FlatBuffer internals.
Wouter van Oortmerssen [Wed, 18 Jun 2014 00:48:06 +0000 (17:48 -0700)]
Documentation changes to clarify FlatBuffer internals.

Change-Id: I3759a07385f0d8d172ca2f88ac1759b71bee5a6a

10 years agoFixed a bug in the Java code generation that would generate the wrong identifier...
Wouter van Oortmerssen [Wed, 18 Jun 2014 00:25:57 +0000 (17:25 -0700)]
Fixed a bug in the Java code generation that would generate the wrong identifier in some cases.
Also added a safety check for buffers growing past 2 gigabytes.

Change-Id: I2bca7159f606cf1c08c4391e88ef9b4c8363be06
Tested: With the Java sdk.

10 years agoFixed the web pages not scrolling by regenerating with doxygen.
Wouter van Oortmerssen [Tue, 17 Jun 2014 18:10:53 +0000 (11:10 -0700)]
Fixed the web pages not scrolling by regenerating with doxygen.

Change-Id: Id1269f85ec2f522c8d4b0d05f84d050b42d70d60
Tested: on Android

10 years agoRemoved all unnecessary files from the Xcode project
Wouter van Oortmerssen [Fri, 13 Jun 2014 18:11:54 +0000 (11:11 -0700)]
Removed all unnecessary files from the Xcode project

Change-Id: I60c20e184f51906e6e2fb3880d593584aac0e2fb
Tested: on OS X

10 years agoRemoved two user-specific files from the Xcode project
Wouter van Oortmerssen [Thu, 12 Jun 2014 18:32:55 +0000 (11:32 -0700)]
Removed two user-specific files from the Xcode project

Tested: on OS X.

Change-Id: I19950092140288916651f8c956d05e8c7879c717

10 years agoAdded project files for Visual Studio and Xcode.
Wouter van Oortmerssen [Wed, 11 Jun 2014 20:53:32 +0000 (13:53 -0700)]
Added project files for Visual Studio and Xcode.

Change-Id: Ife9775fdedc9e084c1e826ef13dff06a1b1b2ec2
Tested: on Windows and OS X.

10 years agoInitial commit of the FlatBuffers code.
Wouter van Oortmerssen [Tue, 28 Jan 2014 00:52:49 +0000 (16:52 -0800)]
Initial commit of the FlatBuffers code.

Change-Id: I4c9f0f722490b374257adb3fec63e44ae93da920
Tested: using VS2010 / Xcode / gcc on Linux.

10 years agoInitial empty repository
Baligh Uddin [Tue, 28 Jan 2014 00:13:27 +0000 (16:13 -0800)]
Initial empty repository