Storgae durations

A

Antoninus Twink

The fact that Heathfield doesn't know what he is speaking about
doesn't mean that there isn't any C99 compiler for that platform.

If Heathfield really didn't know, then that wouldn't be so bad.

As it is, he knows perfectly well what the situation is, but
deliberately chooses to tell lies. He is not ignorant, but deceitful and
untrustworthy.
 
A

Antoninus Twink

Yes, sure.

So, here, you say, "we" discuss whatever "you" like.

GREAT Heathfield.

This is the same Heathfield who said earlier in this thread that he
lives in the real world.

This is not a private web forum. It is not a moderated newsgroup. There
is nothing Heathfield can do to stop "us" discussing whatever "we" like.

Or to adopt Heathfield's pompous way of putting things: "de jure" this
group may ISO C, but "de facto" it discusses all C and plenty of other
things besides.
 
S

santosh

I use C99 for my desktop. Where do you get that "C99 isn't even
portable to my desktop"?

Presumably from your statement above that you use GCC's non-conforming
C99 implementation.

Richard does have a point, IMO. Even some WG14 Committee members have
mentioned in this group (or in comp.std.c) that C99 has been
implemented completely by a dramatically smaller number of vendors than
the Committee had anticipated prior to the Standard's release. This
observation has resulted in the Manifesto for C1x to explicitly
discourge so-called Committee inventions unless there exist a
reasonable number of existing implementations.

Most C compilers seem to have implement *parts* of C99 but only a few
have implemented it in it's entirety. This means that you have to be
far more circumspect when trying to write a maximally portable C99
program than a C90 one, so much so, that you might find yourself coding
in the subset of C99 that corresponds almost exactly to C90.

Obviously not everyone needs to write "maximally" portable code. If
you're only targeting desktops, then you can use C99 with far more
assurance, though the fact that MS refuse to implement it is quite an
irritating thorn in the side.
I'm not discussing "notquiteISO C." I'm stating that the important
thing is not so much the conformance level, but the compiler's
usability.

When you are writing for only one compiler then it's extensions and
value-added features are great, but when you are writing code meant to
compile under several compilers then the Standard starts to be quite
valuable with regards to how much common functionality you can depend
upon, and how much of your code needs to include multiple
compiler/system specific conditionally compiled code. Rewriting the
whole application for each targeted compiler is an enormous waste,
while sticking solely to what C90/C99 guarantees may also not be
feasible. The trick is in using Standard code where it will suffice and
extensions elsewhere.

Fully conformant compilers facilitate this process of producing
semi-portable code while non-conformant compilers make the job more
complicated.

<snip>
 
H

Huibert Bol

James said:
What do you mean by that question? It most certainly already is a part of the
official standard: 6.2.4p1: "There are three storage durations: static,
automatic, and allocated."

Sorry, I meant what was the status with regard to the (then, 1994) standard?
RRs seem to live in a sort of limbo until the standard gets updated, which, in
this case, never happened.
 
S

s0suk3

Presumably from your statement above that you use GCC's non-conforming
C99 implementation.

The question remains: Where does he get that "C99 isn't even portable
to my desktop"?
Richard does have a point, IMO. Even some WG14 Committee members have
mentioned in this group (or in comp.std.c) that C99 has been
implemented completely by a dramatically smaller number of vendors than
the Committee had anticipated prior to the Standard's release. This
observation has resulted in the Manifesto for C1x to explicitly
discourge so-called Committee inventions unless there exist a
reasonable number of existing implementations.

I've been wondering, if C99 has been implemented only by a small
number of vendors so far, the reason seeming to be that they're not
interested in C anymore, *who* is going to implement C1X?
Most C compilers seem to have implement *parts* of C99 but only a few
have implemented it in it's entirety. This means that you have to be
far more circumspect when trying to write a maximally portable C99
program than a C90 one, so much so, that you might find yourself coding
in the subset of C99 that corresponds almost exactly to C90.

Not if your code needs to portable among OSs where there are C99
implementations, which I would expect to be the case of most people.
Isn't that your case too?

<snip>

Sebastian
 
S

santosh

Huibert said:
Sorry, I meant what was the status with regard to the (then, 1994)
standard? RRs seem to live in a sort of limbo until the standard gets
updated, which, in this case, never happened.

I believe that the RRs that are published can be taken
as "clarifications" to the current Standard, but they are not
normative.
 
S

santosh

The question remains: Where does he get that "C99 isn't even portable
to my desktop"?

Okay, let's leave this point.
I've been wondering, if C99 has been implemented only by a small
number of vendors so far, the reason seeming to be that they're not
interested in C anymore, *who* is going to implement C1X?

This is a fair question, and something I think that many programmers
might well wonder about, given C99's adoption rate. To the Committee's
credit, they do seem to be aware of this and seem determined to
minimise changes and additions.

Personally, I think an important determinant of C1x's success will be
it's extent of compatibility with C++0x. Apparently WG14 and WG21
collaborate closely in areas where their activities will affect the
other. A Standard that is highly compatible with C++0x will probably be
implemented fairly enthusiastically.
Not if your code needs to portable among OSs where there are C99
implementations, which I would expect to be the case of most people.
Isn't that your case too?

<snip>

Yes, but there *are* a lot of developers working in the embedded arena
where C99 is not implemented as well as C90.
 
I

Ian Collins

I've been wondering, if C99 has been implemented only by a small
number of vendors so far, the reason seeming to be that they're not
interested in C anymore, *who* is going to implement C1X?
Oh there's plenty of interest in C, but don't forget the majority of C
is written for embedded platforms that have no use for many C99 features
(_Complex on an 8 bit micro anyone?). I'd wager a decent quantity of
beer on the percentage of C programmers who have used <complex.h> or
<tgmath.h> in production code is vanishingly small.
 
