Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.std.c++ > #97 > unrolled thread
| Started by | "Martin B." <0xCDCDCDCD@gmx.at> |
|---|---|
| First post | 2011-04-12 13:10 -0600 |
| Last post | 2011-04-28 12:19 -0600 |
| Articles | 2 — 1 participant |
Back to article view | Back to comp.std.c++
History and evolution of the noexcept proposal? "Martin B." <0xCDCDCDCD@gmx.at> - 2011-04-12 13:10 -0600
Re: History and evolution of the noexcept proposal? "Martin B." <0xCDCDCDCD@gmx.at> - 2011-04-28 12:19 -0600
| From | "Martin B." <0xCDCDCDCD@gmx.at> |
|---|---|
| Date | 2011-04-12 13:10 -0600 |
| Subject | History and evolution of the noexcept proposal? |
| Message-ID | <io0u5e$7l2$1@dont-email.me> |
Hi!
As the thread [How on earth did noexcept get through the standards
process?][1] on c.l.c++.m has shown, there is a lot of confusion,
disappointment and questions around `noexcept`.
While the feature we've got is apparently the feature we've got for now -
[We have FDIS!][2] - I at least would find it interesting to see a history
of how `noexcept` evolved into the current form [N3242][3] (see, among other
sections, 15.5.1 The std::terminate() function).
Danny Kalev did a great job about a year ago of summarizing [The debate on
noexcept][4] but I am unclear if there are any more recent changes wrt this
feature and also whether he's spot on on all arguments.
I think the following bullets would help in isolation to clear up some
questions that arose in [1]:
* Search help: Is there an easy way of searching/finding/obtaining a list of
all WG21 proposals and papers that deal with `noexcept` and for each to
verify when it was accepted or rejected and why?
* Rationale: Why was the noexcept-block, as proposed in [N2855][5], scraped?
This block would have made it trivial for compilers to statically "enforce"
`noexcept`, just as they "enforce" `const` at the moment.
* Rationale: Why did "call terminate()" win over "undefined behaviour" for
`noexcept` violations.
* Rationale: Why was it left implementation-defined, whether the stack would
be unwound/partially in case of a noexcept violation?
Any pointers appreciated. Please keep the guesswork to a minimum and mark it
clearly as guesswork :-)
cheers,
Martin
[1] :
http://groups.google.com/group/comp.lang.c++.moderated/browse_frm/thread/9adab213129c178/7afafcdf84c5f7b1
[2] :
http://herbsutter.com/2011/03/25/we-have-fdis-trip-report-march-2011-c-standards-meeting/
[3] : http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2011/n3242.pdf
[4] : http://www.informit.com/guides/content.aspx?g=cplusplus&seqNum=481
[5] :
http://www.open-std.org/JTC1/SC22/WG21/docs/papers/2009/n2855.html#noexcept-block
--
Stop Software Patents
http://petition.stopsoftwarepatents.eu/841006602158/
http://www.ffii.org/
[ comp.std.c++ is moderated. To submit articles, try posting with your ]
[ newsreader. If that fails, use mailto:std-cpp-submit@vandevoorde.com ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
[toc] | [next] | [standalone]
| From | "Martin B." <0xCDCDCDCD@gmx.at> |
|---|---|
| Date | 2011-04-28 12:19 -0600 |
| Message-ID | <ipbpeb$7fe$1@dont-email.me> |
| In reply to | #97 |
On 12.04.2011 21:10, Martin B. wrote: > > As the thread [How on earth did noexcept get through the standards > process?][1] on c.l.c++.m has shown, there is a lot of confusion, > disappointment and questions around `noexcept`. > (...) > I think the following bullets would help in isolation to clear up some > questions that arose in [1]: > > * Search help: Is there an easy way of searching/finding/obtaining a > list of > all WG21 proposals and papers that deal with `noexcept` and for each to > verify when it was accepted or rejected and why? > > My Google search for this included variations on: noexcept site:http://www.open-std.org/jtc1/sc22/wg21 N2855 site:http://www.open-std.org/jtc1/sc22/wg21 "noexcept block" site:http://www.open-std.org/jtc1/sc22/wg21 ... * Rationale: Why was the noexcept-block, as proposed in [N2855][5], > scraped? > This block would have made it trivial for compilers to statically "enforce" > `noexcept`, just as they "enforce" `const` at the moment. > (...) > Interestingly, N2855 was the *only* reference in papers, minutes and comments I could find wrt. the noexcept-block. Wrt. to statically checking noexcept, I could find one (1) other reference in a side note in N3202 - To which extent can noexcept be deduced? - by Bjarne Stroustrup: (...) First: in general we cannot know if a function throws - that would require (perfect) flow analysis (and in the worst case solving the halting problem). (...) (...) I know that some wants static checking of noexcept, but I don't and I consider static checking not an option for C++0x. I don't even want that discussion now. (...) So it would appear I didn't find any rationale on this (yet), but at least Bjarne "Mr. C++" Stroustrup seemed convinced at one point that statically checking noexcept doesn't make sense at the moment. cheers, Martin -- [ comp.std.c++ is moderated. To submit articles, try posting with your ] [ newsreader. If that fails, use mailto:std-cpp-submit@vandevoorde.com ] [ --- Please see the FAQ before posting. --- ] [ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
[toc] | [prev] | [standalone]
Back to top | Article view | comp.std.c++
csiph-web