Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #98007 > unrolled thread
| Started by | Potomac <ravine557@gmail.com> |
|---|---|
| First post | 2016-12-05 06:32 -0800 |
| Last post | 2016-12-12 04:18 +0000 |
| Articles | 20 on this page of 107 — 18 participants |
Back to article view | Back to comp.lang.c
Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Potomac <ravine557@gmail.com> - 2016-12-05 06:32 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-12-05 08:34 -0700
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-05 15:43 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-12-05 10:41 -0700
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-05 15:37 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops John Bode <jfbode1029@gmail.com> - 2016-12-05 10:43 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops potomac <ravine557@gmail.com> - 2016-12-07 01:13 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-12-07 10:55 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Philip Lantz <prl@canterey.us> - 2016-12-07 20:34 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-12-08 11:08 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Ian Collins <ian-news@hotmail.com> - 2016-12-08 08:23 +1300
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops potomac <ravine557@gmail.com> - 2016-12-07 01:07 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-12-07 08:46 -0700
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-07 16:23 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops potomac <ravine557@gmail.com> - 2016-12-07 01:12 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-12-07 08:49 -0700
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops John Bode <jfbode1029@gmail.com> - 2016-12-07 15:07 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops potomac <ravine557@gmail.com> - 2016-12-07 03:46 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-12-07 11:59 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-07 12:05 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Keith Thompson <kst-u@mib.org> - 2016-12-07 09:40 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-07 15:13 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-07 20:24 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-07 16:28 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-07 21:48 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-07 17:02 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-07 22:19 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-07 17:27 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-07 22:51 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-08 09:10 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-08 14:13 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops David Brown <david.brown@hesbynett.no> - 2016-12-08 15:57 +0100
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Ian Collins <ian-news@hotmail.com> - 2016-12-08 18:02 +1300
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Keith Thompson <kst-u@mib.org> - 2016-12-08 08:48 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops jameskuyper@verizon.net - 2016-12-07 15:33 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-08 09:13 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-08 14:22 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops David Brown <david.brown@hesbynett.no> - 2016-12-08 16:03 +0100
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-08 10:44 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Melzzzzz <Melzzzzz@zzzzz.com> - 2016-12-08 15:48 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-08 21:41 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-08 16:16 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-08 21:47 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops jameskuyper@verizon.net - 2016-12-08 20:16 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops David Brown <david.brown@hesbynett.no> - 2016-12-09 11:19 +0100
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops supercat@casperkitty.com - 2016-12-09 08:00 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Tim Rentsch <txr@alumni.caltech.edu> - 2016-12-13 13:10 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops jameskuyper@verizon.net - 2016-12-13 13:55 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Tim Rentsch <txr@alumni.caltech.edu> - 2016-12-15 01:13 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops jameskuyper@verizon.net - 2016-12-15 07:02 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Tim Rentsch <txr@alumni.caltech.edu> - 2016-12-15 19:56 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops supercat@casperkitty.com - 2016-12-18 10:00 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops supercat@casperkitty.com - 2016-12-14 11:45 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Keith Thompson <kst-u@mib.org> - 2016-12-14 12:14 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Tim Rentsch <txr@alumni.caltech.edu> - 2016-12-15 01:24 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops supercat@casperkitty.com - 2016-12-15 08:02 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Keith Thompson <kst-u@mib.org> - 2016-12-15 12:10 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Philip Lantz <prl@canterey.us> - 2016-12-16 20:00 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-09 11:05 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-09 16:21 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops jameskuyper@verizon.net - 2016-12-09 13:10 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-09 23:44 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops supercat@casperkitty.com - 2016-12-10 10:18 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-11 16:18 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-09 08:26 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-09 11:15 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-09 16:31 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-09 23:47 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-11 16:05 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-11 16:21 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-11 23:15 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-11 18:57 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-12 00:05 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-11 21:09 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-12 08:25 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Tim Rentsch <txr@alumni.caltech.edu> - 2016-12-10 07:59 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops jameskuyper@verizon.net - 2016-12-08 13:51 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops jameskuyper@verizon.net - 2016-12-08 13:34 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-08 21:52 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops jameskuyper@verizon.net - 2016-12-08 19:33 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-09 11:20 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops jameskuyper@verizon.net - 2016-12-09 13:28 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-09 23:51 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-09 16:46 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops "James R. Kuyper" <jameskuyper@verizon.net> - 2016-12-09 13:55 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-07 20:17 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Keith Thompson <kst-u@mib.org> - 2016-12-07 12:23 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops twalker470@googlemail.com - 2016-12-07 05:50 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-12-07 08:55 -0700
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-07 16:23 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-12-07 10:56 -0700
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops potomac <ravine557@gmail.com> - 2016-12-07 04:14 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Barry Schwarz <schwarzb@dqel.com> - 2016-12-07 11:03 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops John Bode <jfbode1029@gmail.com> - 2016-12-09 08:06 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Keith Thompson <kst-u@mib.org> - 2016-12-09 09:23 -0800
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-09 17:38 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops "James R. Kuyper" <jameskuyper@verizon.net> - 2016-12-09 14:01 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Richard Heathfield <rjh@cpax.org.uk> - 2016-12-09 19:09 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2016-12-09 12:38 -0700
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-10 00:08 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-10 00:16 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-09 23:59 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-12-10 11:51 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-11 16:22 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-12-11 21:52 +0000
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Jerry Stuckle <jstucklex@attglobal.net> - 2016-12-11 22:32 -0500
Re: Stumped on the role of a particular statement in a program with Arrays & Nested For Loops Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-12-12 04:18 +0000
Page 4 of 6 — ← Prev page 1 2 3 [4] 5 6 Next page →
| From | jameskuyper@verizon.net |
|---|---|
| Date | 2016-12-09 13:10 -0800 |
| Message-ID | <e38e9709-23d7-4918-b484-79ba50a0dcd9@googlegroups.com> |
| In reply to | #98544 |
On Friday, December 9, 2016 at 11:05:21 AM UTC-5, Jerry Stuckle wrote: > On 12/8/2016 11:16 PM, jameskuyper@verizon.net wrote: > > On Thursday, December 8, 2016 at 9:47:35 PM UTC-5, Jerry Stuckle wrote: > >> On 12/8/2016 11:16 AM, Richard Heathfield wrote: > >>> On 08/12/16 15:44, Jerry Stuckle wrote: ... > >> The standard also doesn't say it has to be conforming "by default". > > > > People have pointed out, correctly, that most implementations don't conform > > in their default mode, but no one has suggested that this violates any > > requirement of the standard. That's just a straw man argument of your own > > invention. ... > I never said it had to conform by default. ... Agreed, and I never claimed that you did. That's a reading comprehension failure on your part. You apparently don't understand the term "straw man argument". It's an argument that you incorrectly implied was being used by the other side. In this particular case, the straw man argument was "A compiler is required to conform by default". You did NOT make that argument. You did not explicitly state that anyone else made that argument, either - which is good, because no one did. However, you did assert that this argument was wrong, something a sane person would bother pointing out only if someone else had actually asserted that it was correct. I gave you the benefit of the doubt, and assumed you were sane and mistaken about what the other side had said, rather than insane. However, if you're willing to concede that no one has argued that "A compiler is required to conform by default", I'll be happy to retract that assumption ;-). > ... That's another case of your > reading comprehension problem. Or trying to argue by putting words in > my mouth. The only words I'm trying to put in your mouth are 'The standard also doesn't say it has to be conforming "by default".' Did you or did you not say those words? > >> Just that it has to be conforming. > > > > Actually, it doesn't even say that. It only defines what being a conforming > > implementation means. It nowhere imposes any requirement that anything, > > anywhere in the universe, is required to match that definition. Something > > advertised as conforming to the C standard should in fact conform, but > > that's not because the standard says so, but because the false advertising > > laws say so. > To be a conforming implementation, by definition the compiler has to be > conforming. Correct. And I was also correct when I pointed out that the standard doesn't require that anything be a conforming implementation. It only defines what that term means. Every requirement imposed by the standard would be met by a world in which there was not a single conforming implementation, because it only imposes requirements on conforming implementations. ... > Yes, I used some of those in the past, also. But that was because > everything wouldn't fit on one diskette, and not everyone had hard disks > (no one did when the PC first came out). Why do you talk as if all programming was done on PCs? I had been programming for nearly a decade before I saw my first PC (they existed before that time, but the weren't ubiquitous at that time the way they were a few years later). All of the computer systems I used before that time had either hard disks, magnetic tape, or punched cards (long story) as their main means of long-term data storage. According to your own history (which is becoming steadily less believable as a result of comments like this), even more of your own experience should have predated PCs, particularly if you actually worked for builder of mainframes like IBM. > > There's other problems with your statement as well. This isn't just about > > compilers that support multiple versions of the standard. There are > > compilers that only conform to a single version of the standard. Even those > > compilers don't conform to any version of the standard in default mode - > > they only conform when you select the options that put them into conforming > > mode. > > > > That's fine - and not against the standard at all. ... And, once again, let me point out that no one has ever suggested that it was against the standard. ... > > Furthermore, you say that "you have to specify which standard would be > > followed". That's not inherently true. It would have been entirely possible > > to design a compiler that only fully conforms to C99 or C2011 when you > > select the appropriate options, but which fully conforms to C90 if you > > select no options. > > It's an odd fact, but apparently true, that there are no such compilers - at > > least, no one monitoring this newsgroup (or comp.std.c) has nominated a > > compiler as having that feature, without having the claim almost immediately > > disproved. And it's precisely that odd fact that Keith was talking about, > > which you objected to. > Once again your reading comprehension problems show through. What I > said was "when the compiler supports multiple standards, you have to > specify which standard would be followed." > > And now you're saying you CAN have a compiler conform to a standard in > default mode. ... You're having reading comprehension problems again. I said two things, 1) it would be possible to create such a compiler. 2) No one appears to have ever created such a compiler. There is no conflict between those two statements, though it is admittedly (and I did admit it) odd that both statements are true. > ... Which one does that? If I could provide an example of one which does that, it would prove that I was wrong about claim #2. I claim that #2 is correct. You're the one objecting to that claim. Providing an example should therefore be your responsibility, not mine.
[toc] | [prev] | [next] | [standalone]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2016-12-09 23:44 -0500 |
| Message-ID | <o2g14u$geo$1@jstuckle.eternal-september.org> |
| In reply to | #98610 |
On 12/9/2016 4:10 PM, jameskuyper@verizon.net wrote: > On Friday, December 9, 2016 at 11:05:21 AM UTC-5, Jerry Stuckle wrote: >> On 12/8/2016 11:16 PM, jameskuyper@verizon.net wrote: >>> On Thursday, December 8, 2016 at 9:47:35 PM UTC-5, Jerry Stuckle wrote: >>>> On 12/8/2016 11:16 AM, Richard Heathfield wrote: >>>>> On 08/12/16 15:44, Jerry Stuckle wrote: > ... >>>> The standard also doesn't say it has to be conforming "by default". >>> >>> People have pointed out, correctly, that most implementations don't conform >>> in their default mode, but no one has suggested that this violates any >>> requirement of the standard. That's just a straw man argument of your own >>> invention. > ... >> I never said it had to conform by default. ... > > Agreed, and I never claimed that you did. That's a reading comprehension > failure on your part. You apparently don't understand the term "straw man > argument". It's an argument that you incorrectly implied was being used by the > other side. In this particular case, the straw man argument was "A compiler is > required to conform by default". You did NOT make that argument. You did not > explicitly state that anyone else made that argument, either - which is good, > because no one did. > However, you did assert that this argument was wrong, something a sane person > would bother pointing out only if someone else had actually asserted that it > was correct. I gave you the benefit of the doubt, and assumed you were sane and > mistaken about what the other side had said, rather than insane. However, if > you're willing to concede that no one has argued that "A compiler is required > to conform by default", I'll be happy to retract that assumption ;-). > Then why all the arguing about whether the compiler has to conform by default or not? >> ... That's another case of your >> reading comprehension problem. Or trying to argue by putting words in >> my mouth. > > The only words I'm trying to put in your mouth are 'The standard also doesn't > say it has to be conforming "by default".' Did you or did you not say those > words? > I agreed with those words. >>>> Just that it has to be conforming. >>> >>> Actually, it doesn't even say that. It only defines what being a conforming >>> implementation means. It nowhere imposes any requirement that anything, >>> anywhere in the universe, is required to match that definition. Something >>> advertised as conforming to the C standard should in fact conform, but >>> that's not because the standard says so, but because the false advertising >>> laws say so. >> To be a conforming implementation, by definition the compiler has to be >> conforming. > > Correct. And I was also correct when I pointed out that the standard doesn't require that anything be a conforming implementation. It only defines what that term means. Every requirement imposed by the standard would be met by a world in which there was not a single conforming implementation, because it only imposes requirements on conforming implementations. > Yes, but if it follows the standard it has to be conforming. If it doesn't follow the standard, then it's not C - it's some other language that looks like C. > ... >> Yes, I used some of those in the past, also. But that was because >> everything wouldn't fit on one diskette, and not everyone had hard disks >> (no one did when the PC first came out). > > Why do you talk as if all programming was done on PCs? I had been programming for nearly a decade before I saw my first PC (they existed before that time, but the weren't ubiquitous at that time the way they were a few years later). All of the computer systems I used before that time had either hard disks, magnetic tape, or punched cards (long story) as their main means of long-term data storage. According to your own history (which is becoming steadily less believable as a result of comments like this), even more of your own experience should have predated PCs, particularly if you actually worked for builder of mainframes like IBM. > Because that's what most people here do and are most familiar with. And FYI, I was programming around 15 years before the PC was even announced. Even several years before the Altair 8080 was announced. The first computer I programed on was an IBM mainframe with 4,000 bytes of core memory. >>> There's other problems with your statement as well. This isn't just about >>> compilers that support multiple versions of the standard. There are >>> compilers that only conform to a single version of the standard. Even those >>> compilers don't conform to any version of the standard in default mode - >>> they only conform when you select the options that put them into conforming >>> mode. >>> >> >> That's fine - and not against the standard at all. ... > > And, once again, let me point out that no one has ever suggested that it was against the standard. > Then why is everyone arguing about it? > ... >>> Furthermore, you say that "you have to specify which standard would be >>> followed". That's not inherently true. It would have been entirely possible >>> to design a compiler that only fully conforms to C99 or C2011 when you >>> select the appropriate options, but which fully conforms to C90 if you >>> select no options. >>> It's an odd fact, but apparently true, that there are no such compilers - at >>> least, no one monitoring this newsgroup (or comp.std.c) has nominated a >>> compiler as having that feature, without having the claim almost immediately >>> disproved. And it's precisely that odd fact that Keith was talking about, >>> which you objected to. >> Once again your reading comprehension problems show through. What I >> said was "when the compiler supports multiple standards, you have to >> specify which standard would be followed." >> >> And now you're saying you CAN have a compiler conform to a standard in >> default mode. ... > > > You're having reading comprehension problems again. I said two things, 1) it would be possible to create such a compiler. 2) No one appears to have ever created such a compiler. There is no conflict between those two statements, though it is admittedly (and I did admit it) odd that both statements are true. > Then why are you arguing about it? >> ... Which one does that? > > If I could provide an example of one which does that, it would prove that I was wrong about claim #2. I claim that #2 is correct. You're the one objecting to that claim. Providing an example should therefore be your responsibility, not mine. > No, I'm not objecting to that claim. I'm just asking you to prove claim #2. It's your claim to prove, not mine to disprove. But it really doesn't matter, since I think we actually are in agreement. But I still want to know why everyone is arguing about it. There seem to be a large number of people here who argue just to argue. -- ================== Remove the "x" from my email address Jerry Stuckle jstucklex@attglobal.net ==================
[toc] | [prev] | [next] | [standalone]
| From | supercat@casperkitty.com |
|---|---|
| Date | 2016-12-10 10:18 -0800 |
| Message-ID | <ae18ce41-dede-4298-a69f-d40fd0757390@googlegroups.com> |
| In reply to | #98659 |
On Friday, December 9, 2016 at 10:44:38 PM UTC-6, Jerry Stuckle wrote: > Yes, but if it follows the standard it has to be conforming. If it > doesn't follow the standard, then it's not C - it's some other language > that looks like C. Has the C Standards Committee registered any trademark for the C brand programming language? If someone had a C implementation prior to the publication of C11, but that C implementation did not support the features added by that standard, would that person no longer have a C implementation? What would that person have?
[toc] | [prev] | [next] | [standalone]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2016-12-11 16:18 -0500 |
| Message-ID | <o2kfo1$siu$1@jstuckle.eternal-september.org> |
| In reply to | #98724 |
On 12/10/2016 1:18 PM, supercat@casperkitty.com wrote: > On Friday, December 9, 2016 at 10:44:38 PM UTC-6, Jerry Stuckle wrote: >> Yes, but if it follows the standard it has to be conforming. If it >> doesn't follow the standard, then it's not C - it's some other language >> that looks like C. > > Has the C Standards Committee registered any trademark for the C brand > programming language? > > If someone had a C implementation prior to the publication of C11, but that > C implementation did not support the features added by that standard, would > that person no longer have a C implementation? What would that person have? > Let's say you have four horses and three cows. You now call one of the cows a horse. How many horses do you have? The answer is still four. Calling a cow a horse does not make it a horse. And if the implementation supported the features of a previous standard, then it would be a C implementation according to that standard. -- ================== Remove the "x" from my email address Jerry Stuckle jstucklex@attglobal.net ==================
[toc] | [prev] | [next] | [standalone]
| From | Richard Heathfield <rjh@cpax.org.uk> |
|---|---|
| Date | 2016-12-09 08:26 +0000 |
| Message-ID | <o2dppj$1m6$1@dont-email.me> |
| In reply to | #98437 |
On 09/12/16 02:47, Jerry Stuckle wrote: > On 12/8/2016 11:16 AM, Richard Heathfield wrote: >> On 08/12/16 15:44, Jerry Stuckle wrote: >>> On 12/8/2016 9:22 AM, Richard Heathfield wrote: >>>> On 08/12/16 14:13, Jerry Stuckle wrote: >>>>> On 12/7/2016 6:33 PM, jameskuyper@verizon.net wrote: >>>>>> On Wednesday, December 7, 2016 at 3:13:27 PM UTC-5, Jerry >>>>>> Stuckle wrote: >>>>>>> On 12/7/2016 12:40 PM, Keith Thompson wrote: >>>>>> ... >>>>>>>> Most C compilers are not conforming by default, and require >>>>>>>> some added options to make them (atte >>>>>> I >>>>>>>> >>>>>>> >>>>>>> Why do you say that? There is nothing that says a compiler >>>>>>> can't add features, as long as it does everything the >>>>>>> standard says it does. >>>>>> >>>>>> ... and doesn't do anything the standard says is shouldn't do. >>>>>> However, it turns out that most compilers do in fact fail to do >>>>>> something required by the standard, or do something prohibited >>>>>> by the standard, when invoked in their default mode. The >>>>>> compilers I've used most frequently over the past couple of >>>>>> decades all take an -ansi option that puts them in C90 mode; >>>>>> without that option, they don't fully conform to any version of >>>>>> the C standard. Most of them also require the -lm option to >>>>>> correctly handle code that uses <math.h>, and gcc also requires >>>>>> -pedantic. There was an extended discussion of this issue a few >>>>>> years ago in this newsgroup. In the end, only two very obscure >>>>>> compilers were identified that supposedly fully conformed in >>>>>> their default mode - and given how obscure they were, that >>>>>> conclusion might have simply been the result of nobody being >>>>>> aware of the the ways that they failed to conform. >>>>>> >>>>> >>>>> When they support multiple versions of the standard, they need to >>>>> know which version of the standard to use. >>>> >>>> And so they require a switch, without which they are non-conforming >>>> to any standard (or at least that's the case for gcc). >>>> >>>>> But -lm is a linker parameter, not compiler. >>>> >>>> Yes. Since we have been using the word "compiler" it's a >>>> reasonable objection. Nevertheless, if we take the linker out of >>>> the equation, *no* compiler is conforming, because to leave out the >>>> linker necessarily means leaving out TP8! >>>> >>>> And if we put the linker back into the equation, gcc fails to >>>> conform even when told to by -std=c??, unless the additional magic >>>> rune -lm is added, just as James explained to you already. >>>> >>> >>> The C standard doesn't say anything about the linker (although it >>> does extensively discuss linkage) or how libraries are linked in. >> >> The C Standard has this to say about linking: "8. All external object >> and function references are resolved. Library components are linked to >> satisfy external references to functions and objects not defined in the >> current translation. All such translator output is collected into a >> program image which contains information needed for execution in its >> execution environment." >> >> So it says that linking *must happen*, conceptually at the very least >> (as with an interpreter). If the linking step is omitted, the >> implementation is not a conforming implementation. In other words, the >> program must be able to execute, or there's no point. >> > > It doesn't say there has to be a link step. See the above paragraph, which says that "library components are linked to satisfy external references". TP8 is describing a link step, in fact. > It just states that the > external references must be resolved - not how the resolution is done. > It could be done by the compiler, for instance. Yes, but gcc /fails/ (in default mode) to resolve those external references for math library functions, and therefore it doesn't do what the standard says must be done, and therefore it doesn't conform (in default mode). > But then the linker is not part of C - it is common to all languages, so > a C standard could not define it. We're talking about what the standard requires, and the standard requires that external references are resolved, which gcc (in default mode) does not do for math functions, and therefore gcc is a counter-example to your claim. > >>> But I would guess the reason for the -lm flag would be you might want >>> to use libm, or you might have another library you want for the math >>> functions. But I didn't write the compiler, so I don't know what they >>> were thinking. >> >> The reason, for the purposes of this discussion, *doesn't matter*. What >> matters is that gcc is an example of a compiler that is not conforming >> by default. >> > > The standard also doesn't say it has to be conforming "by default". > Just that it has to be conforming. As James rightly points out, it doesn't even say that. There's nothing to stop you writing a non-conforming C implementation. But your claim was that most compilers are conforming in default mode. > The standard also doesn't say the compiler must have a means of > compiling only (-c in gcc). But all compilers do. The Standard doesn't even say there must be a compiler. C interpreters exist. But the claim that you made is that most compilers conform when invoked in default mode. For a compiler to be conforming, it must meet all the requirements of the standard for conforming implementations. If it fails to meet any of those requirements in default mode, it does not conform in default mode. >>>>> And I always thought gcc was -pedantic. I didn't realize it >>>>> needed a flag to make it even more so. >>>> >>>> gcc in default mode is remarkably forgiving, as long as you don't >>>> sin (or cos, or tan, or anything else math.h-y). >>>> >>> >>> Yes, sometimes too forgiving. >> >> Again, this is in direct contrast to your claim that "being conforming >> doesn't mean they have to flag non-conforming code". In fact, it >> certainly does mean that, and if gcc is too forgiving, then gcc is again >> failing to conform. >> > > I already agreed that you would have to specify which standard would be > followed for a compiler which supports multiple standards. James has already pointed out why that isn't true, so I won't bother. But that isn't the point at issue. The point at issue is your claim that most compilers are conforming in default mode. You have yet to produce a single example to support your case, and it has been shown in some detail how gcc, probably the most widely-installed compiler in the world, is a counter-example. > But you > can't get by that, can you? Reading comprehension problems? Is it really so terribly hard to admit error that you have to hurl insults left, right and centre in a desperate but by now rather familiar misguided attempt to throw sand in people's eyes? Do you really think that all this nonsense about singing pigs fools anyone? > But then the standard also doesn't say the compiler must be conforming > in its default mode, does it? No, the standard imposes no requirements on non-conforming implementations. But that isn't the point at issue. The claim you made was that most compilers /are/ conforming in default mode. >> You claimed that most compilers are conforming in their default mode, >> but so far you have not produced the names of any compilers that do >> conform in their default mode. >> > > I already agreed that you would have to specify which standard would be > followed for a compiler which supports multiple standards. Not so, as James has already explained so I won't repeat it. It isn't the point at issue. What you actually claimed was that most compilers, when invoked in default mode, are conforming. Clearly a compiler that requires a switch in order to conform is not conforming in its default mode (i.e. without the switch being activated). > But you > can't get by that, can you? Reading comprehension problems? I'll try to make myself clearer. Here is the relevant history: Keith Thompson wrote: "Most C compilers are not conforming by default, and require some added options to make them (attempt to) conform to (some version of) the standard." You replied: "Why do you say that? There is nothing that says a compiler can't add features, as long as it does everything the standard says it does." I replied with a comment about a requirement to support scanf (which the OP claimed his implementation did not). You replied: "The question wasn't about whether VS compiled a program with scanf() or not. The question was why he stated "Most C compilers are not conforming by default"." And later in the same article you added: "I was responding to an over-generalized statement." When I then asked you whether any C compilers conform by default, you replied: "I think most of them do." So far we have seen evidence to the contrary but no evidence in support. Instead, you seem to be psyching yourself up for your usual ad hominem attacks in the hope that nobody will notice that you got it wrong again. The rest of us deal with "getting it wrong again" by apologising and retracting, not by hurling personal insults. It is a course that I can recommend to you. > But then the standard also doesn't say the compiler must be conforming > in its default mode, does it? Surely you *cannot* be this stupid? The claim you made, the claim that is being challenged, is that most compilers /are/ conforming in their default mode. -- Richard Heathfield Email: rjh at cpax dot org dot uk "Usenet is a strange place" - dmr 29 July 1999 Sig line 4 vacant - apply within
[toc] | [prev] | [next] | [standalone]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2016-12-09 11:15 -0500 |
| Message-ID | <o2el8d$vu8$1@jstuckle.eternal-september.org> |
| In reply to | #98456 |
On 12/9/2016 3:26 AM, Richard Heathfield wrote: > On 09/12/16 02:47, Jerry Stuckle wrote: >> On 12/8/2016 11:16 AM, Richard Heathfield wrote: >>> On 08/12/16 15:44, Jerry Stuckle wrote: >>>> On 12/8/2016 9:22 AM, Richard Heathfield wrote: >>>>> On 08/12/16 14:13, Jerry Stuckle wrote: >>>>>> On 12/7/2016 6:33 PM, jameskuyper@verizon.net wrote: >>>>>>> On Wednesday, December 7, 2016 at 3:13:27 PM UTC-5, Jerry >>>>>>> Stuckle wrote: >>>>>>>> On 12/7/2016 12:40 PM, Keith Thompson wrote: >>>>>>> ... >>>>>>>>> Most C compilers are not conforming by default, and require >>>>>>>>> some added options to make them (atte >>>>>>> I >>>>>>>>> >>>>>>>> >>>>>>>> Why do you say that? There is nothing that says a compiler >>>>>>>> can't add features, as long as it does everything the >>>>>>>> standard says it does. >>>>>>> >>>>>>> ... and doesn't do anything the standard says is shouldn't do. >>>>>>> However, it turns out that most compilers do in fact fail to do >>>>>>> something required by the standard, or do something prohibited >>>>>>> by the standard, when invoked in their default mode. The >>>>>>> compilers I've used most frequently over the past couple of >>>>>>> decades all take an -ansi option that puts them in C90 mode; >>>>>>> without that option, they don't fully conform to any version of >>>>>>> the C standard. Most of them also require the -lm option to >>>>>>> correctly handle code that uses <math.h>, and gcc also requires >>>>>>> -pedantic. There was an extended discussion of this issue a few >>>>>>> years ago in this newsgroup. In the end, only two very obscure >>>>>>> compilers were identified that supposedly fully conformed in >>>>>>> their default mode - and given how obscure they were, that >>>>>>> conclusion might have simply been the result of nobody being >>>>>>> aware of the the ways that they failed to conform. >>>>>>> >>>>>> >>>>>> When they support multiple versions of the standard, they need to >>>>>> know which version of the standard to use. >>>>> >>>>> And so they require a switch, without which they are non-conforming >>>>> to any standard (or at least that's the case for gcc). >>>>> >>>>>> But -lm is a linker parameter, not compiler. >>>>> >>>>> Yes. Since we have been using the word "compiler" it's a >>>>> reasonable objection. Nevertheless, if we take the linker out of >>>>> the equation, *no* compiler is conforming, because to leave out the >>>>> linker necessarily means leaving out TP8! >>>>> >>>>> And if we put the linker back into the equation, gcc fails to >>>>> conform even when told to by -std=c??, unless the additional magic >>>>> rune -lm is added, just as James explained to you already. >>>>> >>>> >>>> The C standard doesn't say anything about the linker (although it >>>> does extensively discuss linkage) or how libraries are linked in. >>> >>> The C Standard has this to say about linking: "8. All external object >>> and function references are resolved. Library components are linked to >>> satisfy external references to functions and objects not defined in the >>> current translation. All such translator output is collected into a >>> program image which contains information needed for execution in its >>> execution environment." >>> >>> So it says that linking *must happen*, conceptually at the very least >>> (as with an interpreter). If the linking step is omitted, the >>> implementation is not a conforming implementation. In other words, the >>> program must be able to execute, or there's no point. >>> >> >> It doesn't say there has to be a link step. > > See the above paragraph, which says that "library components are linked > to satisfy external references". TP8 is describing a link step, in fact. > That is correct. But it does not say there has to be a link step. Only that the external references must be satisfied. >> It just states that the >> external references must be resolved - not how the resolution is done. >> It could be done by the compiler, for instance. > > Yes, but gcc /fails/ (in default mode) to resolve those external > references for math library functions, and therefore it doesn't do what > the standard says must be done, and therefore it doesn't conform (in > default mode). > So? Where does the standard say that it is required that it be done in default mode? What if you're compiling x.c and calling functions defined in y.o? According to you, you shouldn't have to specify y.o to the linker because that would not be the default. The standard says nothing about either. >> But then the linker is not part of C - it is common to all languages, so >> a C standard could not define it. > > We're talking about what the standard requires, and the standard > requires that external references are resolved, which gcc (in default > mode) does not do for math functions, and therefore gcc is a > counter-example to your claim. > That is correct. And all it requires is that external references be resolved. It doesn't say *how* those references must be resolved. They could, for instance, be resolved at program load time by the OS. Perfectly within the standard. >> >>>> But I would guess the reason for the -lm flag would be you might want >>>> to use libm, or you might have another library you want for the math >>>> functions. But I didn't write the compiler, so I don't know what they >>>> were thinking. >>> >>> The reason, for the purposes of this discussion, *doesn't matter*. What >>> matters is that gcc is an example of a compiler that is not conforming >>> by default. >>> >> >> The standard also doesn't say it has to be conforming "by default". >> Just that it has to be conforming. > > As James rightly points out, it doesn't even say that. There's nothing > to stop you writing a non-conforming C implementation. But your claim > was that most compilers are conforming in default mode. > By definition, to be a conforming implementation it must conform to the standard. But I see that is beyond your limited comprehension. >> The standard also doesn't say the compiler must have a means of >> compiling only (-c in gcc). But all compilers do. > > The Standard doesn't even say there must be a compiler. C interpreters > exist. But the claim that you made is that most compilers conform when > invoked in default mode. For a compiler to be conforming, it must meet > all the requirements of the standard for conforming implementations. If > it fails to meet any of those requirements in default mode, it does not > conform in default mode. > Which I already admitted that was wrong. But you can't let it go, can you? You either have serious reading comprehension problems, or you are arguing just to argue. >>>>>> And I always thought gcc was -pedantic. I didn't realize it >>>>>> needed a flag to make it even more so. >>>>> >>>>> gcc in default mode is remarkably forgiving, as long as you don't >>>>> sin (or cos, or tan, or anything else math.h-y). >>>>> >>>> >>>> Yes, sometimes too forgiving. >>> >>> Again, this is in direct contrast to your claim that "being conforming >>> doesn't mean they have to flag non-conforming code". In fact, it >>> certainly does mean that, and if gcc is too forgiving, then gcc is again >>> failing to conform. >>> >> >> I already agreed that you would have to specify which standard would be >> followed for a compiler which supports multiple standards. > > James has already pointed out why that isn't true, so I won't bother. > But that isn't the point at issue. The point at issue is your claim that > most compilers are conforming in default mode. You have yet to produce a > single example to support your case, and it has been shown in some > detail how gcc, probably the most widely-installed compiler in the > world, is a counter-example. > Which I already admitted that was wrong. But you can't let it go, can you? You either have serious reading comprehension problems, or you are arguing just to argue. >> But you >> can't get by that, can you? Reading comprehension problems? > > Is it really so terribly hard to admit error that you have to hurl > insults left, right and centre in a desperate but by now rather familiar > misguided attempt to throw sand in people's eyes? Do you really think > that all this nonsense about singing pigs fools anyone? > Which I already admitted that was wrong. But you can't let it go, can you? You either have serious reading comprehension problems, or you are arguing just to argue. >> But then the standard also doesn't say the compiler must be conforming >> in its default mode, does it? > > No, the standard imposes no requirements on non-conforming > implementations. But that isn't the point at issue. The claim you made > was that most compilers /are/ conforming in default mode. > I never claimed it required ANYTHING from a non-conforming implementation. And I already admitted that was wrong. But you can't let it go, can you? You either have serious reading comprehension problems, or you are arguing just to argue. >>> You claimed that most compilers are conforming in their default mode, >>> but so far you have not produced the names of any compilers that do >>> conform in their default mode. >>> >> >> I already agreed that you would have to specify which standard would be >> followed for a compiler which supports multiple standards. > > Not so, as James has already explained so I won't repeat it. It isn't > the point at issue. What you actually claimed was that most compilers, > when invoked in default mode, are conforming. Clearly a compiler that > requires a switch in order to conform is not conforming in its default > mode (i.e. without the switch being activated). > Which I already admitted that was wrong. But you can't let it go, can you? You either have serious reading comprehension problems, or you are arguing just to argue. >> But you >> can't get by that, can you? Reading comprehension problems? > > I'll try to make myself clearer. Here is the relevant history: > > Keith Thompson wrote: "Most C compilers are not conforming by default, > and require some added options to make them (attempt to) conform to > (some version of) the standard." > You replied: "Why do you say that? There is nothing that says a compiler > can't add features, as long as it does everything the standard says it > does." > I replied with a comment about a requirement to support scanf (which the > OP claimed his implementation did not). > You replied: "The question wasn't about whether VS compiled a program > with scanf() or not. The question was why he stated "Most C compilers > are not conforming by default"." And later in the same article you > added: "I was responding to an over-generalized statement." > > When I then asked you whether any C compilers conform by default, you > replied: "I think most of them do." > > So far we have seen evidence to the contrary but no evidence in support. > Instead, you seem to be psyching yourself up for your usual ad hominem > attacks in the hope that nobody will notice that you got it wrong again. > The rest of us deal with "getting it wrong again" by apologising and > retracting, not by hurling personal insults. It is a course that I can > recommend to you. > Oh, you're clear all right. You have once again proven you either have serious reading comprehension problems, or you are arguing just to argue. >> But then the standard also doesn't say the compiler must be conforming >> in its default mode, does it? > > Surely you *cannot* be this stupid? The claim you made, the claim that > is being challenged, is that most compilers /are/ conforming in their > default mode. > Which I already admitted that was wrong. But you can't let it go, can you? You either have serious reading comprehension problems, or you are arguing just to argue. One thing that is obvious. You are in the need of serious help. -- ================== Remove the "x" from my email address Jerry Stuckle jstucklex@attglobal.net ==================
[toc] | [prev] | [next] | [standalone]
| From | Richard Heathfield <rjh@cpax.org.uk> |
|---|---|
| Date | 2016-12-09 16:31 +0000 |
| Message-ID | <o2em6n$4c9$1@dont-email.me> |
| In reply to | #98548 |
On 09/12/16 16:15, Jerry Stuckle wrote: > On 12/9/2016 3:26 AM, Richard Heathfield wrote: >> On 09/12/16 02:47, Jerry Stuckle wrote: >>> On 12/8/2016 11:16 AM, Richard Heathfield wrote: <snip> >>>> >>>> The C Standard has this to say about linking: "8. All external object >>>> and function references are resolved. Library components are linked to >>>> satisfy external references to functions and objects not defined in the >>>> current translation. All such translator output is collected into a >>>> program image which contains information needed for execution in its >>>> execution environment." >>>> >>>> So it says that linking *must happen*, conceptually at the very least >>>> (as with an interpreter). If the linking step is omitted, the >>>> implementation is not a conforming implementation. In other words, the >>>> program must be able to execute, or there's no point. >>>> >>> >>> It doesn't say there has to be a link step. >> >> See the above paragraph, which says that "library components are linked >> to satisfy external references". TP8 is describing a link step, in fact. >> > > That is correct. But it does not say there has to be a link step. Only > that the external references must be satisfied. That is what I mean by a link step. The point is, those references must be satisfied, and gcc fails to satisfy them for math library functions when invoked in its default mode. Which bit of this don't you understand? > >>> It just states that the >>> external references must be resolved - not how the resolution is done. >>> It could be done by the compiler, for instance. >> >> Yes, but gcc /fails/ (in default mode) to resolve those external >> references for math library functions, and therefore it doesn't do what >> the standard says must be done, and therefore it doesn't conform (in >> default mode). >> > > So? Where does the standard say that it is required that it be done in > default mode? The Standard has very little to say about implementations, and it certainly doesn't require that implementations must be conforming without any command line switches. It is *you* who claimed that most compilers /do/ conform in default mode, and that is the claim that is being challenged. <snip> >>> The standard also doesn't say it has to be conforming "by default". >>> Just that it has to be conforming. >> >> As James rightly points out, it doesn't even say that. There's nothing >> to stop you writing a non-conforming C implementation. But your claim >> was that most compilers are conforming in default mode. >> > > By definition, to be a conforming implementation it must conform to the > standard. Yes. And if it doesn't conform in default mode, but instead requires some switches to push it into conformance, then it doesn't conform in default mode. It's a tautology, for pity's sake! > But I see that is beyond your limited comprehension. What is beyond my limited comprehension is how you can so completely fail to see such ludicrously obvious points even though they are spelled out to you in painstaking detail. >>> The standard also doesn't say the compiler must have a means of >>> compiling only (-c in gcc). But all compilers do. >> >> The Standard doesn't even say there must be a compiler. C interpreters >> exist. But the claim that you made is that most compilers conform when >> invoked in default mode. For a compiler to be conforming, it must meet >> all the requirements of the standard for conforming implementations. If >> it fails to meet any of those requirements in default mode, it does not >> conform in default mode. >> > > Which I already admitted that was wrong. Ah, that will save us a lot of time. Did you also do the decent thing by apologising to the people you insulted for having the temerity to disagree with your mistaken opinion? <balderdash snipped> -- Richard Heathfield Email: rjh at cpax dot org dot uk "Usenet is a strange place" - dmr 29 July 1999 Sig line 4 vacant - apply within
[toc] | [prev] | [next] | [standalone]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2016-12-09 23:47 -0500 |
| Message-ID | <o2g1ac$geo$2@jstuckle.eternal-september.org> |
| In reply to | #98555 |
On 12/9/2016 11:31 AM, Richard Heathfield wrote: > On 09/12/16 16:15, Jerry Stuckle wrote: >> On 12/9/2016 3:26 AM, Richard Heathfield wrote: >>> On 09/12/16 02:47, Jerry Stuckle wrote: >>>> On 12/8/2016 11:16 AM, Richard Heathfield wrote: > <snip> >>>>> >>>>> The C Standard has this to say about linking: "8. All external object >>>>> and function references are resolved. Library components are linked to >>>>> satisfy external references to functions and objects not defined in >>>>> the >>>>> current translation. All such translator output is collected into a >>>>> program image which contains information needed for execution in its >>>>> execution environment." >>>>> >>>>> So it says that linking *must happen*, conceptually at the very least >>>>> (as with an interpreter). If the linking step is omitted, the >>>>> implementation is not a conforming implementation. In other words, the >>>>> program must be able to execute, or there's no point. >>>>> >>>> >>>> It doesn't say there has to be a link step. >>> >>> See the above paragraph, which says that "library components are linked >>> to satisfy external references". TP8 is describing a link step, in fact. >>> >> >> That is correct. But it does not say there has to be a link step. Only >> that the external references must be satisfied. > > That is what I mean by a link step. The point is, those references must > be satisfied, and gcc fails to satisfy them for math library functions > when invoked in its default mode. Which bit of this don't you understand? > That is ONE WAY to satisfy the external references. It is not the only possible way. >> >>>> It just states that the >>>> external references must be resolved - not how the resolution is done. >>>> It could be done by the compiler, for instance. >>> >>> Yes, but gcc /fails/ (in default mode) to resolve those external >>> references for math library functions, and therefore it doesn't do what >>> the standard says must be done, and therefore it doesn't conform (in >>> default mode). >>> >> >> So? Where does the standard say that it is required that it be done in >> default mode? > > The Standard has very little to say about implementations, and it > certainly doesn't require that implementations must be conforming > without any command line switches. It is *you* who claimed that most > compilers /do/ conform in default mode, and that is the claim that is > being challenged. > > <snip> > And I have already agreed multiple times that statement was incorrect. But you can't let it go, can you? Either you have reading comprehension problems, or you're arguing just to argue. >>>> The standard also doesn't say it has to be conforming "by default". >>>> Just that it has to be conforming. >>> >>> As James rightly points out, it doesn't even say that. There's nothing >>> to stop you writing a non-conforming C implementation. But your claim >>> was that most compilers are conforming in default mode. >>> >> >> By definition, to be a conforming implementation it must conform to the >> standard. > > Yes. And if it doesn't conform in default mode, but instead requires > some switches to push it into conformance, then it doesn't conform in > default mode. It's a tautology, for pity's sake! > And I have already agreed multiple times that statement was incorrect. But you can't let it go, can you? Either you have reading comprehension problems, or you're arguing just to argue. >> But I see that is beyond your limited comprehension. > > What is beyond my limited comprehension is how you can so completely > fail to see such ludicrously obvious points even though they are spelled > out to you in painstaking detail. > And I have already agreed multiple times that statement was incorrect. But you can't let it go, can you? Either you have reading comprehension problems, or you're arguing just to argue. >>>> The standard also doesn't say the compiler must have a means of >>>> compiling only (-c in gcc). But all compilers do. >>> >>> The Standard doesn't even say there must be a compiler. C interpreters >>> exist. But the claim that you made is that most compilers conform when >>> invoked in default mode. For a compiler to be conforming, it must meet >>> all the requirements of the standard for conforming implementations. If >>> it fails to meet any of those requirements in default mode, it does not >>> conform in default mode. >>> >> >> Which I already admitted that was wrong. > > Ah, that will save us a lot of time. > > Did you also do the decent thing by apologising to the people you > insulted for having the temerity to disagree with your mistaken opinion? > > <balderdash snipped> > And I have already agreed multiple times that statement was incorrect. But you can't let it go, can you? Either you have reading comprehension problems, or you're arguing just to argue. And no, I don't apologize to pigs. Nor do I demand an apology from them. -- ================== Remove the "x" from my email address Jerry Stuckle jstucklex@attglobal.net ==================
[toc] | [prev] | [next] | [standalone]
| From | Richard Heathfield <rjh@cpax.org.uk> |
|---|---|
| Date | 2016-12-11 16:05 +0000 |
| Message-ID | <o2jtcv$a99$1@dont-email.me> |
| In reply to | #98660 |
On 10/12/16 04:47, Jerry Stuckle wrote: > On 12/9/2016 11:31 AM, Richard Heathfield wrote: >> On 09/12/16 16:15, Jerry Stuckle wrote: >>> On 12/9/2016 3:26 AM, Richard Heathfield wrote: >>>> On 09/12/16 02:47, Jerry Stuckle wrote: >>>>> On 12/8/2016 11:16 AM, Richard Heathfield wrote: >> <snip> >>>>>> >>>>>> The C Standard has this to say about linking: "8. All external object >>>>>> and function references are resolved. Library components are linked to >>>>>> satisfy external references to functions and objects not defined in >>>>>> the >>>>>> current translation. All such translator output is collected into a >>>>>> program image which contains information needed for execution in its >>>>>> execution environment." >>>>>> >>>>>> So it says that linking *must happen*, conceptually at the very least >>>>>> (as with an interpreter). If the linking step is omitted, the >>>>>> implementation is not a conforming implementation. In other words, the >>>>>> program must be able to execute, or there's no point. >>>>>> >>>>> >>>>> It doesn't say there has to be a link step. >>>> >>>> See the above paragraph, which says that "library components are linked >>>> to satisfy external references". TP8 is describing a link step, in fact. >>>> >>> >>> That is correct. But it does not say there has to be a link step. Only >>> that the external references must be satisfied. >> >> That is what I mean by a link step. The point is, those references must >> be satisfied, and gcc fails to satisfy them for math library functions >> when invoked in its default mode. Which bit of this don't you understand? >> > > That is ONE WAY to satisfy the external references. It is not the only > possible way. Read my lips. The references must be resolved. *How* they are resolved is neither here nor there, as long as they *are* resolved. It might be this way, or that way, or the other way, or some other way, but they must be resolved. If gcc fails to resolve them in default mode, gcc fails to conform in default mode. [On to Jerry Stuckle's claim that most compilers conform in default mode] > And I have already agreed multiple times that statement was incorrect. Well, I am now seeing lots of places where you are saying you've announced a retraction of the claim. I didn't actually see the retraction itself, but I am perfectly content to accept your "I've already said several times that I was wrong" as a retraction. <snip> -- Richard Heathfield Email: rjh at cpax dot org dot uk "Usenet is a strange place" - dmr 29 July 1999 Sig line 4 vacant - apply within
[toc] | [prev] | [next] | [standalone]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2016-12-11 16:21 -0500 |
| Message-ID | <o2kfti$1sp$1@jstuckle.eternal-september.org> |
| In reply to | #98819 |
On 12/11/2016 11:05 AM, Richard Heathfield wrote: > On 10/12/16 04:47, Jerry Stuckle wrote: >> On 12/9/2016 11:31 AM, Richard Heathfield wrote: >>> On 09/12/16 16:15, Jerry Stuckle wrote: >>>> On 12/9/2016 3:26 AM, Richard Heathfield wrote: >>>>> On 09/12/16 02:47, Jerry Stuckle wrote: >>>>>> On 12/8/2016 11:16 AM, Richard Heathfield wrote: >>> <snip> >>>>>>> >>>>>>> The C Standard has this to say about linking: "8. All external >>>>>>> object >>>>>>> and function references are resolved. Library components are >>>>>>> linked to >>>>>>> satisfy external references to functions and objects not defined in >>>>>>> the >>>>>>> current translation. All such translator output is collected into a >>>>>>> program image which contains information needed for execution in its >>>>>>> execution environment." >>>>>>> >>>>>>> So it says that linking *must happen*, conceptually at the very >>>>>>> least >>>>>>> (as with an interpreter). If the linking step is omitted, the >>>>>>> implementation is not a conforming implementation. In other >>>>>>> words, the >>>>>>> program must be able to execute, or there's no point. >>>>>>> >>>>>> >>>>>> It doesn't say there has to be a link step. >>>>> >>>>> See the above paragraph, which says that "library components are >>>>> linked >>>>> to satisfy external references". TP8 is describing a link step, in >>>>> fact. >>>>> >>>> >>>> That is correct. But it does not say there has to be a link step. >>>> Only >>>> that the external references must be satisfied. >>> >>> That is what I mean by a link step. The point is, those references must >>> be satisfied, and gcc fails to satisfy them for math library functions >>> when invoked in its default mode. Which bit of this don't you >>> understand? >>> >> >> That is ONE WAY to satisfy the external references. It is not the only >> possible way. > > Read my lips. The references must be resolved. *How* they are resolved > is neither here nor there, as long as they *are* resolved. It might be > this way, or that way, or the other way, or some other way, but they > must be resolved. If gcc fails to resolve them in default mode, gcc > fails to conform in default mode. > You keep calling it a "link step". There is no requirement for a link step. More reading comprehension problems, I see. And there is no requirement to satisfy them in default mode. What if those external references were in user libs, for instance? How to you expect gcc to satisfy them in default mode, which means (according to you) that no parameters can be specified - including library names? > [On to Jerry Stuckle's claim that most compilers conform in default mode] > >> And I have already agreed multiple times that statement was incorrect. > > Well, I am now seeing lots of places where you are saying you've > announced a retraction of the claim. I didn't actually see the > retraction itself, but I am perfectly content to accept your "I've > already said several times that I was wrong" as a retraction. > > <snip> > Just another case of your reading comprehension problem, Richard. -- ================== Remove the "x" from my email address Jerry Stuckle jstucklex@attglobal.net ==================
[toc] | [prev] | [next] | [standalone]
| From | Richard Heathfield <rjh@cpax.org.uk> |
|---|---|
| Date | 2016-12-11 23:15 +0000 |
| Message-ID | <o2kmjb$54f$1@dont-email.me> |
| In reply to | #98905 |
On 11/12/16 21:21, Jerry Stuckle wrote: > On 12/11/2016 11:05 AM, Richard Heathfield wrote: >> On 10/12/16 04:47, Jerry Stuckle wrote: <snip> >>> >>> That is ONE WAY to satisfy the external references. It is not the only >>> possible way. >> >> Read my lips. The references must be resolved. *How* they are resolved >> is neither here nor there, as long as they *are* resolved. It might be >> this way, or that way, or the other way, or some other way, but they >> must be resolved. If gcc fails to resolve them in default mode, gcc >> fails to conform in default mode. >> > > You keep calling it a "link step". I composed that paragraph very carefully in such a way as not to call it anything that you yourself had not called it. Learn to read. > And there is no requirement to satisfy them in default mode. Indeed. The Standard imposes no requirements on non-conforming implementations. Nobody has claimed that it does. You were the only one who said most compilers were conforming in default mode, and I believe you have now retracted that claim, and here you still are, arguing about it. Nice one. -- Richard Heathfield Email: rjh at cpax dot org dot uk "Usenet is a strange place" - dmr 29 July 1999 Sig line 4 vacant - apply within
[toc] | [prev] | [next] | [standalone]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2016-12-11 18:57 -0500 |
| Message-ID | <o2kp2d$p7q$1@jstuckle.eternal-september.org> |
| In reply to | #98941 |
On 12/11/2016 6:15 PM, Richard Heathfield wrote: > On 11/12/16 21:21, Jerry Stuckle wrote: >> On 12/11/2016 11:05 AM, Richard Heathfield wrote: >>> On 10/12/16 04:47, Jerry Stuckle wrote: > <snip> >>>> >>>> That is ONE WAY to satisfy the external references. It is not the only >>>> possible way. >>> >>> Read my lips. The references must be resolved. *How* they are resolved >>> is neither here nor there, as long as they *are* resolved. It might be >>> this way, or that way, or the other way, or some other way, but they >>> must be resolved. If gcc fails to resolve them in default mode, gcc >>> fails to conform in default mode. >>> >> >> You keep calling it a "link step". > > I composed that paragraph very carefully in such a way as not to call it > anything that you yourself had not called it. Learn to read. > Yes, you did *that paragraph*. What I am referring to is your previous comments - upon which that paragraph was based. >> And there is no requirement to satisfy them in default mode. > > Indeed. The Standard imposes no requirements on non-conforming > implementations. Nobody has claimed that it does. You were the only one > who said most compilers were conforming in default mode, and I believe > you have now retracted that claim, and here you still are, arguing about > it. Nice one. > You just can't let this go, can you? How many times do I have to agree that they do not have to conform in default mode? No, I'm not arguing about it at all. But you keep bringing it up. Just like a troll. Arguing just to argue - and then trying to blame someone else. -- ================== Remove the "x" from my email address Jerry Stuckle jstucklex@attglobal.net ==================
[toc] | [prev] | [next] | [standalone]
| From | Richard Heathfield <rjh@cpax.org.uk> |
|---|---|
| Date | 2016-12-12 00:05 +0000 |
| Message-ID | <o2kphd$um6$1@dont-email.me> |
| In reply to | #98945 |
On 11/12/16 23:57, Jerry Stuckle wrote: > On 12/11/2016 6:15 PM, Richard Heathfield wrote: >> On 11/12/16 21:21, Jerry Stuckle wrote: >>> On 12/11/2016 11:05 AM, Richard Heathfield wrote: >>>> On 10/12/16 04:47, Jerry Stuckle wrote: >> <snip> >>>>> >>>>> That is ONE WAY to satisfy the external references. It is not the only >>>>> possible way. >>>> >>>> Read my lips. The references must be resolved. *How* they are resolved >>>> is neither here nor there, as long as they *are* resolved. It might be >>>> this way, or that way, or the other way, or some other way, but they >>>> must be resolved. If gcc fails to resolve them in default mode, gcc >>>> fails to conform in default mode. >>>> >>> >>> You keep calling it a "link step". >> >> I composed that paragraph very carefully in such a way as not to call it >> anything that you yourself had not called it. Learn to read. >> > > Yes, you did *that paragraph*. Yes. So I didn't keep calling it a "link step", did I? > What I am referring to is your previous > comments - upon which that paragraph was based. You had the opportunity to do that when replying to those previous comments. Telling me I keep calling something X as a reply to the very paragraph in which I stop calling it X is just stupid. > >>> And there is no requirement to satisfy them in default mode. >> >> Indeed. The Standard imposes no requirements on non-conforming >> implementations. Nobody has claimed that it does. You were the only one >> who said most compilers were conforming in default mode, and I believe >> you have now retracted that claim, and here you still are, arguing about >> it. Nice one. >> > > You just can't let this go, can you? Sure I can. I'll stop telling you you're wrong when you stop being wrong. If you keep arguing the point after agreeing you're wrong, as if somehow agreeing that you're wrong magically makes you right, you're going to run the risk that people keep saying you're wrong. > How many times do I have to agree > that they do not have to conform in default mode? How many times do I have to tell you that that isn't the point we're arguing about? We're not arguing about whether implementations *have* to conform in default mode (which they don't). We're arguing, or we were, about whether implementations *do* conform in default mode. You claimed they do. You were wrong. You now admit you were wrong. End of discussion as far as I'm concerned. And yet you keep arguing. > No, I'm not arguing about it at all. But you keep bringing it up. Well, we're now both claiming that about each other, which is just silly, so let's just leave it there. > Just like a troll. Arguing just to argue - and then trying to blame > someone else. Projecting again, Jerry? -- Richard Heathfield Email: rjh at cpax dot org dot uk "Usenet is a strange place" - dmr 29 July 1999 Sig line 4 vacant - apply within
[toc] | [prev] | [next] | [standalone]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2016-12-11 21:09 -0500 |
| Message-ID | <o2l0qb$q3b$1@jstuckle.eternal-september.org> |
| In reply to | #98949 |
On 12/11/2016 7:05 PM, Richard Heathfield wrote: > On 11/12/16 23:57, Jerry Stuckle wrote: >> On 12/11/2016 6:15 PM, Richard Heathfield wrote: >>> On 11/12/16 21:21, Jerry Stuckle wrote: >>>> On 12/11/2016 11:05 AM, Richard Heathfield wrote: >>>>> On 10/12/16 04:47, Jerry Stuckle wrote: >>> <snip> >>>>>> >>>>>> That is ONE WAY to satisfy the external references. It is not the >>>>>> only >>>>>> possible way. >>>>> >>>>> Read my lips. The references must be resolved. *How* they are resolved >>>>> is neither here nor there, as long as they *are* resolved. It might be >>>>> this way, or that way, or the other way, or some other way, but they >>>>> must be resolved. If gcc fails to resolve them in default mode, gcc >>>>> fails to conform in default mode. >>>>> >>>> >>>> You keep calling it a "link step". >>> >>> I composed that paragraph very carefully in such a way as not to call it >>> anything that you yourself had not called it. Learn to read. >>> >> >> Yes, you did *that paragraph*. > > Yes. So I didn't keep calling it a "link step", did I? > Until that time, you did. And that's what I was referring to. But you very conveniently clipped that part. >> What I am referring to is your previous >> comments - upon which that paragraph was based. > > You had the opportunity to do that when replying to those previous > comments. Telling me I keep calling something X as a reply to the very > paragraph in which I stop calling it X is just stupid. > And I did. But your reading comprehension problem doesn't allow you to understand simple English. >> >>>> And there is no requirement to satisfy them in default mode. >>> >>> Indeed. The Standard imposes no requirements on non-conforming >>> implementations. Nobody has claimed that it does. You were the only one >>> who said most compilers were conforming in default mode, and I believe >>> you have now retracted that claim, and here you still are, arguing about >>> it. Nice one. >>> >> >> You just can't let this go, can you? > > Sure I can. I'll stop telling you you're wrong when you stop being > wrong. If you keep arguing the point after agreeing you're wrong, as if > somehow agreeing that you're wrong magically makes you right, you're > going to run the risk that people keep saying you're wrong. > Nope, you can't let it go. You argue just to argue. That's one trait of a troll. >> How many times do I have to agree >> that they do not have to conform in default mode? > > How many times do I have to tell you that that isn't the point we're > arguing about? We're not arguing about whether implementations *have* to > conform in default mode (which they don't). We're arguing, or we were, > about whether implementations *do* conform in default mode. You claimed > they do. You were wrong. You now admit you were wrong. End of discussion > as far as I'm concerned. And yet you keep arguing. > When why do you keep bringing it up? You're the one who keeps on with it, Richard. Just like trolls do. >> No, I'm not arguing about it at all. But you keep bringing it up. > > Well, we're now both claiming that about each other, which is just > silly, so let's just leave it there. > You keep bringing it up, just like the troll you are. >> Just like a troll. Arguing just to argue - and then trying to blame >> someone else. > > Projecting again, Jerry? > Nope, you're the troll, here. And one with reading comprehension problems. -- ================== Remove the "x" from my email address Jerry Stuckle jstucklex@attglobal.net ==================
[toc] | [prev] | [next] | [standalone]
| From | Richard Heathfield <rjh@cpax.org.uk> |
|---|---|
| Date | 2016-12-12 08:25 +0000 |
| Message-ID | <o2lmqh$72q$1@dont-email.me> |
| In reply to | #98969 |
On 12/12/16 02:09, Jerry Stuckle wrote: > On 12/11/2016 7:05 PM, Richard Heathfield wrote: >> On 11/12/16 23:57, Jerry Stuckle wrote: >>> On 12/11/2016 6:15 PM, Richard Heathfield wrote: >>>> On 11/12/16 21:21, Jerry Stuckle wrote: >>>>> On 12/11/2016 11:05 AM, Richard Heathfield wrote: >>>>>> On 10/12/16 04:47, Jerry Stuckle wrote: >>>> <snip> >>>>>>> >>>>>>> That is ONE WAY to satisfy the external references. It is not the >>>>>>> only >>>>>>> possible way. >>>>>> >>>>>> Read my lips. The references must be resolved. *How* they are resolved >>>>>> is neither here nor there, as long as they *are* resolved. It might be >>>>>> this way, or that way, or the other way, or some other way, but they >>>>>> must be resolved. If gcc fails to resolve them in default mode, gcc >>>>>> fails to conform in default mode. >>>>>> >>>>> >>>>> You keep calling it a "link step". >>>> >>>> I composed that paragraph very carefully in such a way as not to call it >>>> anything that you yourself had not called it. Learn to read. >>>> >>> >>> Yes, you did *that paragraph*. >> >> Yes. So I didn't keep calling it a "link step", did I? >> > > Until that time, you did. Absolutely right. But not /that/ time. I will, however, call it a link step again, because that's exactly what it is --- Translation Phase 8. How it is done is neither here nor there, but done it must be. > And that's what I was referring to. But you > very conveniently clipped that part. "Very conveniently"? You make it sound like an intent to deceive, but in fact it is standard Usenet practice to elide parts of an article to which one is not responding, leaving only sufficient for context. I almost always remember to indicate elisions using "<snip>", and I did on this occasion. I snip the parts I'm not talking about (although of course sometimes I forget, but I do my best to remember). I wish you would learn this elementary lesson about snipping, but I realise it's difficult for a man in your position. -- Richard Heathfield Email: rjh at cpax dot org dot uk "Usenet is a strange place" - dmr 29 July 1999 Sig line 4 vacant - apply within
[toc] | [prev] | [next] | [standalone]
| From | Tim Rentsch <txr@alumni.caltech.edu> |
|---|---|
| Date | 2016-12-10 07:59 -0800 |
| Message-ID | <kfnmvg3kc6r.fsf@x-alumni2.alumni.caltech.edu> |
| In reply to | #98384 |
Richard Heathfield <rjh@cpax.org.uk> writes: > [compilers that conform in their default mode] > > Let me tell you some that don't: > > gcc > Borland > Visual Studio > Code Warrior > C/370 > LE370 You may add to your list the two Unisys implementations that were mentioned here recently. (This based on the documentation, I have no personal experience.) On a whim I checked them, thinking one or both might a counterexamples, but in fact they turned out to be counter-counter-examples.
[toc] | [prev] | [next] | [standalone]
| From | jameskuyper@verizon.net |
|---|---|
| Date | 2016-12-08 13:51 -0800 |
| Message-ID | <e80c4a57-6b12-4e69-8c1e-1c2964efd248@googlegroups.com> |
| In reply to | #98372 |
On Thursday, December 8, 2016 at 10:44:15 AM UTC-5, Jerry Stuckle wrote: > On 12/8/2016 9:22 AM, Richard Heathfield wrote: > > On 08/12/16 14:13, Jerry Stuckle wrote: > >> On 12/7/2016 6:33 PM, jameskuyper@verizon.net wrote: > >>> On Wednesday, December 7, 2016 at 3:13:27 PM UTC-5, Jerry Stuckle wrote: > >>>> On 12/7/2016 12:40 PM, Keith Thompson wrote: > >>> ... > >>>>> Most C compilers are not conforming by default, and require some added > >>>>> options to make them (atte > >>> I > >>>>> > >>>> > >>>> Why do you say that? There is nothing that says a compiler can't add > >>>> features, as long as it does everything the standard says it does. > >>> > >>> ... and doesn't do anything the standard says is shouldn't do. > >>> However, it > >>> turns out that most compilers do in fact fail to do something > >>> required by the > >>> standard, or do something prohibited by the standard, when invoked in > >>> their > >>> default mode. The compilers I've used most frequently over the past > >>> couple of > >>> decades all take an -ansi option that puts them in C90 mode; without > >>> that option, they don't fully conform to any version of the C > >>> standard. Most of > >>> them also require the -lm option to correctly handle code that uses > >>> <math.h>, > >>> and gcc also requires -pedantic. There was an extended discussion of > >>> this issue > >>> a few years ago in this newsgroup. In the end, only two very obscure > >>> compilers > >>> were identified that supposedly fully conformed in their default mode > >>> - and > >>> given how obscure they were, that conclusion might have simply been > >>> the result > >>> of nobody being aware of the the ways that they failed to conform. > >>> > >> > >> When they support multiple versions of the standard, they need to know > >> which version of the standard to use. > > > > And so they require a switch, without which they are non-conforming to > > any standard (or at least that's the case for gcc). > > > >> But -lm is a linker parameter, not compiler. > > > > Yes. Since we have been using the word "compiler" it's a reasonable > > objection. Nevertheless, if we take the linker out of the equation, *no* > > compiler is conforming, because to leave out the linker necessarily > > means leaving out TP8! > > > > And if we put the linker back into the equation, gcc fails to conform > > even when told to by -std=c??, unless the additional magic rune -lm is > > added, just as James explained to you already. > > > > The C standard doesn't say anything about the linker (although it does > extensively discuss linkage) or how libraries are linked in. Footnote 71 contains the only thing it says about linkers. However, It doesn't say much about compilers, either - it only uses the term 5 times. It mainly talks about translation, a process that requires both compilation and linking, but it says nothing about how the work of translation is broken up between the different programs needed to achieve it. It lists a sequence of translation phases in 5.1.1.2, but does not require that they actually occur in that order, only that an implementation of C must behave as if they had occurred in that order. For a typical implementation, the linker implements translation phase 8. > would guess the reason for the -lm flag would be you might want to use > libm, or you might have another library you want for the math functions. But a fully conforming implementation of C is required to translate code making use of such functions into an executable program that actually executes them. Therefore, any implementation that only links in the math library if the -lm option is chosen, is not fully conforming in it's default mode, where that option is not chosen. > But I didn't write the compiler, so I don't know what they were thinking. I do. Back in the day, the math library was large compared to the other parts of the C standard library, and most programs made no use of it. It greatly speeded up linkage of the majority of the programs if the math library was linked in only if specifically requested by the minority that actually needed it. So, in their default mode, most implementation didn't link it in. Nowadays the time required to link in the math library isn't very important on most platforms, but many compilers continue to behave that way just because there's no strong reason to change it. Others continue to accept -lm as an option, but simply ignore it, always linking in the math library if needed. > >> And I always thought gcc was -pedantic. I didn't realize it needed a > >> flag to make it even more so. > > > > gcc in default mode is remarkably forgiving, as long as you don't sin > > (or cos, or tan, or anything else math.h-y). > > > > Yes, sometimes too forgiving. Yes - hence the term "non-conforming".
[toc] | [prev] | [next] | [standalone]
| From | jameskuyper@verizon.net |
|---|---|
| Date | 2016-12-08 13:34 -0800 |
| Message-ID | <f3ec418e-5ecc-458a-9877-a043820dbeca@googlegroups.com> |
| In reply to | #98354 |
On Thursday, December 8, 2016 at 9:13:10 AM UTC-5, Jerry Stuckle wrote: > On 12/7/2016 6:33 PM, jameskuyper@verizon.net wrote: > > On Wednesday, December 7, 2016 at 3:13:27 PM UTC-5, Jerry Stuckle wrote: > >> On 12/7/2016 12:40 PM, Keith Thompson wrote: > > ... > >>> Most C compilers are not conforming by default, and require some added > >>> options to make them (atte > > I > >>> > >> > >> Why do you say that? There is nothing that says a compiler can't add > >> features, as long as it does everything the standard says it does. > > > > ... and doesn't do anything the standard says is shouldn't do. However, it > > turns out that most compilers do in fact fail to do something required by the > > standard, or do something prohibited by the standard, when invoked in their > > default mode. The compilers I've used most frequently over the past couple of > > decades all take an -ansi option that puts them in C90 mode; without > > that option, they don't fully conform to any version of the C standard. Most of > > them also require the -lm option to correctly handle code that uses <math.h>, > > and gcc also requires -pedantic. There was an extended discussion of this issue > > a few years ago in this newsgroup. In the end, only two very obscure compilers > > were identified that supposedly fully conformed in their default mode - and > > given how obscure they were, that conclusion might have simply been the result > > of nobody being aware of the the ways that they failed to conform. > > > > When they support multiple versions of the standard, they need to know > which version of the standard to use. ... True, but not directly to the point. C compilers, by (debateable, and frequently debated) definition, have at least mode where they fully conform to some version of the standard. They may have other modes in which they fully conform to other versions of the standard. However, it's an odd fact, but true, that most compilers also support one or more mode that don't fully conform to any version of the standard (though they do come close), and for most compilers, the default mode, the mode that is used when no options are selected, is one of those non-conforming modes. > ... But -lm is a linker parameter, > not compiler. Most of the compilers that I've used in the past several decades have accepted -lm as an option, will invoke the linker automatically, and pass that option to the linker. Not that it matters to me: a compiler only implements phases 1-7 of translation; phase 8 is done by the linker (5.1.1.2p2), so no compiler can constitute a complete implementation of C on it's own - only in combination with a linker does it so qualify. I'm only interested in complete implementations. Splitting the work of translation between a compiler and linker is just an implementation-specific detail that I'm well aware of, but less interested in. Other ways of splitting the work are also possible. > And I always thought gcc was -pedantic. I didn't realize it needed a > flag to make it even more so. The flag was named by someone who disapproved of the features it enables - they considered them pretty unimportant. I've heard that the gcc developers no longer share that attitude, but it's not feasible to change the name of that option.
[toc] | [prev] | [next] | [standalone]
| From | Jerry Stuckle <jstucklex@attglobal.net> |
|---|---|
| Date | 2016-12-08 21:52 -0500 |
| Message-ID | <o2d67j$itr$1@jstuckle.eternal-september.org> |
| In reply to | #98416 |
On 12/8/2016 4:34 PM, jameskuyper@verizon.net wrote: > On Thursday, December 8, 2016 at 9:13:10 AM UTC-5, Jerry Stuckle wrote: >> On 12/7/2016 6:33 PM, jameskuyper@verizon.net wrote: >>> On Wednesday, December 7, 2016 at 3:13:27 PM UTC-5, Jerry Stuckle wrote: >>>> On 12/7/2016 12:40 PM, Keith Thompson wrote: >>> ... >>>>> Most C compilers are not conforming by default, and require some added >>>>> options to make them (atte >>> I >>>>> >>>> >>>> Why do you say that? There is nothing that says a compiler can't add >>>> features, as long as it does everything the standard says it does. >>> >>> ... and doesn't do anything the standard says is shouldn't do. However, it >>> turns out that most compilers do in fact fail to do something required by the >>> standard, or do something prohibited by the standard, when invoked in their >>> default mode. The compilers I've used most frequently over the past couple of >>> decades all take an -ansi option that puts them in C90 mode; without >>> that option, they don't fully conform to any version of the C standard. Most of >>> them also require the -lm option to correctly handle code that uses <math.h>, >>> and gcc also requires -pedantic. There was an extended discussion of this issue >>> a few years ago in this newsgroup. In the end, only two very obscure compilers >>> were identified that supposedly fully conformed in their default mode - and >>> given how obscure they were, that conclusion might have simply been the result >>> of nobody being aware of the the ways that they failed to conform. >>> >> >> When they support multiple versions of the standard, they need to know >> which version of the standard to use. ... > > True, but not directly to the point. C compilers, by (debateable, and > frequently debated) definition, have at least mode where they fully conform to > some version of the standard. They may have other modes in which they fully > conform to other versions of the standard. However, it's an odd fact, but true, > that most compilers also support one or more mode that don't fully conform to > any version of the standard (though they do come close), and for most > compilers, the default mode, the mode that is used when no options are > selected, is one of those non-conforming modes. > Yes, directly to the point. And there is nothing in the C standard that says the compiler must be compliant in its default mode. And I didn't say that compilers couldn't be non-compliant - just that every compiler out there I know of is compliant. >> ... But -lm is a linker parameter, >> not compiler. > > Most of the compilers that I've used in the past several decades have accepted > -lm as an option, will invoke the linker automatically, and pass that option to > the linker. > Not that it matters to me: a compiler only implements phases 1-7 of > translation; phase 8 is done by the linker (5.1.1.2p2), so no compiler can > constitute a complete implementation of C on it's own - only in combination > with a linker does it so qualify. I'm only interested in complete > implementations. Splitting the work of translation between a compiler and > linker is just an implementation-specific detail that I'm well aware of, but > less interested in. Other ways of splitting the work are also possible. > The compiler doesn't do anything with the -l flag option except pass it on to the linker. And the linker is common to all compiled languages - not just C. The C standard does not specify linker operations. >> And I always thought gcc was -pedantic. I didn't realize it needed a >> flag to make it even more so. > > The flag was named by someone who disapproved of the features it enables - they > considered them pretty unimportant. I've heard that the gcc developers no > longer share that attitude, but it's not feasible to change the name of that > option. > Whatever. -- ================== Remove the "x" from my email address Jerry Stuckle jstucklex@attglobal.net ==================
[toc] | [prev] | [next] | [standalone]
| From | jameskuyper@verizon.net |
|---|---|
| Date | 2016-12-08 19:33 -0800 |
| Message-ID | <29417633-9ca5-4576-9811-6c6b6607a9a3@googlegroups.com> |
| In reply to | #98438 |
On Thursday, December 8, 2016 at 9:52:59 PM UTC-5, Jerry Stuckle wrote:
> On 12/8/2016 4:34 PM, jameskuyper@verizon.net wrote:
> > On Thursday, December 8, 2016 at 9:13:10 AM UTC-5, Jerry Stuckle wrote:
> >> On 12/7/2016 6:33 PM, jameskuyper@verizon.net wrote:
> >>> On Wednesday, December 7, 2016 at 3:13:27 PM UTC-5, Jerry Stuckle wrote:
> >>>> On 12/7/2016 12:40 PM, Keith Thompson wrote:
> >>> ...
> >>>>> Most C compilers are not conforming by default, and require some added
> >>>>> options to make them (atte
...
> >>>> Why do you say that? There is nothing that says a compiler can't add
> >>>> features, as long as it does everything the standard says it does.
...
> >> When they support multiple versions of the standard, they need to know
> >> which version of the standard to use. ...
> >
> > True, but not directly to the point. C compilers, by (debateable, and
> > frequently debated) definition, have at least mode where they fully conform to
> > some version of the standard. They may have other modes in which they fully
> > conform to other versions of the standard. However, it's an odd fact, but true,
> > that most compilers also support one or more mode that don't fully conform to
> > any version of the standard (though they do come close), and for most
> > compilers, the default mode, the mode that is used when no options are
> > selected, is one of those non-conforming modes.
> >
>
> Yes, directly to the point. And there is nothing in the C standard that
> says the compiler must be compliant in its default mode. ...
Richard was the one who suggested that C compilers should, by default, be in
conforming mode. However, he was not claiming that this was a requirement of
the standard - he was merely expressing a preference.
Keith responded by pointing out that, in conflict with Richard's preferences,
most compilers are non-conforming in their default mode. He did not, in any
way, imply that they had any obligation to conform in their default mode.
You claimed he was wrong about that, and that claim has been the reason for my
follow-up messages. At least six of the most popular compilers have already
been mentioned in this thread as being non-conforming in their default mode:
gcc
Borland
Visual Studio
Code Warrior
C/370
LE370
Sun's compilers were proposed as an example of a compiler that conformed by
default, but Keith demonstrated that Sun Studio 12 does not fully conform,
either.
I can add the MIPS-PRO C compiler that my project used on SGI machines. At a
minimum, you had to supply the -ansi and -lm options to make it a fully
conforming implementation of C.
including the compiler used by the OP.
You have yet to name one, though at one point you expressed the opinion that
most do. If you were right about that, it should have been possible to identify
at least one.
> ... And I didn't
> say that compilers couldn't be non-compliant - just that every compiler
> out there I know of is compliant.
Then could you identify them, because most of the most popular compilers known
to people monitoring this group have turned out to be non-conforming in their
default mode. Only eight such compilers have been discussed in this thread, but
many more have been discussed in previous threads talking about this same issue.
> >> ... But -lm is a linker parameter,
> >> not compiler.
> >
> > Most of the compilers that I've used in the past several decades have accepted
> > -lm as an option, will invoke the linker automatically, and pass that option to
> > the linker.
...
> The compiler doesn't do anything with the -l flag option except pass it
Nontheless, it does accept the option, and does do something with it (passing
it on). I believe that's also true of many of gcc's other options. I don't
know all the details, but I gather that gcc does very little work itself; most
of the work is done by other programs opened up as sub-processes under the gcc
process. Most of the options that gcc takes are simply passed on to one of
those other programs, rather than being implmented by gcc itself. The linker
just happens to be one of the several other programs it does this with.
> on to the linker. And the linker is common to all compiled languages -
Not necessarily. C++, in particular, imposes requirements on how C++ programs
are linked together that are incompatible with the common linker on many
platforms. As a result, in many cases C++ is implemented by providing it's own
specialize linker to implement those features. I suspect that C++ is far from
being the only language that does such things; but I'm not as familiar with
those other languages.
> not just C. The C standard does not specify linker operations.
Correct, just like it doesn't specify compiler operations. What it does specify
is the required steps of translation, and the linker performs the steps that
the standard requires to be performed during translation phase 8. Something
does not qualify as a fully conforming implementation of C unless it actually
implements phase 8; compilers by themselves never qualify - a compiler that
automatically calls the linker for you could qualify, but if it requires the
-lm option to correctly translate programs that use <math.h>, then it is not
fully conforming in the default mode, where no options are provided.
[toc] | [prev] | [next] | [standalone]
Page 4 of 6 — ← Prev page 1 2 3 [4] 5 6 Next page →
Back to top | Article view | comp.lang.c
csiph-web