HP3000-L Archives

August 1996, Week 2

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Walter Murray <[log in to unmask]>
Reply To:
Walter Murray <[log in to unmask]>
Date:
Fri, 9 Aug 1996 18:23:29 GMT
Content-Type:
text/plain
Parts/Attachments:
text/plain (41 lines)
Steve Dirickson b894 WestWin ([log in to unmask]) wrote:
 
: Prototypes are an ANSI option, but the language has never required them;
: as such, a missing prototype is neither an error nor a warning condition,
: so no diagnostic is required. A compiler that issues diagnostics on
: missing prototypes is certainly a good idea, and most of them tell you
: something like "'yourfunctionwithnoprototype' undefined; assuming extern
: returning int", but it's a non-standard extension. Since C/iX is
: marginally ANSI anyway (and not even that by default), I don't think
: you'll find it complaining about this one, even with "-w1".
 
I'd like to respond to Steve's statement that "C/iX is marginally ANSI".
This might be taken to imply, erroneously, that C/iX is something less
than a full implementation of the ANSI standard.  I can testify that
when C/iX was enhanced to conform to the standard, no effort was spared
to conform completely in every detail -- every corner case and picky
detail.  C/iX implements a number of the common extensions suggested by
ANSI, to the extent possible without rendering the implementation
nonconforming.  And of course there are other extensions unique to
MPE, such as the intrinsic pragma.  C/iX has been fully validated with
no errors.  So I would say that C/iX is "fully ANSI".
 
Steve mentions that C/iX is not ANSI by default.  That is true, when
it is invoked outside the POSIX Shell.  I formally suggested making
ANSI mode the default several years ago, in SR 5003060806.  It was
not done, because of concerns about forward compatibility.  C/ix
(originally C/XL) was released well before the ANSI standard existed.
Certain coding practices that were common in pre-ANSI days became illegal
under ANSI.  Worse than that, the standard introduced certain "quiet
changes," things that are still legal but give different results in
ANSI mode.  We feared the negative impact on customers of changing
the default mode.  Customers who want to effectively have ANSI mode
as the default can set up a logon UDC with the command
"SETVAR CCOPTS '-Aa'".
 
I hope this information is helpful.
 
Walter Murray
Hewlett-Packard
Support Technology Lab

ATOM RSS1 RSS2