K

Keith Thompson

jacob navia said:
He said that C99 wasn't available for IBM mainframes, what
is a lie.

(referring to Richard Heathfield)
See:

http://www-306.ibm.com/software/awdtools/czvm/

<quote>
Supports the ISO/IEC 9899:1999 international standard (C99)
<end quote>

Assuming you're referring to what Richard wrote in this thread, I
suggest you read it again. He *didn't say* that C99 isn't available
for IBM mainframes.

And even if he had, apparently it didn't occur to you that he might
not have known about that web page.

I am sick and tired of the way you throw the words "lie" and "liar"
around.

Grow up.
 
S

santosh

Ian said:
Oh there's plenty of interest in C, but don't forget the majority of C
is written for embedded platforms that have no use for many C99
features (_Complex on an 8 bit micro anyone?). I'd wager a decent
quantity of beer on the percentage of C programmers who have used
<complex.h> or <tgmath.h> in production code is vanishingly small.

Then I wonder why the Committee standardised them in the first place? It
seemingly flies against their own charter for C99.

On a related note, I note that the Committee is considering the
possibility of sectioning the Standard for it's next incarnation. If
it's embraced then the maths and scientific functions could be included
in a "Scientific C" subset.
 
A

Antoninus Twink

*IN LAW*, C99 is the current Standard. *IN PRACTICE*, here you are,
advocating C99 and saying that C90 is obsolete, but according to your last
article you don't even have a conforming C99 implementation on your
desktop machine!

Once again, *THIS IS NONSENSE*.

How many people do you know who, when they fire up their C compiler with
its default settings (not carefully picking a hundred different switches
and command line options to make it emulate a 20-year old standards
mode) find that their compiler rejects // comments? Or rejects mixed
definitions and code? Or won't accept long long ints?

The clear fact is that C99 is now the default C standard adopted by most
C compilers, and only legalistic nitpickers too blind to see what's in
front of their eyes could think that C90 is the current standard.
Are you really so foolish as to believe there's any point in trying to
write code that adheres to a Standard to which not even your own
implementation conforms?

Yeah, right, how can it ever work if his implementation "doesn't
conform"?
I don't count non-conforming implementations, since they don't
implement C99.

I think what you really mean is

"I don't count non-conforming implementations, for the same reason that
I don't walk on cracks in the pavement."
 
A

Antoninus Twink

jacob navia said:

No, in late 2007 this was debated at length, and the group decided
*against* extending topicality,

If a tree falls in a forest, with no one to hear it, does it make a
sound? If a small group of busybodies try to impose their own view of
topicality on the rest of the world, with no way of enforcing it, does
that mean a thing?
despite the opinions of those who, like me, feel we could perhaps be a
little more relaxed about it.

This whole "my topicality house is liberty hall, it's just these other
nasty people who want to restrict it" shtick is wearing a bit thin now
Heathfield. Your behavior in this thread exposes it as a blatant lie.
 
H

Harald van Dijk

jacob navia said:

"supports C99" and "conforms to C99" have different meanings.

I'm not so sure of that. "Supports C99" can have different meanings than
"conforms to C99", but they seem to mean the same thing here. In either
case, the "conforms to C99" part is clearer in "a standards-conforming C
compiler", from the same page.
 
J

jacob navia

Harald said:
I'm not so sure of that. "Supports C99" can have different meanings than
"conforms to C99", but they seem to mean the same thing here. In either
case, the "conforms to C99" part is clearer in "a standards-conforming C
compiler", from the same page.

Well, this is just playing with words, seeking
legalese to hide the plain fact that R.H. was
wrong, that's all.
 
J

jacob navia

Richard said:
jacob navia said:
[snip]
http://www-306.ibm.com/software/awdtools/czvm/

<quote>
Supports the ISO/IEC 9899:1999 international standard (C99)
<end quote>

IBM supports C99 in all its mainline compilers

"supports C99" and "conforms to C99" have different meanings.

You are just trying to play with words to hide the
fact that you are wrong heathfield.

This white paper of IBM says in:

http://www-1.ibm.com/support/docview.wss?uid=swg27007322&aid=1

<quote>
IBM compilers strive to maximize the performance of scientific,
technical, and commercial applications on server platforms. Multiple
operating system availability ensures cross-platform portability,
augmented by standards compliance. IBM XL compilers conform with:

IBM XL C compiler conforms with ISO C90 and C99 standards.
[snipped rest of conformace statements]
<end quote>

Happy now?
 
J

Joachim Schmitz

Antoninus Twink wrote:
How many people do you know who, when they fire up their C compiler
with its default settings (not carefully picking a hundred different
switches and command line options to make it emulate a 20-year old
standards mode) find that their compiler rejects // comments? Or
rejects mixed definitions and code? Or won't accept long long ints?

Everyone working in C on NonStop, as that Platform provides C89 compiler
only, and without extra switches you don't get _any_ extension _enabled_, so
this compiler is by default conforming (to C89/C90).

To allow for // comments e.g. the switch is -Walow_cplusplus_comments
The clear fact is that C99 is now the default C standard adopted by
most C compilers,

s/most/some very few/

Bye, Jojo
 
A

Antoninus Twink

I also note that the default C dialect for gcc is "gnu89" which is
essentially C89 + some GNU extensions.

Actually it's C89 + some C99 features + some GNU extensions.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,483
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top