forked from qt-creator/qt-creator
By lexing the first token after a macro call (meaning: the token after the closing parenthesis (which was passed to handleFunctionLikeMacro which in turn pushed it back into the token buffer)), a token buffer might be popped, which unblocks the macro that generated the actual param pack. The effect was that if this happens in the expansion of a recursive macro (with parameters!), the preprocessor ended up in an infinite loop. Task-number: QTCREATORBUG-9015 Task-number: QTCREATORBUG-9447 Change-Id: I0d83c59188ec15c4a948970e9fa944a17d765475 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
7 lines
80 B
C++
7 lines
80 B
C++
#define a(x) b(x) c(x)
|
|
#define b(x) c(x) a(x)
|
|
#define c(x) a(x) b(x)
|
|
|
|
b(1)
|
|
a(1)
|