From: Ulya <skv...@gm...> - 2020-12-02 00:05:53
|
Hi Brad, From what I can tell the error comes from the STL <map> header, not from re2c code. The error is: 'std::__1::map::__base' (aka 'int') is not a class, namespace, or enumeration The fact that the compiler thinks that 'std::__1::map::__base' is 'int' means that it cannot see its real definition ('std::__1::map::__base' cannot be defined as 'int', as it is later used in expression '__base::const_iterator', so 'int' here is just the default type assumed by compiler when it cannot find any other definition). Why it can't find the definition, I do not know. Maybe it failed to find the necessary headers. Then also there are some redeclaration errors, which also point at a mess with STL headers. Note that we build re2c continuously for macOS on Github CI, here is the latest build: https://github.com/skvadrik/re2c/runs/1382613288 Can you check the following things: - Can you build a simple program that uses STL maps? - Can you build it passing -std=c++98 to the compiler? (re2c uses C++98) - What is your toolchain? (C++ compiler, version) - What re2c version are you building? - How exactly are you building it? -- Ulya |