New section 3.9.6

Henry Spencer henry at utzoo.uucp
Tue Dec 6 08:09:07 AEST 1988


In article <1988Dec4.161125.20786 at sq.uucp> msb at sq.com (Mark Brader) writes:
>    ... continue to be equivalent *but* that a programmer not wanting to
>    use obsolescent features must choose the first syntax rather than
>    the second.  So, do I have it right? ...

Looks right to me.

>...And what if the function f()
>    had been in a separate file and the extern declaration had used a
>    different syntax from the function definition?)

I think it's only in the function definition that it matters, but I
could be wrong.  The probable intent is code optimization, not compile-
time checking (which is an intractable problem in the general case
anyhow).

>    If I am right, this change is, well, silly.  To reject on the one hand
>    the arguments put forward by me and others about eliminating the
>    second syntax (this rejection on the grounds of "long-ingrained
>    equivalence"), and then on the other hand to make obsolescent *one
>    aspect* of the equivalence, merely gives us the worst of both worlds.

Actually, both ideas have the problem of breaking old code.  However, note
that the new wording does not actually break the equivalence, it merely
serves notice that it might break someday.  This is different from a
proposal which (as I understand it) actually called for immediate breakage.

>[2] In any case, whatever it means, the added declaration of something
>    as obsolescent MUST BE A SUBSTANTIVE CHANGE unless it was always intended
>    to be obsolescent but omitted in error from earlier Drafts...
>
>[3] So what is going on here?  What it looks like from where I sit is
>    an attempt to sneak in a new "noalias" without public review.

This strikes me as a borderline case, since the added wording does not in
fact change the language defined by the standard -- it merely warns of a
possible future change.  Technically I suspect it would qualify as a
substantive change, but I can't get too excited about it.  Much of the
uproar about noalias was because it was (at least as written -- there's
no way to tell what was in the heads of the people involved) thoroughly
botched, with slimy tentacles spreading everywhere.  A relatively localized
and harmless approach would probably have gone through successfully.  This
seems to me to be much closer to what should have been done originally.
I would be unhappy if it had actually been put into the language, but I
don't think it's worth a formal protest over a warning of tentative future
intent.
-- 
SunOSish, adj:  requiring      |     Henry Spencer at U of Toronto Zoology
32-bit bug numbers.            | uunet!attcan!utzoo!henry henry at zoo.toronto.edu



More information about the Comp.std.c mailing list