From -329348762866272933
X-Google-Thread: f78e5,d9fe358a73c69991
X-Google-Attributes: gidf78e5,public
X-Google-Language: ENGLISH,ASCII-7-bit
Path: g2news1.google.com!news4.google.com!news.glorb.com!newsgate.cistron.nl!skynet.be!peer-uk.news.demon.net!kibo.news.demon.net!news.demon.co.uk!demon!stump.algebra.com!devnull
From: spam@smapguard.com ("Gene Bushuyev")
Newsgroups: comp.std.c++
Subject: Re: Should failure to instantiate a function template abort compilation during overload resolution?
Date: Thu, 11 Aug 2005 18:50:11 GMT
Organization: SBC http://yahoo.sbc.com
Lines: 33
Sender: mail2news@demon.net
Approved: fjh@cs.mu.oz.au (Fergus Henderson , moderator of comp.std.c++)
Message-ID: <IMLKe.415$O07.364@newssvr23.news.prodigy.net>
References: <1123485075.096196.242990@g44g2000cwa.googlegroups.com> <hinnant-6B7192.21000609082005@syrcnyrdrs-03-ge0.nyroc.rr.com> <1123642375.849913.19940@f14g2000cwb.googlegroups.com> <hinnant-7A2DC8.09274510082005@syrcnyrdrs-03-ge0.nyroc.rr.com> <A1wKe.1540$dk5.1104@newssvr21.news.prodigy.com> <CpIPUlB0Xv+CFwQ1@robinton.demon.co.uk>
NNTP-Posting-Host: news.news.demon.net
X-Trace: news.demon.co.uk 1123786222 20299 158.152.254.254 (11 Aug 2005 18:50:22 GMT)
X-Complaints-To: abuse@demon.net
NNTP-Posting-Date: Thu, 11 Aug 2005 18:50:22 +0000 (UTC)
X-Robomod: STUMP, ichudov@algebra.com (Igor Chudov)
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.2180
X-Priority: 3
X-RFC2646: Format=Flowed; Response
X-Virus-Scanned: amavisd-new at cs.mu.OZ.AU
X-MSMail-Priority: Normal
X-UserInfo1: TSU[@I_A\S@]BW@S^@_DJFTBTR\B@GXLN@GZ_GYO^ZWZUYICD^RAQBKZQTZTX\_I[^G_KGFNON[ZOE_AZNVO^\XGGNTCIRPIJH[@RQKBXLRZ@CD^HKANYVW@RLGEZEJN@\_WZJBNZYYKVIOR]T]MNMG_Z[YVWSCH_Q[GPC_A@CARQVXDSDA^M]@DRVUM@RBM
X-Received: (from fjh@localhost)
	by mulga.cs.mu.OZ.AU (8.12.10+Sun/8.12.9/Submit) id j7BIoBUA018982;
	Fri, 12 Aug 2005 04:50:11 +1000 (EST)
X-Path: comp-std-cpp-robomod!not-for-mail
X-NNTP-Posting-Date: Thu, 11 Aug 2005 13:19:36 EDT
X-Delivered-To: std-c++@ucar.edu
X-Authentication-Warning: mulga.cs.mu.OZ.AU: fjh set sender to devnull@stump.algebra.com using -f
X-Newsreader: Microsoft Outlook Express 6.00.2900.2180
X-Newsgroups: comp.std.c++
Xref: g2news1.google.com comp.std.c++:1774

"Francis Glassborow" <francis@robinton.demon.co.uk> wrote in message 
news:CpIPUlB0Xv+CFwQ1@robinton.demon.co.uk...
> In article <A1wKe.1540$dk5.1104@newssvr21.news.prodigy.com>, Gene Bushuyev 
> <spam@smapguard.com> writes
>>Compilers traditionally have problems implementing standard. It's not an
>>argument. If that were impossible (or at least impracticle) to do then it
>>would be an argument. It may be a particular compiler implementation has a
>>design that makes recovery difficult, but this is conceptually nothing
>>new, - the recovery is the same as the recovery from an exception, no
>>back-tracking is necessary. So maybe it's time to start writing compilers 
>>in
>>C++ to make it easier.
> Rolling back all the look-up tables that compilers create is certainly not 
> a trivial task, nor is dumping a copy of the current state before every 
> step that might result in the need to roll-back.

Well, this looks non-trivial because we are discussing a compiler 
organization differently than a regular c++ program. If "compiler" and all 
"tables" were classes, then all it boils down to is having local variables 
(tables) that are either merged with global or discarded if the exception 
(substitution failure) occured. That's how we are programming all the time 
in the presence of exceptions, don't we. We don't make the changes and then 
roll them back if an exception is thrown. We do the work on the side and 
then swap or merge the results.

- gene 

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]



