Storgae durations

S

santosh

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

I was under the impression that it was ISO C90 plus some GNU extensions
some of which happen to be identical to some C99 features.

Also gnu89 was implemented before C99 came out so it's merely
coincidence that some GNU extensions happen to have been standardised
by C99.
 
J

Jean-Marc Bourguet

santosh said:
I was under the impression that it was ISO C90 plus some GNU extensions
some of which happen to be identical to some C99 features.

Also gnu89 was implemented before C99 came out so it's merely
coincidence that some GNU extensions happen to have been standardised
by C99.

Coincidence or the desire to standardize some usefull and common features?

Yours,
 
S

santosh

Jean-Marc Bourguet said:
Coincidence or the desire to standardize some usefull and common
features?

It is that too, but since GCC representatives were not among the
participants of the C99 standardisation committee(?), any similarities
must be coincidence.
 
J

Jean-Marc Bourguet

santosh said:
It is that too, but since GCC representatives were not among the
participants of the C99 standardisation committee(?), any similarities
must be coincidence.

I don't follow the reasonning leading to the "MUST". I can think of
several plausible ways for the absence of coincidence (gcc copied the
extension from another compiler which inspired the comittee, another
compiler which inspired the comittee copied the extension from gcc and
someone on the comittee but not working on gcc was inspired by an
extension).
 
B

Ben Bacarisse

santosh said:
I was under the impression that it was ISO C90 plus some GNU extensions
some of which happen to be identical to some C99 features.

That is taking nit-picking to an extraordinary level. Would you say
the same if all GNU extensions had become C99 features, and all C99
features had happened to be extensions in gcc? You would then have to
say the gcc only supports C90 + GNU extensions despite that being
exactly equal to C99.
Also gnu89 was implemented before C99 came out so it's merely
coincidence that some GNU extensions happen to have been standardised
by C99.

It is hardly a coincidence.
 
S

santosh

Malcolm said:
Personally I'd like a newgroup that discusses portable C programming,
MPI, Fortran 77, protein folding algorithms, little video games under
Windows and Basic interpreters. Oh and the atheism / Christianity
debate. Those happen to be my main interests.
Unfortunately there are only a very few people in the world who will
have an identical list. So we need to compromise. Which means not,
obviously, discussing atheism on comp.lang.c. But it also means not
insisting on a personal intepretation of where the bounds of "C
programming" end and "Windows programming" begins.

The problem is that while "standard C" is clearly defined and well
demarcated, the same is not true of "nearly standard C", "non-standard
C", "language closely compatible with C", "C-like language", and so on.

Discussing anything "C like" or "somehow related with C" will broaden
the topicality too much and thus reduce the usefullness of the group.
However adopting an overly pedantic position by refusing to discuss
anything not literally appearing in the C Standard is also likely to be
very unhelpful to beginners (who don't start out with ISO C, but
whatever their instructor/class teaches them.)
 
K

Kenny McCormack

Keith Thompson said:
blah, blah, blah
I am sick and tired of the way you throw the words "lie" and "liar"
around.

We are sick and tired of the way Heathfield (and others) continually lie
(and show themselves to be liars)

Heal thyself.
 
J

James Kuyper

Huibert said:
James Kuyper wrote: ....

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,

I'm not sure where to find the RR; it's wording should clarify that
issue. Do you know where I can find it?

... which, in
this case, never happened.

Um - once again, you've confused me. I was able to find the DR. The
standard did indeed get updated, in 1999, as indicated above, with
precisely the changes that were proposed in that DR.
 
B

Barry Schwarz

You said that there was no C99 for S390.

IBM renamed S390 to z Series systems

Datsun was renamed to Nissan. Saigon was renamed to Ho Chi Minh City.
Computer Associates changed their name to CA. The same entity
continued to exist with a new name.

No System/390 product was renamed to z anything. Existing System/390
products are still System/390 products. What IBM elected to do was
terminate the System/390 product line and start a new one.
 
B

Barry Schwarz

jacob navia said:


No, I didn't. Learn to read, please.


It is especially important to learn to read if it will help you to avoid
hurling silly insults around. What I said was no lie. Read it again.

Since Keith has already made both those points, however, let's move on and
make a third one, shall we?


