Branch: Tag:

2014-12-04

2014-12-04 19:26:35 by Martin Nilsson <nilsson@opera.com>

The CR in a macro definition line is now outputted as a space, in line with how CR is treated elsewhere in CPP. Adjusted testcase.

9203:   test_eq([[cpp("#define A(X) #X\n#define B(Y) A(Y)\nB(foo)")]],    "#line 1 \"-\"\n\n\n \"foo\" ")   test_eq([[cpp("#define FOO(X) X\nFOO(\"\\\n\")\n")]], "#line 1 \"-\"\n\n\n \"\" \n"); - test_eq([[cpp("#define FOO(X) X\r\nFOO(\"\\\r\n\")\r\n")]], "#line 1 \"-\"\n\n\n \"\" \n" /* Note: Added extra space for \r. */); + test_eq([[cpp("#define FOO(X) X\r\nFOO(\"\\\r\n\")\r\n")]], "#line 1 \"-\"\n\n\n \"\" \n" /* Note: Added extra spaces for \r. */);   test_equal([[compile_string("#define FOO(X) X\nstring s=FOO(\"\\\n\\\n\");\nmixed f() {return ({__LINE__, backtrace()[-1][1]});}\n")()->f()]], ({5, 5}));   test_equal([[compile_string("#define FOO(X) X\nstring s=FOO(#\"\n\n\");\nmixed f() {return ({__LINE__, backtrace()[-1][1]});}\n")()->f()]], ({5, 5}));   test_equal([[