-
Notifications
You must be signed in to change notification settings - Fork 213
Open
Labels
Description
if I simply add a field named 'end' to any struct or table, the generated code compilation will fail.
for example:
table Monster {
pos:Vec3; // Struct.
mana:short = 150;
hp:short = 100;
name:string;
friendly:bool = false (deprecated);
inventory:[ubyte]; // Vector of scalars.
color:Color = Blue; // Enum.
weapons:[Weapon]; // Vector of tables.
equipped:Equipment; // Union.
end:short;
}
added end:short; at the end of Monster.
then update the creation code and compile, got the following error:
/Users/github/mymonster/generated/monster_builder.h:54:1: error: conflicting types for 'MyGame_Sample_Monster_end'
__flatbuffers_build_table(flatbuffers_, MyGame_Sample_Monster, 11)
^
/Users/github/mymonster/generated/flatbuffers_common_builder.h:394:27: note: expanded from macro '__flatbuffers_build_table'
static inline N ## _ref_t N ## _end(NS ## builder_t *B)\
^
<scratch space>:69:1: note: expanded from here
MyGame_Sample_Monster_end
^
/Users/github/mymonster/generated/monster_reader.h:162:1: note: previous definition is here
__flatbuffers_define_scalar_field(10, MyGame_Sample_Monster, end, flatbuffers_int16, int16_t, INT16_C(0))
^
/Users/github/mymonster/generated/flatbuffers_common_reader.h:39:17: note: expanded from macro '__flatbuffers_define_scalar_field'
static inline T N ## _ ## NK(N ## _table_t t__tmp)\
^
<scratch space>:22:1: note: expanded from here
MyGame_Sample_Monster_end
^
In file included from /Users/github/mymonster/src/monster.c:12:
/Users/github/mymonster/generated/monster_builder.h:68:1: warning: incompatible pointer types passing 'flatbuffers_builder_t *' (aka 'struct flatcc_builder *') to parameter of type 'MyGame_Sample_Monster_table_t' (aka 'const struct MyGame_Sample_Monster_table *') [-Wincompatible-pointer-types]
__flatbuffers_build_table_prolog(flatbuffers_, MyGame_Sample_Monster, MyGame_Sample_Monster_file_identifier, MyGame_Sample_Monster_type_identifier)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/github/mymonster/generated/flatbuffers_common_builder.h:70:59: note: expanded from macro '__flatbuffers_build_table_prolog'
#define __flatbuffers_build_table_prolog(NS, N, FID, TFID)\
^
/Users/github/mymonster/generated/flatbuffers_common_builder.h:262:35: note: expanded from macro '\
__flatbuffers_build_table_vector_ops'
{ return N ## _push(B, TN ## _end(B)); }\
^
/Users/github/mymonster/generated/monster_reader.h:162:1: note: passing argument to parameter 't__tmp' here
__flatbuffers_define_scalar_field(10, MyGame_Sample_Monster, end, flatbuffers_int16, int16_t, INT16_C(0))
^
/Users/github/mymonster/generated/flatbuffers_common_reader.h:39:44: note: expanded from macro '__flatbuffers_define_scalar_field'
static inline T N ## _ ## NK(N ## _table_t t__tmp)\
^
In file included from /Users/github/mymonster/src/monster.c:12:
/Users/github/mymonster/generated/monster_builder.h:68:1: warning: incompatible pointer types passing 'flatbuffers_builder_t *' (aka 'struct flatcc_builder *') to parameter of type 'MyGame_Sample_Monster_table_t' (aka 'const struct MyGame_Sample_Monster_table *') [-Wincompatible-pointer-types]
__flatbuffers_build_table_prolog(flatbuffers_, MyGame_Sample_Monster, MyGame_Sample_Monster_file_identifier, MyGame_Sample_Monster_type_identifier)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/github/mymonster/generated/flatbuffers_common_builder.h:71:55: note: expanded from macro '__flatbuffers_build_table_prolog'
__flatbuffers_build_table_vector_ops(NS, N ## _vec, N)\
^
/Users/github/mymonster/generated/flatbuffers_common_builder.h:50:40: note: expanded from macro '\
__flatbuffers_build_table_root'
{ return NS ## buffer_end(B, N ## _end(B)); }\
^
/Users/github/mymonster/generated/monster_reader.h:162:1: note: passing argument to parameter 't__tmp' here
__flatbuffers_define_scalar_field(10, MyGame_Sample_Monster, end, flatbuffers_int16, int16_t, INT16_C(0))
^
/Users/github/mymonster/generated/flatbuffers_common_reader.h:39:44: note: expanded from macro '__flatbuffers_define_scalar_field'
static inline T N ## _ ## NK(N ## _table_t t__tmp)\
^
In file included from /Users/github/mymonster/src/monster.c:12:
/Users/github/mymonster/generated/monster_builder.h:68:1: warning: incompatible pointer types passing 'flatbuffers_builder_t *' (aka 'struct flatcc_builder *') to parameter of type 'MyGame_Sample_Monster_table_t' (aka 'const struct MyGame_Sample_Monster_table *') [-Wincompatible-pointer-types]
__flatbuffers_build_table_prolog(flatbuffers_, MyGame_Sample_Monster, MyGame_Sample_Monster_file_identifier, MyGame_Sample_Monster_type_identifier)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/github/mymonster/generated/flatbuffers_common_builder.h:71:55: note: expanded from macro '__flatbuffers_build_table_prolog'
__flatbuffers_build_table_vector_ops(NS, N ## _vec, N)\
^
/Users/github/mymonster/generated/flatbuffers_common_builder.h:52:40: note: expanded from macro '\
__flatbuffers_build_table_root'
{ return NS ## buffer_end(B, N ## _end(B)); }\
^
/Users/github/mymonster/generated/monster_reader.h:162:1: note: passing argument to parameter 't__tmp' here
__flatbuffers_define_scalar_field(10, MyGame_Sample_Monster, end, flatbuffers_int16, int16_t, INT16_C(0))
^
/Users/github/mymonster/generated/flatbuffers_common_reader.h:39:44: note: expanded from macro '__flatbuffers_define_scalar_field'
static inline T N ## _ ## NK(N ## _table_t t__tmp)\
^
In file included from /Users/github/mymonster/src/monster.c:12:
/Users/github/mymonster/generated/monster_builder.h:117:38: warning: incompatible pointer types passing 'flatbuffers_builder_t *' (aka 'struct flatcc_builder *') to parameter of type 'MyGame_Sample_Monster_table_t' (aka 'const struct MyGame_Sample_Monster_table *') [-Wincompatible-pointer-types]
return MyGame_Sample_Monster_end(B);
^
/Users/github/mymonster/generated/monster_reader.h:162:1: note: passing argument to parameter 't__tmp' here
__flatbuffers_define_scalar_field(10, MyGame_Sample_Monster, end, flatbuffers_int16, int16_t, INT16_C(0))
^
/Users/github/mymonster/generated/flatbuffers_common_reader.h:39:44: note: expanded from macro '__flatbuffers_define_scalar_field'
static inline T N ## _ ## NK(N ## _table_t t__tmp)\
^
In file included from /Users/github/mymonster/src/monster.c:12:
/Users/github/mymonster/generated/monster_builder.h:135:63: warning: incompatible pointer types passing 'flatbuffers_builder_t *' (aka 'struct flatcc_builder *') to parameter of type 'MyGame_Sample_Monster_table_t' (aka 'const struct MyGame_Sample_Monster_table *') [-Wincompatible-pointer-types]
__flatbuffers_memoize_end(B, t, MyGame_Sample_Monster_end(B));
^
/Users/github/mymonster/generated/flatbuffers_common_builder.h:24:101: note: expanded from macro '__flatbuffers_memoize_end'
#define __flatbuffers_memoize_end(B, src, op) do { return flatcc_builder_refmap_insert((B), (src), (op)); } while (0)
^~
/Users/github/mymonster/generated/monster_reader.h:162:1: note: passing argument to parameter 't__tmp' here
__flatbuffers_define_scalar_field(10, MyGame_Sample_Monster, end, flatbuffers_int16, int16_t, INT16_C(0))
^
/Users/github/mymonster/generated/flatbuffers_common_reader.h:39:44: note: expanded from macro '__flatbuffers_define_scalar_field'
static inline T N ## _ ## NK(N ## _table_t t__tmp)\
^
5 warnings and 1 error generated.