Yes, there are lots of implementations that "support" C99 to a greater or
lesser extent. I see no hard evidence that the implementation you mention
even *claims* C99 conformance, however. Perhaps I missed it, in which case
no doubt you can point out where the conformance claim is made.

Hardly surprising since that page is a marketing puff piece. If you
follow the links to documentation, you can find IBM document
SC09-4767-06, "z/OS XL C/C++ User’s Guide". On page 561 they state:

c89 ... Use this invocation for strict conformance to the ISO/IEC
9899:1990 standard.

c99 ... Use this invocation for strict conformance to the ISO/IEC
9899:1999 standard.
 
S

s0suk3

(e-mail address removed) said:



It's not difficult, but someone can also be wrong in meaningless ways...

No. Either someone is wrong, or not. It's *that* simple.
...and that's a good example.



Look, I feel like I'm arguing with a complete idiot,

Finally, something we have in common.
and you're going to
have to work pretty hard to change my mind. You *ASKED* for an explanation
of "de facto", and I gave you one, complete with an illustration. What's
more, it is clear that the distinction is highly relevant.

Yes, you gave me an explanation, and I understood. What I mean is that
the words "de jure" and "de facto," in the way you used them to
describe the government law, is different from the way you used them
to describe the two standards, and makes no sense.
*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!

Looks like it's hard for you to understand simple facts. What makes
you think there can only be *one* standard? Like I said, they're
*both* C standards. C99 is the *current* standard. And no, I never
said C89 was obsolete. In fact, I'd recommend using it for
applications that need more portability than C99 offers, or to
maintain legacy code that uses it. And how do you know I don't have a
conforming C99 implementation in my desktop machine? The fact that I
use GCC doesn't mean I must *only* have GCC on my machine. I simply
don't think that "conforming" == "perfect", as you seem to think.
De jure, C99 is the C Standard. De facto, C90 is the C Standard.

For the third time: They're *both* C standards. C99 is the *current*
standard.
Is that so hard to understand for you? I mean, I know you struggled with
the terminology, but I have now explained that. Do you *have* to struggle
with the common sense, too?

It seems to me your common sense and my common sense are very
different.
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?

What makes you think I can only have *one* implementation? Besides,
while GCC doesn't strictly conform to the standard, they've clearly
marked what features are supported and which aren't, and the failures
are minor. So I wouldn't be "foolish" even if I had *only* GCC
available to me.
That's a lot of ifs.

It proves the point.
The ones I've worked with are red-hot on portability. I've done a lot of
work on OS390 projects, and normal practice is to write it on the PC, get
it working, then put it straight up on the mainframe for testing. The
ideal is for no code changes to be required on the mainframe - this is
rarely attained, but any such changes that do turn out to be necessary are
made *ON THE PC*, tested there, and then ported up.


Again, that's a lot of ifs. You're talking through your nose and hoping
that the facts support you, instead of checking and presenting the facts.

What facts are you referring to? I stated that I don't necessarily
need to know exactly on which platforms I can compile code, depending
on my portability needs. That's the fact.
Well, there's a shock. Nevertheless, there's a lot more to life than Vista.

I don't use Vista. Anyway, not everyone has the same interests as you.
That's a change from your last article, where you claimed you did not use
C99 for your desktop. I don't count non-conforming implementations, since
they don't implement C99.

They do implement C99, just not completely. Hence the "non-conforming
implementation" phrase. Thus, I do use C99 for my desktop, despite
your extreme misinterpretation of my post.
From your own claim that you don't use a C99 implementation.

I do use one. Where do you get that "you don't use a C99
implementation"?
That's exactly what you're discussing, when you talk about non-conformiong
implementations.

No. In fact, we're even discussing C here. We're discussing
implementations. So we're discussing neither "ISO C," nor "notquiteISO
C."
Usability is important, but rarely an issue.

It is for me.
Compilers are normally pretty
easy to use. But if the implementation *doesn't conform*, then you can't
trust it to run code that wasn't tailored specifically for it.

You can trust it if the implementation has clearly marked the features
it has implemented, and the ones it hasn't, as is the case for GCC.
It's a similar case for conforming implementations: if it claims to
conform, you can safely use everything the standard defines and as it
defines it. If it doesn't conform, you have to see the documentation
to find out what you can use safely and what not.
I think you'll find a wide body of support for the opinion that compilers
ought to be able to translate programs according to spec, if only you're
prepared to take your blinkers off.

