Re: RFA: complex numbers in c-valprint.c

Jim Blandy
2002-02-03T22:43:21Z

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.)