mirror of
https://git.savannah.gnu.org/git/bison.git
synced 2026-03-09 12:23:04 +00:00
c++: support wide strings for file names
Reported by Mark Boyall. http://lists.gnu.org/archive/html/help-bison/2011-08/msg00002.html * data/location.cc (operator<<): Be templated on the type of output stream. * tests/headers.at (Several parsers): Adjust.
This commit is contained in:
@@ -136,8 +136,9 @@ b4_copyright([Positions for Bison parsers in C++],
|
||||
** \param ostr the destination output stream
|
||||
** \param pos a reference to the position to redirect
|
||||
*/
|
||||
inline std::ostream&
|
||||
operator<< (std::ostream& ostr, const position& pos)
|
||||
template <typename YYChar>
|
||||
inline std::basic_ostream<YYChar>&
|
||||
operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)
|
||||
{
|
||||
if (pos.filename)
|
||||
ostr << *pos.filename << ':';
|
||||
@@ -275,7 +276,9 @@ b4_copyright([Locations for Bison parsers in C++],
|
||||
**
|
||||
** Avoid duplicate information.
|
||||
*/
|
||||
inline std::ostream& operator<< (std::ostream& ostr, const location& loc)
|
||||
template <typename YYChar>
|
||||
inline std::basic_ostream<YYChar>&
|
||||
operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
|
||||
{
|
||||
position last = loc.end - 1;
|
||||
ostr << loc.begin;
|
||||
|
||||
Reference in New Issue
Block a user