diff options
Diffstat (limited to 'src/tools/moc')
-rw-r--r-- | src/tools/moc/main.cpp | 3 | ||||
-rw-r--r-- | src/tools/moc/preprocessor.cpp | 3 | ||||
-rw-r--r-- | src/tools/moc/preprocessor.h | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/tools/moc/main.cpp b/src/tools/moc/main.cpp index 3ae6445093..0a5f6ec241 100644 --- a/src/tools/moc/main.cpp +++ b/src/tools/moc/main.cpp @@ -343,7 +343,8 @@ int runMoc(int argc, char **argv) parser.showHelp(1); } Macro macro; - macro.symbols += Symbol(0, PP_IDENTIFIER, value); + macro.symbols = Preprocessor::tokenize(value, 1, Preprocessor::TokenizeDefine); + macro.symbols.removeLast(); // remove the EOF symbol pp.macros.insert(name, macro); } foreach (const QString &arg, parser.values(undefineOption)) { diff --git a/src/tools/moc/preprocessor.cpp b/src/tools/moc/preprocessor.cpp index 3615262b67..2de495f010 100644 --- a/src/tools/moc/preprocessor.cpp +++ b/src/tools/moc/preprocessor.cpp @@ -158,8 +158,7 @@ bool Preprocessor::skipBranch() } -enum TokenizeMode { TokenizeCpp, TokenizePreprocessor, PreparePreprocessorStatement, TokenizePreprocessorStatement, TokenizeInclude, PrepareDefine, TokenizeDefine }; -static Symbols tokenize(const QByteArray &input, int lineNum = 1, TokenizeMode mode = TokenizeCpp) +Symbols Preprocessor::tokenize(const QByteArray& input, int lineNum, Preprocessor::TokenizeMode mode) { Symbols symbols; const char *begin = input.constData(); diff --git a/src/tools/moc/preprocessor.h b/src/tools/moc/preprocessor.h index dc7c98de85..6403955c1b 100644 --- a/src/tools/moc/preprocessor.h +++ b/src/tools/moc/preprocessor.h @@ -89,6 +89,8 @@ public: int evaluateCondition(); + enum TokenizeMode { TokenizeCpp, TokenizePreprocessor, PreparePreprocessorStatement, TokenizePreprocessorStatement, TokenizeInclude, PrepareDefine, TokenizeDefine }; + static Symbols tokenize(const QByteArray &input, int lineNum = 1, TokenizeMode mode = TokenizeCpp); private: void until(Token); |