Likewise, many people will agree that compiler-specific extensions are
generally useful. Also, I forgot to mention on the previous post: "non-
conforming" != "incorrect".
Actually, very often the compiler *doesn't* make that decision. For
example, consider the following code:

void foo(unsigned int *a, unsigned int *b)
{
  *a += ++*b;

}

This code is standalone, in the sense that one could legally compile it as
a separate translation unit. Do you see any reason why a compiler should
decide to insert extra instructions into this function's translated code
to guard against undefined behaviour, especially when the compiler has no
reason to believe that the function will ever be invoked incorrectly?

But let's look at a more obvious example of undefined behavior:

int i;
int *p = &i;
p++;

In this case, it's obvious to the compiler that the code invokes
undefined behavior, and the compiler is faced with the decision of
what to do: Should it not increment p? Should it increment it and hope
for the best? Should it generate instructions to erase all files in
the hard disk? I'm not sure about the first two, but the third is
legal according to the standard (as you already agreed).
At the very least, it would be a valuable teaching tool.

But not everyone's on the learning phase, and some people need
productivity. And a compiler like that would be nothing but useless to
a serious programmer.

Sebastian
 
K

Keith Thompson

Richard Heathfield said:
jacob navia said: [...]
Thirdly, the page you cite doesn't actually claim C99 conformance as far as
I can see.

I *do* wish you'd think before posting.

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.

I suppose so, but the statement that it "Supports" the C99 standard
strongly implies that it conforms to it. If I were a potential
customer, and I found that IBM's marketing department had told me that
their compiler "supports" C99 but in fact did not fully conform to it,
I would conclude that they had attempted to deceive me.

But there appears to be no such conflict, since
<http://www-306.ibm.com/software/awdtools/xlcpp/> says

They comply with the latest C/C++ international standards and
industry specifications and support a large array of common
language features.

(I think we can assume that "C/C++" means "C *and* C++".)
 
K

Keith Thompson

jacob navia said:
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.

Wrong about what?
This white paper of IBM says in: [snip]
IBM XL C compiler conforms with ISO C90 and C99 standards.
[snip]

That's nice.

For the Nth time, Richard Heathfield *did not say* that C99 is not
available for IBM mainframes. Re-read what he wrote in this very
thread. I can understand that you might have reached that conclusion
on a quick reading, but I find it difficult to believe that, after
being told several times that he did not make that claim, you're
incapable of going back, re-reading the article, and concluding that
he didn't actually say what you claim he said.

(I would applaud the fact that you've backed off from calling him a
liar and are now merely saything that he's wrong, but you haven't
demonstrated that you understand the difference.)
 
J

jacob navia

Keith said:
jacob navia said:
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.

Wrong about what?
This white paper of IBM says in: [snip]
IBM XL C compiler conforms with ISO C90 and C99 standards.
[snip]

That's nice.

For the Nth time, Richard Heathfield *did not say* that C99 is not
available for IBM mainframes.

There was a conversation, aboutr "storage durations", and Heathfield
brought a quote from the obsoleted standard C89 saying that there are two
types of them.

I (and several others) corrected that blunder since the current standard
(C99) specifies three types.

Heathfield was forced to recognize his error, but then he started
the usual campaign against standard C (not portable, not implemented
etc etc)

Then,
(e-mail address removed) said:
[snip]
Then Heathfield answered:

<quote>
I think the OS390 and VM/CMS folks might cough and splutter a bit if they
heard you say that.
<end quote>

OS390 was obsoleted by IBM in 2000 and replaced by the z/VM
system, that is the main system used by IBM mainframes.

Obviously I think Heathfield was speaking about that system
(OS390 later z/VM).

I am not an expert in Heathfield psychology of course.

When he speaks about OS390 he is maybe talking about
CP/M or maybe about Apple pascal. Who knows.

I assumed however, that he is speaking about IBM's mainframe
system.

Obviously he did not say that IBM's mainframes do not have
C99, but in his wording it was obviously IMPLIED.

Later, when proved WRONG, he started arguing his word
games (as he always does with your support).

You and Mr Heathfield always resort to those games when PROVED
WRONG.
 
K

Keith Thompson

