Post by Tim Rentsch Post by Tim Rentsch Post by email@example.com Post by Tim Rentsch
By standard C I mean the language described in the ISO C standard,
not including any constructions that would draw a mandatory
diagnostic or run afoul of compile-time undefined behavior (eg,
a line starting with # other than one of the usual pre-processing
directives). Extensions are probably okay provided they don't
alter either of the two conditions in the last sentence.
That does not seem like a particularly useful category to define.
Hey don't blame me for your question! I was just using the
term - it was you who asked for a definition.
You're the one who's use of the term prompted the question. It
seems to me to be a reasonable thing to ask you what you meant by
I don't mind being asked to explain what I meant. What I object
to is the insinuation that I was trying to coin a new term, or
to sharply define it - neither of which I was doing - rather than
just using a phrase in ordinary English, without needing a sharp
Note that supercat followed his usual dickish habit of oversnipping
quoted material, to obscure the context and change the subject.
I'm quoting all of the above, so as to avoid any accusation of selective
editing. I'll also include all of your text from Feb. 19 which I think
was where this sub-issue started:
|> On Sunday, February 12, 2017 at 11:36:31 AM UTC-6, Tim Rentsch wrote:
|>> supercat writes:
|>>> I also find it peculiar that the Standard doesn't require that
|>>> implementations do anything useful with qualifiers like "restrict" and
|>>> "register" but requires that even implementations where they serve no
|>>> purpose must still go through the effort of validating them. [...]
|>> It does because the point of a language standard is to define
|>> a standard language. Apparently that's a deeper concept than
|>> I realized.
|> What fraction of tasks that are done by programs written for various C
|> implementations could be accomplished by Strictly Conforming programs in
|> a way that was just as readable and just as efficient?
|> The "language" in which Strictly Conforming programs can be written may be
|> usable for some purposes, but it is totally unsuitable for most of the
|> tasks which are performed by programs written in various dialects of C.
|You are confusing two different classes of program here, to wit,
|programs that are written in standard C, and programs that are
|strictly conforming. My comment is about standard C, not about
|C programs that are strictly conforming.
My question was, and remains, what criteria would distinguish "programs
that are written in standard C" [your exact phrasing] from other text files
that would cause some implementations to behave in useful fashion?
You seem to offer a definition on Feb 25:
|Can it be accepted by a conforming implementation, without any
|mandatory diagnostics, without any compile-time undefined
|behavior, and without using any extensions that would change
|either of the previous two aspects? Is that a question you are
|able to answer? If it is, then can you explain why you would
|have trouble answering your own question?
but I'm not clear what exactly you mean by the last point. If some
implementations would be required to define certain types, and others
would be forbidden from doing so, should such types be regarded as
"extensions" for purposes of the above definition?