This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC 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: _Complex and _Imaginary datatypes


On Sun, Feb 23, 2003 at 03:18:18PM -0500, Justin Hibbits wrote:
> Hi, I'm not on the list, so CC all replies to me, (or some other way of letting
> me get them).
> 
> Basically, I want to rally high-profile compiler developers to change the C99
> standard.  I think that the _Complex and _Imaginary data types are completely
> useless in the mainline language and should be moved back to the library, which
> is where they usually are.

Changing the C99 standard itself won't happen.  The time to do that was
before it was published.  (Standards are not changed retroactively.)
What you might be able to do is to convince the standards people to
remove _Complex and _imaginary from the next revision of the C
standard.

I think that the schedule is that a review of the standard will be done
after 5 years (i.e. in 2004) but that is for minor modifications and
corrections only as I understand it and removing a non-trivial part of
the language (such as Imaginary/_Complex) will almost certainly not
happen.
The next major revision of the C standard is, I believe, scheduled for
2009 and work on that hasn't even begun yet.
By then I suspect that _Imaginary/_Complex will be a firmly entrenched
part of the C language and removal will be probably met with a lot of
resistance.

> 
> My biggest argument is that it increases the complexity of the compiler itself,
> which is not necessary.

Do you have any numbers on how large this increase in complexity is?
Without looking closely at the issue I suspect the increased complexity
from this is quite small, especially when compared to other language
additions in C99 like variable-length arrays.

> 
> Flames, comments, etc are welcome.

My opinion is: Forget it. You are very unlikely to convnice the
standards commitee to remove support for _Complex/_Imaginary from the C
standard and doing it will almost certainly not be worth the trouble
anyway.

(Besides, consider that the fact the reason this was added to C99 was
because at least some people *wanted* this in the language.  Those
people will probably not be happy if this support is removed.

Consider also the fact that while it is usually easy to add features to
a language/system, it is often very difficult to remove features once
people have started using them.)


-- 
<Insert your favourite quote here.>
Erik Trulsson
ertr1013 at student dot uu dot se


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