Re: systems requiring exit?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



"Ilya N. Golubev" <gin@xxxxxxxxx> writes:

> That systems ignoring `return' value are now rare is not a reason to
> do so.

It's only part of the reason.  The other part is that supporting a
proper declaration for 'exit', that works on all modern systems in
widespread use (both C and C++), was too much maintenance hassle.  Please see
<http://lists.gnu.org/archive/html/autoconf-patches/2006-04/msg00024.html>
for the straw that broke the camel's back on this one.

> A reasonable solution would be standard tests as described above:
> whether the argument to `return' in `main' is ignored, and, if yes,
> how to call `exit' properly.

Yes, something like that would be reasonable, if someone could take
the time to write it, and (more important) test it on the ancient
systems where returning a nonzero value from 'main' doesn't conform to
the C89 standard.

> not even any detailed
> description of how that broken `return' would behave to test for,

As I recall, SCO 2.3.1 (1989) had a bug where "main () { return 0; }"
exited with status 1.

Conversely, in older SunOS versions -- I believe it was SunOS 2.0
(1985) through 3.5 (1988) -- "main () { return 1; }" exited with
status 0.

> Have no systems with broken `return' at hand,

That's the fundamental problem.  These systems are _ancient_ -- they
all predate C89 -- and they are so old that nobody uses them any more.


_______________________________________________
Autoconf mailing list
Autoconf@xxxxxxx
http://lists.gnu.org/mailman/listinfo/autoconf

[Index of Archives]     [GCC Help]     [Kernel Discussion]     [RPM Discussion]     [Red Hat Development]     [Yosemite News]     [Linux USB]     [Samba]

  Powered by Linux