Skip to content

Commit d17e324

Browse files
committed
Bump to version 0.6.1
1 parent 7c451ea commit d17e324

File tree

9 files changed

+76
-35
lines changed

9 files changed

+76
-35
lines changed

CHANGELOG.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
# Change Log
22

3-
## [0.6.1-pre]
3+
## [0.6.1]
44

55
- Add `flatcc_builder_alloc` and `flatcc_builder_free` to handle situations
6-
where stanard allocation has been redefined via macros so `free` is no longer
6+
where standard allocation has been redefined via macros so `free` is no longer
77
safe to use. These are similar to the existing `aligned_alloc/free` functions.
88
- Fix a potential, but never seen, low level race condition in the builder when
99
writing a union field because the builder might reallocate between type

README.md

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ executable also handle optional json parsing or printing in less than 2 us for a
2525
* [Poll on Meson Build](#poll-on-meson-build)
2626
* [Reporting Bugs](#reporting-bugs)
2727
* [Status](#status)
28-
* [Main features supported as of 0.6.0](#main-features-supported-as-of-060)
28+
* [Main features supported as of 0.6.1](#main-features-supported-as-of-061)
2929
* [Supported platforms (CI tested)](#supported-platforms-ci-tested)
3030
* [Platforms reported to work by users](#platforms-reported-to-work-by-users)
3131
* [Portability](#portability)
@@ -292,6 +292,20 @@ fi
292292

293293
## Status
294294

295+
Release 0.6.1 contains primarily bug fixes and numerous contributions
296+
from the community to handle platform edge cases. Additionally,
297+
pendantic GCC warnings are disabled, relying instead on clang, since GCC
298+
is too aggressive, breaks builds frequently and works against
299+
portability. An existing C++ test case ensures that C code also works
300+
with common C++ compilers, but it can break some environments, so there
301+
is now a flag to disable that test without disabling all tests. Support
302+
for Optional Scalar Values in the FlatBuffer format has been added.
303+
There is also improved support for abstracting memory allocation on
304+
various platforms. `<table>_identifier` has been deprecated in favor
305+
`<table>_file_identifier` in generated code due to `identifier` easily
306+
leading to name conflicts. `file_extension` constant in generated code
307+
is now without prefixed dot (.).
308+
295309
Release 0.6.0 introduces a "primary" attribute to be used together with
296310
a key attribute to chose default key for finding and sorting. If primary
297311
is absent, the key with the lowest id becomes primary. Tables and
@@ -339,7 +353,7 @@ low-level union interface so the terms { type, value } are used
339353
consistently over { type, member } and { types, members }.
340354

341355

342-
### Main features supported as of 0.6.0
356+
### Main features supported as of 0.6.1
343357

344358
- generated FlatBuffers reader and builder headers for C
345359
- generated FlatBuffers verifier headers for C
@@ -364,6 +378,7 @@ consistently over { type, member } and { types, members }.
364378
- base64(url) encoded binary data in JSON.
365379
- sort fields by primary key (as of 0.6.0)
366380
- char arrays (as of 0.6.0)
381+
- optional scalar values (as of 0.6.1)
367382

368383
There are no plans to make frequent updates once the project becomes
369384
stable, but input from the community will always be welcome and included

include/flatcc/flatcc_version.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,12 @@
22
extern "C" {
33
#endif
44

5-
#define FLATCC_VERSION_TEXT "0.6.1-dev"
5+
#define FLATCC_VERSION_TEXT "0.6.1"
66
#define FLATCC_VERSION_MAJOR 0
77
#define FLATCC_VERSION_MINOR 6
88
#define FLATCC_VERSION_PATCH 1
99
/* 1 or 0 */
10-
#define FLATCC_VERSION_RELEASED 0
10+
#define FLATCC_VERSION_RELEASED 1
1111

1212
#ifdef __cplusplus
1313
}

include/flatcc/reflection/flatbuffers_common_builder.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef FLATBUFFERS_COMMON_BUILDER_H
22
#define FLATBUFFERS_COMMON_BUILDER_H
33

4-
/* Generated by flatcc 0.6.1-dev FlatBuffers schema compiler for C by dvide.com */
4+
/* Generated by flatcc 0.6.1 FlatBuffers schema compiler for C by dvide.com */
55

66
/* Common FlatBuffers build functionality for C. */
77

include/flatcc/reflection/flatbuffers_common_reader.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef FLATBUFFERS_COMMON_READER_H
22
#define FLATBUFFERS_COMMON_READER_H
33

4-
/* Generated by flatcc 0.6.1-dev FlatBuffers schema compiler for C by dvide.com */
4+
/* Generated by flatcc 0.6.1 FlatBuffers schema compiler for C by dvide.com */
55

66
/* Common FlatBuffers read functionality for C. */
77

include/flatcc/reflection/reflection_builder.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef REFLECTION_BUILDER_H
22
#define REFLECTION_BUILDER_H
33

4-
/* Generated by flatcc 0.6.1-dev FlatBuffers schema compiler for C by dvide.com */
4+
/* Generated by flatcc 0.6.1 FlatBuffers schema compiler for C by dvide.com */
55

66
#ifndef REFLECTION_READER_H
77
#include "reflection_reader.h"
@@ -13,7 +13,7 @@
1313
#undef flatbuffers_identifier
1414
#define flatbuffers_identifier "BFBS"
1515
#undef flatbuffers_extension
16-
#define flatbuffers_extension ".bfbs"
16+
#define flatbuffers_extension "bfbs"
1717

1818
#define __reflection_BaseType_formal_args , reflection_BaseType_enum_t v0
1919
#define __reflection_BaseType_call_args , v0

include/flatcc/reflection/reflection_reader.h

Lines changed: 47 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef REFLECTION_READER_H
22
#define REFLECTION_READER_H
33

4-
/* Generated by flatcc 0.6.1-dev FlatBuffers schema compiler for C by dvide.com */
4+
/* Generated by flatcc 0.6.1 FlatBuffers schema compiler for C by dvide.com */
55

66
#ifndef FLATBUFFERS_COMMON_READER_H
77
#include "flatbuffers_common_reader.h"
@@ -14,7 +14,7 @@
1414
#undef flatbuffers_identifier
1515
#define flatbuffers_identifier "BFBS"
1616
#undef flatbuffers_extension
17-
#define flatbuffers_extension ".bfbs"
17+
#define flatbuffers_extension "bfbs"
1818

1919

2020
typedef const struct reflection_Type_table *reflection_Type_table_t;
@@ -54,86 +54,113 @@ typedef struct reflection_Schema_table *reflection_Schema_mutable_table_t;
5454
typedef const flatbuffers_uoffset_t *reflection_Schema_vec_t;
5555
typedef flatbuffers_uoffset_t *reflection_Schema_mutable_vec_t;
5656
#ifndef reflection_Type_file_identifier
57-
#define reflection_Type_file_identifier flatbuffers_identifier
57+
#define reflection_Type_file_identifier "BFBS"
5858
#endif
5959
/* deprecated, use reflection_Type_file_identifier */
6060
#ifndef reflection_Type_identifier
61-
#define reflection_Type_identifier flatbuffers_identifier
61+
#define reflection_Type_identifier "BFBS"
6262
#endif
6363
#define reflection_Type_type_hash ((flatbuffers_thash_t)0x44c8fe5e)
6464
#define reflection_Type_type_identifier "\x5e\xfe\xc8\x44"
65+
#ifndef reflection_Type_file_extension
66+
#define reflection_Type_file_extension "bfbs"
67+
#endif
6568
#ifndef reflection_KeyValue_file_identifier
66-
#define reflection_KeyValue_file_identifier flatbuffers_identifier
69+
#define reflection_KeyValue_file_identifier "BFBS"
6770
#endif
6871
/* deprecated, use reflection_KeyValue_file_identifier */
6972
#ifndef reflection_KeyValue_identifier
70-
#define reflection_KeyValue_identifier flatbuffers_identifier
73+
#define reflection_KeyValue_identifier "BFBS"
7174
#endif
7275
#define reflection_KeyValue_type_hash ((flatbuffers_thash_t)0x8c761eaa)
7376
#define reflection_KeyValue_type_identifier "\xaa\x1e\x76\x8c"
77+
#ifndef reflection_KeyValue_file_extension
78+
#define reflection_KeyValue_file_extension "bfbs"
79+
#endif
7480
#ifndef reflection_EnumVal_file_identifier
75-
#define reflection_EnumVal_file_identifier flatbuffers_identifier
81+
#define reflection_EnumVal_file_identifier "BFBS"
7682
#endif
7783
/* deprecated, use reflection_EnumVal_file_identifier */
7884
#ifndef reflection_EnumVal_identifier
79-
#define reflection_EnumVal_identifier flatbuffers_identifier
85+
#define reflection_EnumVal_identifier "BFBS"
8086
#endif
8187
#define reflection_EnumVal_type_hash ((flatbuffers_thash_t)0x9531c946)
8288
#define reflection_EnumVal_type_identifier "\x46\xc9\x31\x95"
89+
#ifndef reflection_EnumVal_file_extension
90+
#define reflection_EnumVal_file_extension "bfbs"
91+
#endif
8392
#ifndef reflection_Enum_file_identifier
84-
#define reflection_Enum_file_identifier flatbuffers_identifier
93+
#define reflection_Enum_file_identifier "BFBS"
8594
#endif
8695
/* deprecated, use reflection_Enum_file_identifier */
8796
#ifndef reflection_Enum_identifier
88-
#define reflection_Enum_identifier flatbuffers_identifier
97+
#define reflection_Enum_identifier "BFBS"
8998
#endif
9099
#define reflection_Enum_type_hash ((flatbuffers_thash_t)0xacffa90f)
91100
#define reflection_Enum_type_identifier "\x0f\xa9\xff\xac"
101+
#ifndef reflection_Enum_file_extension
102+
#define reflection_Enum_file_extension "bfbs"
103+
#endif
92104
#ifndef reflection_Field_file_identifier
93-
#define reflection_Field_file_identifier flatbuffers_identifier
105+
#define reflection_Field_file_identifier "BFBS"
94106
#endif
95107
/* deprecated, use reflection_Field_file_identifier */
96108
#ifndef reflection_Field_identifier
97-
#define reflection_Field_identifier flatbuffers_identifier
109+
#define reflection_Field_identifier "BFBS"
98110
#endif
99111
#define reflection_Field_type_hash ((flatbuffers_thash_t)0x9f7e408a)
100112
#define reflection_Field_type_identifier "\x8a\x40\x7e\x9f"
113+
#ifndef reflection_Field_file_extension
114+
#define reflection_Field_file_extension "bfbs"
115+
#endif
101116
#ifndef reflection_Object_file_identifier
102-
#define reflection_Object_file_identifier flatbuffers_identifier
117+
#define reflection_Object_file_identifier "BFBS"
103118
#endif
104119
/* deprecated, use reflection_Object_file_identifier */
105120
#ifndef reflection_Object_identifier
106-
#define reflection_Object_identifier flatbuffers_identifier
121+
#define reflection_Object_identifier "BFBS"
107122
#endif
108123
#define reflection_Object_type_hash ((flatbuffers_thash_t)0xb09729bd)
109124
#define reflection_Object_type_identifier "\xbd\x29\x97\xb0"
125+
#ifndef reflection_Object_file_extension
126+
#define reflection_Object_file_extension "bfbs"
127+
#endif
110128
#ifndef reflection_RPCCall_file_identifier
111-
#define reflection_RPCCall_file_identifier flatbuffers_identifier
129+
#define reflection_RPCCall_file_identifier "BFBS"
112130
#endif
113131
/* deprecated, use reflection_RPCCall_file_identifier */
114132
#ifndef reflection_RPCCall_identifier
115-
#define reflection_RPCCall_identifier flatbuffers_identifier
133+
#define reflection_RPCCall_identifier "BFBS"
116134
#endif
117135
#define reflection_RPCCall_type_hash ((flatbuffers_thash_t)0xe2d586f1)
118136
#define reflection_RPCCall_type_identifier "\xf1\x86\xd5\xe2"
137+
#ifndef reflection_RPCCall_file_extension
138+
#define reflection_RPCCall_file_extension "bfbs"
139+
#endif
119140
#ifndef reflection_Service_file_identifier
120-
#define reflection_Service_file_identifier flatbuffers_identifier
141+
#define reflection_Service_file_identifier "BFBS"
121142
#endif
122143
/* deprecated, use reflection_Service_file_identifier */
123144
#ifndef reflection_Service_identifier
124-
#define reflection_Service_identifier flatbuffers_identifier
145+
#define reflection_Service_identifier "BFBS"
125146
#endif
126147
#define reflection_Service_type_hash ((flatbuffers_thash_t)0xf31a13b5)
127148
#define reflection_Service_type_identifier "\xb5\x13\x1a\xf3"
149+
#ifndef reflection_Service_file_extension
150+
#define reflection_Service_file_extension "bfbs"
151+
#endif
128152
#ifndef reflection_Schema_file_identifier
129-
#define reflection_Schema_file_identifier flatbuffers_identifier
153+
#define reflection_Schema_file_identifier "BFBS"
130154
#endif
131155
/* deprecated, use reflection_Schema_file_identifier */
132156
#ifndef reflection_Schema_identifier
133-
#define reflection_Schema_identifier flatbuffers_identifier
157+
#define reflection_Schema_identifier "BFBS"
134158
#endif
135159
#define reflection_Schema_type_hash ((flatbuffers_thash_t)0xfaf93779)
136160
#define reflection_Schema_type_identifier "\x79\x37\xf9\xfa"
161+
#ifndef reflection_Schema_file_extension
162+
#define reflection_Schema_file_extension "bfbs"
163+
#endif
137164

138165
typedef int8_t reflection_BaseType_enum_t;
139166
__flatbuffers_define_integer_type(reflection_BaseType, reflection_BaseType_enum_t, 8)

include/flatcc/reflection/reflection_verifier.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#ifndef REFLECTION_VERIFIER_H
22
#define REFLECTION_VERIFIER_H
33

4-
/* Generated by flatcc 0.6.1-dev FlatBuffers schema compiler for C by dvide.com */
4+
/* Generated by flatcc 0.6.1 FlatBuffers schema compiler for C by dvide.com */
55

66
#ifndef REFLECTION_READER_H
77
#include "reflection_reader.h"

src/compiler/codegen_schema.c

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -465,17 +465,15 @@ static void sort_objects(void *buffer)
465465
static FILE *open_file(fb_options_t *opts, fb_schema_t *S)
466466
{
467467
FILE *fp = 0;
468-
char *path;
468+
char *path = 0, *ext = 0;
469469
const char *prefix = opts->outpath ? opts->outpath : "";
470470
size_t len, prefix_len = strlen(prefix);
471471
const char *name;
472-
const char *ext;
473472

474473
name = S->basename;
475474
len = strlen(name);
476475

477-
ext = flatbuffers_extension;
478-
476+
ext = fb_create_path_ext(".", flatbuffers_extension);
479477
/* We generally should not use cgen options here, but in this case it makes sense. */
480478
if (opts->gen_stdout) {
481479
return stdout;
@@ -486,6 +484,7 @@ static FILE *open_file(fb_options_t *opts, fb_schema_t *S)
486484
fprintf(stderr, "error opening file for writing binary schema: %s\n", path);
487485
}
488486
free(path);
487+
free(ext);
489488
return fp;
490489
}
491490

0 commit comments

Comments
 (0)