The \e escape sequence

Andrew Cagney cagney@gnu.org
Wed Dec 31 18:07:00 GMT 2003


> The \e escape sequence is a GCC extension.  Its unconditional use in
> charset.c has some interesting consequences if you use a different
> compiler.  With the Sun compiler (on Solaris SPARC) the \e in the
> following bit of code gets translation into a plain e:
> 
> static char represented[] = "\a\b\e\f\n\r\t\v";
> 
> As a result, GDB will start escaping e's in its output, for example:
> 
> (gdb) p /c 101
> $1 = 101 '\e'
> 
> which leads to disaster in the testsuite.
> 
> So what should we do?  Simply leaving out '\e' seems the best we can
> do if we don't compile GDB with GCC.  However, this still leads to a
> few failures in the testsuite where we (more or less) explicitly test
> for the '\e' escape.
> 
> Thoughts?

What's ISO C 90 got to say about it (I gather it isn't part of that 
version of ISO C).  If it isn't then it shouldn't be used or tested 
(except barely maybe in a GCC specific test).

Andrew




More information about the Gdb mailing list