On 11/02/15 14:25, hyc@symas.com wrote:
Your patch is simple enough but frankly this sounds like a bug in gcc 5's cpp. It shouldn't be inserting gratuitous whitespace in the middle of lines, or inserting line breaks arbitrarily.
Not a gcc bug, the ITS report proved incomplete. gcc-5 inserts "# <file information>" lines (indicating where the macro expansion comes from, I think), so it needs the line breaks.
This slightly different test program:
#include <db.h> __db_version DB_VERSION_MAJOR+0000;
...produces this:
# 2 "test.c" __db_version # 2 "test.c" 3 4 4 # 2 "test.c" +0000;