This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: The \e escape sequence


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]