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>
		
			
				
	
	
		
			13 lines
		
	
	
		
			286 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			13 lines
		
	
	
		
			286 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| # 1 "data/recursive.2.cpp"
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| # expansion begin 70,1 ~2 5:2 ~3 5:2 ~3 5:2 ~3 5:2 ~3 5:2 ~3 5:2 ~1
 | |
| b(1) c(1) b(1) b(1) a(1) b(1)
 | |
| # expansion end
 | |
| # expansion begin 75,1 ~2 6:2 ~3 6:2 ~3 6:2 ~3 6:2 ~3 6:2 ~3 6:2 ~1
 | |
| a(1) b(1) a(1) a(1) c(1) a(1)
 | |
| # expansion end
 | |
| # 7 "data/recursive.2.cpp"
 |