home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.lang.c++:16419 comp.std.c++:1583
- Newsgroups: comp.lang.c++,comp.std.c++
- Path: sparky!uunet!microsoft!hexnut!jimad
- From: jimad@microsoft.com (Jim Adcock)
- Subject: Re: something nasty report
- Message-ID: <1992Nov17.013839.20401@microsoft.com>
- Date: 17 Nov 92 01:38:39 GMT
- Organization: Microsoft Corporation
- References: <1992Nov10.192157.20810@BofA.com> <BxIp1L.M37@unx.sas.com> <5798@npg-sd.SanDiegoCA.NCR.COM>
- Lines: 26
-
- In article <5798@npg-sd.SanDiegoCA.NCR.COM> rns@npg-sd.SanDiegoCA.NCR.COM (Rick Schubert) writes:
- |In <BxIp1L.M37@unx.sas.com> sasghm@theseus.unx.sas.com (Gary Merrill) writes:
- |
- |>When a compiler dies with an internal error, causes an access
- |>violation, etc. it is *always* a bug.
- |
- |Not *always*: if the internal error is caused by an error in the program
- |being compiled, it is merely a very user-unfriendly error message (I
- |consider "segmentation violation -- core dumped" to be the ultimate
- |diagnostic).
-
- I'd say you're both right -- because a "bug" is any failure to meet
- customer expectations. In the case of the "C" standard it is quite
- "legal" for a compiler to crash when fed an erroneous program --
- as long as it emits some kind of warning or error message before during
- or after its death. Whether or not this meets customer expectations
- or not is not a "legal" issue. [In the case of the "C++" standard there
- isn't so who can say?] Personally, I hate compilers that die without
- an applicable line#, such that I have to debug by binary chop. But, I
- have yet to find any compiler where it is not easy to construct
- erroneous input such as to kill the compiler horribly. A better measure
- is whether or not beginning programmers frequently write erroneous programs
- that invoke such horrible deaths. Once people begin to understand the language,
- they tend to exercise these truly exceptional paths [partway;-] through
- the compiler less often.
-
-