summaryrefslogtreecommitdiffstats
path: root/src/tools/moc/preprocessor.h
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@nokia.com>2012-09-10 15:56:33 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-09-25 00:08:16 +0200
commit789f9299079a1ca1795d5e44bca18f72d42d2824 (patch)
tree3615cd4aeea369e742e62d13f2eec2ade09c48c6 /src/tools/moc/preprocessor.h
parent99194d1db61b6ad3f5aff3bec1f46a3bcf3f242e (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.h4
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 &macro, 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();