RFA: complex numbers in c-valprint.c

Jim Blandy jimb@zwingli.cygnus.com
Sun Feb 3 14:43:00 GMT 2002


Daniel Jacobowitz <drow@mvista.com> writes:
> This patch fixes half of gdb/320.  The other half is a bug in GCC 3.x, that
> I just CC'd gdb@ about.
> 
> Is this OK to commit?  Does anyone have a preference for {0, 0} vs. { re =
> 0, im = 0}?  I used the former.

{0, 0} looks to me like GDB's syntax for array literals.  In ISO C
programs, don't you just write complex literals as x+I*y?  What's wrong
with GDB printing that?

If you say, "It shouldn't be an expression!", then I'll just say, "We
already print negative numbers as an expression!"  Lexically speaking,
C integer literals can't have a sign.  `-3' is an application of the
prefix operator `-' to the literal `3'.  Since the spec promises that
the compiler will fold constant expressions, you don't need a
dedicated syntax for negative numbers.  I assume the same thinking is
behind the lack of any syntactic support for complex literals.

(The bikeshed should be a nice yellow-green, I think.)



More information about the Gdb-patches mailing list