Hi,
I found few issues in bison:
1. yy::position::columns() will give incorrect result when column +
count < 0, because it operates on unsigned values. This was broken
when this method was changed to use std::max(). You can fix this by
casting column to int type.
2. position.hh/location.hh/stack.hh files contains few #line
directives, which are not necessary. Additionally they are confusing
the gcov/lcov tools when these files are moved elsewhere after they
are generated. Please remove these directives.
3. In my project I switched from std::string* to
boost::shared_ptr<const std::string> type for storing filename in
yy::position class. In order to do this I use custom position.hh file.
I think it may be good to modify bison code so it will allow to
provide type which will be used for storing filenames.
Regards,
Daniel