// test code
#define S(X) S2(X)
#define S2(X) #X
#define TAB "   " /* 0x09 */

S(S(TAB))


// gcc -E -P OUTPUT

"\"\\\"\\011\\\"\""

// expected result

"\"\\\" \\\"\""


GCC # preprocessing operator converts the non-printable characters to octal.
But this behavior is non standard.

-- 
           Summary: stringification BUG
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: preprocessor
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: s__nakayama at infoseek dot jp
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22042

Reply via email to