Topic: OT: Questions on NDEBUG and Assert
Author: noloader@gmail.com
Date: Sat, 2 Feb 2013 12:40:32 -0800 (PST)
Raw View
------=_Part_1229_17730582.1359837632791
Content-Type: text/plain; charset=ISO-8859-1
Hi All,
My apologies for asking on ISO C++ Futures. I did not have any luck in ISO
C++ Standards
(https://groups.google.com/a/isocpp.org/forum/?fromgroups#!topic/std-discussion/ak8e1mzBhGs).
I'm probably going way back in time here, but I have some questions about
NDEBUG and assert(). I hope there are some folks who remember when these
topics and concepts were being discussed by the committee(s).
What was the motivation for NDEBUG?
How was it envisioned to be used or mapped onto configurations (for
example, Debug and Release).
Why was DEBUG never ackowledged?
What was the motivation for assert()?
How was assert() envisioned to be used?
And finally, a deeper philosophical question. I hope it does not stir up
too much commotion:
If there are two configurations - Debug (!NDEBUG) and Release (NDEBUG) - is
it appropriate for production or release code to *not* define NDEBUG and
use assert() to call abort()? Remember, I'm asking in the context of
production software running live - like a DNS Bind server or an Apache Web
server.
I have my opinions, but I'm going to withhold them so I don't taint folks.
Thanks in advance for any insight.
Jeff
--
---
You received this message because you are subscribed to the Google Groups "ISO C++ Standard - Future Proposals" group.
To unsubscribe from this group and stop receiving emails from it, send an email to std-proposals+unsubscribe@isocpp.org.
To post to this group, send email to std-proposals@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/std-proposals/?hl=en.
------=_Part_1229_17730582.1359837632791
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Hi All,<br><br>My apologies for asking on ISO C++ Futures. I did not have a=
ny luck in ISO C++ Standards (https://groups.google.com/a/isocpp.org/forum/=
?fromgroups#!topic/std-discussion/ak8e1mzBhGs).<div><br>I'm probably going =
way back in time here, but I have some questions about NDEBUG and assert().=
I hope there are some folks who remember when these topics and concepts we=
re being discussed by the committee(s).<br><br>What was the motivation for =
NDEBUG?<br><br>How was it envisioned to be used or mapped onto configuratio=
ns (for example, Debug and Release).<br><br>Why was DEBUG never ackowledged=
?<br><br>What was the motivation for assert()?<br><br>How was assert() envi=
sioned to be used?<br><br>And finally, a deeper philosophical question. I h=
ope it does not stir up too much commotion:<br><br>If there are two configu=
rations - Debug (!NDEBUG) and Release (NDEBUG) - is it appropriate for prod=
uction or release code to *not* define NDEBUG and use assert() to call abor=
t()? Remember, I'm asking in the context of production software running liv=
e - like a DNS Bind server or an Apache Web server.<br><br>I have my opinio=
ns, but I'm going to withhold them so I don't taint folks. Thanks in advanc=
e for any insight.<br><br>Jeff<br></div>
<p></p>
-- <br />
<br />
--- <br />
You received this message because you are subscribed to the Google Groups &=
quot;ISO C++ Standard - Future Proposals" group.<br />
To unsubscribe from this group and stop receiving emails from it, send an e=
mail to std-proposals+unsubscribe@isocpp.org.<br />
To post to this group, send email to std-proposals@isocpp.org.<br />
Visit this group at <a href=3D"http://groups.google.com/a/isocpp.org/group/=
std-proposals/?hl=3Den">http://groups.google.com/a/isocpp.org/group/std-pro=
posals/?hl=3Den</a>.<br />
<br />
<br />
------=_Part_1229_17730582.1359837632791--
.