diff options
Diffstat (limited to 'tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp')
-rw-r--r-- | tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp b/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp index 005ea5c1fa..6801240368 100644 --- a/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp +++ b/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp @@ -405,6 +405,7 @@ private slots: void multi_byte_code_point_in_expansion(); void trigraph(); void nested_arguments_expansion(); + void preprocessorSymbolsAsMacroArguments(); }; // Remove all #... lines, and 'simplify' string, to allow easily comparing the result @@ -2099,6 +2100,20 @@ void tst_Preprocessor::nested_arguments_expansion() QVERIFY(prep.contains(output)); } +void tst_Preprocessor::preprocessorSymbolsAsMacroArguments() +{ + Environment env; + Preprocessor preprocess(nullptr, &env); + const QByteArray input = + "#define IFGEN(if, endif) if (1 == 0) endif\n" + "int main()\n" + "{\n" + "IFGEN(#if, #endif)\n" + "return 0;\n" + "}\n"; + QVERIFY(preprocess.run(QLatin1String("<stdin>"), input).startsWith("# 1 \"<stdin>\"\n")); +} + void tst_Preprocessor::excessive_nesting() { Environment env; |