Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!wasatch!cs.utexas.edu!uunet!portal!cup.portal.com!Tim_CDC_Roberts From: Tim_CDC_Roberts@cup.portal.com Newsgroups: comp.lang.c Subject: Re: want to know Message-ID: <21309@cup.portal.com> Date: 15 Aug 89 16:03:44 GMT References: <8487@bsu-cs.bsu.edu> <2980@solo9.cs.vu.nl> <182@sunquest.UUCP> <14269@haddock.ima.isc.com> <1496@l.cc.purdue.edu> Distribution: na Organization: The Portal System (TM) Lines: 25 Regarding the 'Why is main called main()?' fiasco: If this was a joke, then I was taken in, because I penned a four paragraph beginner-style response to this message. There are pros and cons to the main_as_default_transfer_address scheme, of course. If you allowed any label to be the transfer address, then you would need some kind of syntax to specify what to use: main (int argc, char ** argv) { .... could become transfer int entry_point (int argc, char ** argv) { ... The problem with this is that it requires a re-think of the startup code issue. One precedent (FORTRAN) would be to have the _transfer_ entry point (called 'entry_point' above) actually be the loader transfer address, and have the compiler insert a call to startup code in any function with a _transfer_ modifier. However, IMHO, the 'main' idea is conceptually cleaner. Tim_CDC_Roberts@cup.portal.com | Control Data... ...!sun!portal!cup.portal.com!tim_cdc_roberts | ...or it will control you.