diff --git a/src/idl_parser.cpp b/src/idl_parser.cpp index 8b7f78e5e..bf550dfd4 100644 --- a/src/idl_parser.cpp +++ b/src/idl_parser.cpp @@ -725,7 +725,7 @@ void Parser::ParseEnum(bool is_union) { if (prevsize && enum_def.vals.vec[prevsize - 1]->value >= ev.value) Error("enum values must be specified in ascending order"); } - } while (IsNext(',')); + } while (IsNext(',') && token_ != '}'); Expect('}'); if (enum_def.attributes.Lookup("bit_flags")) { for (auto it = enum_def.vals.vec.begin(); it != enum_def.vals.vec.end(); diff --git a/tests/monster_test.fbs b/tests/monster_test.fbs index 7494144fb..9f3920d3b 100755 --- a/tests/monster_test.fbs +++ b/tests/monster_test.fbs @@ -4,7 +4,7 @@ include "include_test1.fbs"; namespace MyGame.Example; -enum Color:byte (bit_flags) { Red = 0, Green, Blue = 3 } +enum Color:byte (bit_flags) { Red = 0, Green, Blue = 3, } union Any { Monster } // TODO: add more elements