diff options
author | Lars Knoll <lars.knoll@nokia.com> | 2012-09-10 15:56:33 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2012-09-25 00:08:16 +0200 |
commit | 789f9299079a1ca1795d5e44bca18f72d42d2824 (patch) | |
tree | 3615cd4aeea369e742e62d13f2eec2ade09c48c6 /src/tools/moc/preprocessor.h | |
parent | 99194d1db61b6ad3f5aff3bec1f46a3bcf3f242e (diff) |
Moc: Correctly expand macros with arguments
Moc now supports full expansion of macros with arguments
with the exception of some keywords such as Q_OBJECT
and others that are used internally
Change-Id: I283d47152f75de81ec68a3df1f0f2273f11c5149
Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/tools/moc/preprocessor.h')
-rw-r--r-- | src/tools/moc/preprocessor.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/tools/moc/preprocessor.h b/src/tools/moc/preprocessor.h index 518ead8b41..0c099318db 100644 --- a/src/tools/moc/preprocessor.h +++ b/src/tools/moc/preprocessor.h @@ -51,6 +51,7 @@ QT_BEGIN_NAMESPACE struct Macro { + Macro() : isFunction(false), isVariadic(false) {} bool isFunction; bool isVariadic; Symbols arguments; @@ -85,7 +86,8 @@ public: void substituteMacro(const MacroName ¯o, Symbols &substituted, MacroSafeSet safeset = MacroSafeSet()); void substituteUntilNewline(Symbols &substituted, MacroSafeSet safeset = MacroSafeSet()); - void macroExpandIdentifier(const Symbol &s, Symbols &preprocessed, MacroSafeSet safeset = MacroSafeSet()); + void macroExpandIdentifier(int lineNum, Symbols &preprocessed, MacroSafeSet safeset = MacroSafeSet()); + void macroExpandSymbols(int lineNum, const Symbols &symbols, Symbols &expanded, MacroSafeSet safeset); int evaluateCondition(); |