From 8f71182d154cbf9ae202b154ab6f1d77b1615e20 Mon Sep 17 00:00:00 2001 From: Lars Knoll Date: Fri, 23 Sep 2016 09:58:59 +0200 Subject: Enable building of qlalr with QT_NO_CAST_FROM/TO_ASCII Change-Id: I1b26c4b3ca84e0bb8001ca24ef46bd24926a0f82 Reviewed-by: Oswald Buddenhagen --- src/tools/qlalr/lalr.cpp | 2 +- src/tools/qlalr/lalr.h | 1 + src/tools/qlalr/main.cpp | 2 +- src/tools/qlalr/recognizer.cpp | 6 ++++-- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/tools/qlalr/lalr.cpp b/src/tools/qlalr/lalr.cpp index 81975a0f2a..0ccf4c1588 100644 --- a/src/tools/qlalr/lalr.cpp +++ b/src/tools/qlalr/lalr.cpp @@ -187,7 +187,7 @@ Grammar::Grammar (): tk_end = intern ("$end"); terminals.insert (tk_end); - spells.insert (tk_end, "end of file"); + spells.insert (tk_end, QLatin1String("end of file")); /*tk_error= terminals.insert (intern ("error"))*/; } diff --git a/src/tools/qlalr/lalr.h b/src/tools/qlalr/lalr.h index 28c889e63f..b303b897d4 100644 --- a/src/tools/qlalr/lalr.h +++ b/src/tools/qlalr/lalr.h @@ -337,6 +337,7 @@ public: Grammar (); Name intern (const QString &id); + Name intern (const char *id) { return intern(QString::fromUtf8(id)); } inline bool isTerminal (Name name) const { return terminals.find (name) != terminals.end (); } diff --git a/src/tools/qlalr/main.cpp b/src/tools/qlalr/main.cpp index e16d5f1e8d..c16bdcdf17 100644 --- a/src/tools/qlalr/main.cpp +++ b/src/tools/qlalr/main.cpp @@ -65,7 +65,7 @@ int main (int argc, char *argv[]) bool no_lines = false; bool debug_info = true; bool qt_copyright = false; - QString file_name = 0; + QString file_name; const QStringList args = app.arguments().mid(1); for (const QString &arg : args) { diff --git a/src/tools/qlalr/recognizer.cpp b/src/tools/qlalr/recognizer.cpp index ca2551707e..69dad1a6c1 100644 --- a/src/tools/qlalr/recognizer.cpp +++ b/src/tools/qlalr/recognizer.cpp @@ -178,7 +178,8 @@ int Recognizer::nextToken() text.clear (); if (! _M_no_lines) - text += QLatin1String ("\n#line ") + QString::number (_M_action_line) + " \"" + _M_input_file + "\"\n"; + text += QLatin1String("\n#line ") + QString::number (_M_action_line) + + QLatin1String(" \"") + _M_input_file + QLatin1String("\"\n"); inp (); // skip ':' forever @@ -215,7 +216,8 @@ int Recognizer::nextToken() text.clear (); if (! _M_no_lines) - text += QLatin1String ("\n#line ") + QString::number (_M_action_line) + " \"" + _M_input_file + "\"\n"; + text += QLatin1String ("\n#line ") + QString::number (_M_action_line) + + QLatin1String(" \"") + _M_input_file + QLatin1String("\"\n"); inp (); // skip ':' -- cgit v1.2.3