TIP: Click on subject to list as thread! ANSI
echo: os2prog
to: Paul Edwards
from: Philipp Thomas
date: 1995-10-21 12:46:24
subject: C Set ++

Saturday October 14 1995 11:54, you wrote to me:

Paul,

 PE>  * Forwarded from area 'OS2PROG'

 PE> Can you quote a reference on this.  The only reference I know of is
 PE> that if a vendor-function pollutes the namespace when compiling in

You're right. It's this I was refering to. But won't any function not
defined by the ANSI standard fall under this clause ?

 PE> If they want to do that, that's OK, but it still doesn't make the
 PE> Borland approach wrong.

I didn't say (or at least didn't meant to say) it is wrong, only that MS or
IBMs way of doing it is easier for me.

 PE> discussion was not about who has the best posix environment, but
 PE> whether there was something wrong with Borland's ISO-compliance claim.

Ok, I jumped in late on that thread and seem to have missed the point.

 PE> You tried to turn an ISO-conforming compiler into a Posix-conforming
 PE> compiler.

If I had tried to do that I would have had much more work :) I would have
had to change the library and the header as full posix compliance involves
much more than having open, close etc., as you may know.

 PE> of days ago], BCOS2 1.5 doesn't have a fork(), which means they
 PE> are not Posix-compliant already.  I very much doubt that Borland
 PE> claim to be posix-compliant anyway.

The only compiler (or better library) that has fork is the C library of the
emx gcc port. But the documentation strongly advises not to use fork as it
doesn't fit well into OS/2s process model.

 PE> can't remember whether or not posix requires open() to be prototyped
 PE> in stdio.h,

Nope, it doesn't require it. And quite a few other common (unix) functions
don't have a place in std headers. That's why on most unix machines you'll
find the unistd.h that declares things like open(),close(),exec() etc.

 PE> #ifdef DO_PROTOTYPES

 PE> should not do

 PE> #ifdef __STDC__

 PE> if they then turn around and start writing non-ISO code

Of cause you're right. But tell that to the zillion people writing free
software mostly for the unix world :) But how do you distinguish a K&R
compiler from an ANSI compiler if not by testing for __STDC__ ? And
additionally to the above mentioned, you will want prototypes, standard
headers and in some cases the token pasting capabilities of an ANSI
compiler.

 PE> Another *possibility* is that you can go "-D__STDC__=1" on the
 PE> command line compile of Borland to get what you want.

Without changing the headers this won't help you in such a case.

 PE> him to report it back to the people in the USA in charge of it.  I'm
 PE> not sure whether they accepted that change I made or not.

Judging from my efforts I'd guess they will ignore such stuff.


                                                     Philipp


Winter is the season in which people try to keep the house as
warm as it was in the summer, when they complained about the
heat.

--- GoldED/2 2.50+
* Origin: Assassin for hire in Morpork (2:2437/221)
SEEN-BY: 270/101 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407
SEEN-BY: 712/515 628 704 713/888 800/1 7877/2809
@PATH: 2437/221 200 501 2461/200 24/999 2/777 396/1 270/101 712/515 711/808
@PATH: 711/809 934

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.