jacob navia said:
Keith Thompson wrote: [...]
For the Nth time, Richard Heathfield *did not say* that C99 is not
available for IBM mainframes.

There was a conversation, aboutr "storage durations", and Heathfield
brought a quote from the obsoleted standard C89 saying that there are two
types of them.

I (and several others) corrected that blunder since the current standard
(C99) specifies three types.

Yes. He made a mistake, it was pointed out, and he graciously
accepted the correction. You might try it some time.

[snip]
Obviously he did not say that IBM's mainframes do not have
C99, but
[snip]

Correct, he did not. Thank you for admitting your error.

(Yes, I snipped relevant context.)
 
J

jacob navia

Keith said:
jacob navia said:
Keith Thompson wrote: [...]
For the Nth time, Richard Heathfield *did not say* that C99 is not
available for IBM mainframes.
There was a conversation, aboutr "storage durations", and Heathfield
brought a quote from the obsoleted standard C89 saying that there are two
types of them.

I (and several others) corrected that blunder since the current standard
(C99) specifies three types.

Yes. He made a mistake, it was pointed out, and he graciously
accepted the correction. You might try it some time.

"graciously accepted the correction" but not for my message.

[snip]
Obviously he did not say that IBM's mainframes do not have
C99, but
[snip]

Correct, he did not. Thank you for admitting your error.

I did not admit any error. You snipped my argumentation since
you are just trying to defend your buddy against all
evidence.

(Yes, I snipped relevant context.)

Yes you did, since neither you nor heathfield have any
arguments. Both of you have been proved wrong and
can't admit it.

You are waging a war against standard C in this group.

"It is just de jure standard", but "de facto" it is C89,
etc etc. And each time I prove you WRONG you go into
your word games to save the face.
 
K

Keith Thompson

jacob navia said:
Keith said:
Obviously he did not say that IBM's mainframes do not have
C99, but
[snip]
Correct, he did not. Thank you for admitting your error.

I did not admit any error.

You should have.
You snipped my argumentation since
you are just trying to defend your buddy against all
evidence.



Yes you did, since neither you nor heathfield have any
arguments. Both of you have been proved wrong and
can't admit it.

Sigh.

Fact: Richard did not claim that IBM mainframes do not have C99.

Fact: You claimed that he had made that claim.

Fact: You called him a liar because of it.

And you still will not admit that you were wrong.
You are waging a war against standard C in this group.

Wrong.

[snip]
 
A

Andrew Poelstra

Heathfield was forced to recognize his error, but then he started
the usual campaign against standard C (not portable, not implemented
etc etc)

He accepted his error, but pointed out that reliance on C99 restricts
portability compared with C89, since it is not implemented on nearly
as many platforms. This is a statement of fact, not a "campaign
against standard C".

Talk about word games.
OS390 was obsoleted by IBM in 2000 and replaced by the z/VM
system, that is the main system used by IBM mainframes.

Obviously I think Heathfield was speaking about that system
(OS390 later z/VM).

How is this obvious? If he said OS390, he meant OS390. Its
obsolescence does not change what its name refers to.
When he speaks about OS390 he is maybe talking about
CP/M or maybe about Apple pascal. Who knows.

Maybe OS390?


And yes, I snipped a lot.
 
J

jacob navia

Keith said:
Fact: Richard did not claim that IBM mainframes do not have C99.

OK. I assumed that he was speaking of the z/VM system, as OS390
is called today.

But even if we take it at face value, the compiler for OS390
is z/OS XL C/C++, that supports C99, so he was telling a
misleading statement when he said that C99 is NOT available for OS390.


IT IS AVAILABLE for OS390. The compiler that was marketed with
that system is no longer available since it was discontinued in 2004.

The replacement product for OS390 according to IBM's documentation
is the z/OS XL C/C++. This is obvious for anyone.

You see how far you go with your "facts" ?

Just LIES.
Fact: You claimed that he had made that claim.

Even if I would accept he was talking about OS390 is is WRONG
ANYWAY (and you with him of course)
Fact: You called him a liar because of it.

Yes, and the "fact" that OS390 has no C99 is a LIE since
there is a compiler for OS390 that supports C99.
And you still will not admit that you were wrong.

And I have presented all necessary facts to prove I am not!

Yes. Each time you speak about a significant platform
WITHOUT C99 I prove you wrong!
 

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,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top