When tokens in macro definitions need cstr_buf inside get_tok_str, the second might overwrite the first (happens when tokens are multi-character non-identifiers, see testcase) in macro_is_equal, failing to diagnose a difference. Use a real local buffer.
		
			
				
	
	
		
			3 lines
		
	
	
	
		
			60 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			3 lines
		
	
	
	
		
			60 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* The following should warn */
 | |
| #define A ...
 | |
| #define A <<=
 |