summaryrefslogtreecommitdiff
path: root/d3/0d9418080b065ca4db9bfd2c429fe041cef346
blob: c44b41c8e97ca918f5b2822ade4a37f04a76cad9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
Received: from sog-mx-2.v43.ch3.sourceforge.com ([172.29.43.192]
	helo=mx.sourceforge.net)
	by sfs-ml-3.v29.ch3.sourceforge.com with esmtp (Exim 4.76)
	(envelope-from <mh.in.england@gmail.com>) id 1Ws8JO-0006PH-BJ
	for bitcoin-development@lists.sourceforge.net;
	Wed, 04 Jun 2014 10:20:50 +0000
Received-SPF: pass (sog-mx-2.v43.ch3.sourceforge.com: domain of gmail.com
	designates 209.85.219.48 as permitted sender)
	client-ip=209.85.219.48; envelope-from=mh.in.england@gmail.com;
	helo=mail-oa0-f48.google.com; 
Received: from mail-oa0-f48.google.com ([209.85.219.48])
	by sog-mx-2.v43.ch3.sourceforge.com with esmtps (TLSv1:RC4-SHA:128)
	(Exim 4.76) id 1Ws8JN-0005tT-8I
	for bitcoin-development@lists.sourceforge.net;
	Wed, 04 Jun 2014 10:20:50 +0000
Received: by mail-oa0-f48.google.com with SMTP id g18so7537903oah.21
	for <bitcoin-development@lists.sourceforge.net>;
	Wed, 04 Jun 2014 03:20:43 -0700 (PDT)
MIME-Version: 1.0
X-Received: by 10.60.63.110 with SMTP id f14mr55682242oes.8.1401877243590;
	Wed, 04 Jun 2014 03:20:43 -0700 (PDT)
Sender: mh.in.england@gmail.com
Received: by 10.76.71.162 with HTTP; Wed, 4 Jun 2014 03:20:43 -0700 (PDT)
In-Reply-To: <CAAS2fgTM30oFLGpkCwqM5Wf-Crmz5s05X-uWXAiGy9u43nbKvQ@mail.gmail.com>
References: <1401822421.27942.YahooMailNeo@web124505.mail.ne1.yahoo.com>
	<CANEZrP18nf0oK6fbnE59opXxfMdwiOOu4v99iGyXyGo_7NLuYA@mail.gmail.com>
	<CAAS2fgTM30oFLGpkCwqM5Wf-Crmz5s05X-uWXAiGy9u43nbKvQ@mail.gmail.com>
Date: Wed, 4 Jun 2014 18:20:43 +0800
X-Google-Sender-Auth: bRHwjs5xDZ49QP0PfFYM2nnxPpo
Message-ID: <CANEZrP075mWzMEaU72eoYqktrc2VcbyD_Fhb7N0CzvWoAgMYcw@mail.gmail.com>
From: Mike Hearn <mike@plan99.net>
To: Gregory Maxwell <gmaxwell@gmail.com>
Content-Type: multipart/alternative; boundary=001a11c218741f808b04fafffb1b
X-Spam-Score: -0.5 (/)
X-Spam-Report: Spam Filtering performed by mx.sourceforge.net.
	See http://spamassassin.org/tag/ for more details.
	-1.5 SPF_CHECK_PASS SPF reports sender host as permitted sender for
	sender-domain
	0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider
	(mh.in.england[at]gmail.com)
	-0.0 SPF_PASS               SPF: sender matches SPF record
	1.0 HTML_MESSAGE           BODY: HTML included in message
	0.1 DKIM_SIGNED            Message has a DKIM or DK signature,
	not necessarily valid
	-0.1 DKIM_VALID Message has at least one valid DKIM or DK signature
X-Headers-End: 1Ws8JN-0005tT-8I
Cc: "bitcoin-development@lists.sourceforge.net"
	<bitcoin-development@lists.sourceforge.net>, Ron <rdwnj@yahoo.com>
Subject: Re: [Bitcoin-development] # error "Bitcoin cannot be compiled
 without assertions." <<<<NOT
X-BeenThere: bitcoin-development@lists.sourceforge.net
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: <bitcoin-development.lists.sourceforge.net>
List-Unsubscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=unsubscribe>
List-Archive: <http://sourceforge.net/mailarchive/forum.php?forum_name=bitcoin-development>
List-Post: <mailto:bitcoin-development@lists.sourceforge.net>
List-Help: <mailto:bitcoin-development-request@lists.sourceforge.net?subject=help>
List-Subscribe: <https://lists.sourceforge.net/lists/listinfo/bitcoin-development>,
	<mailto:bitcoin-development-request@lists.sourceforge.net?subject=subscribe>
X-List-Received-Date: Wed, 04 Jun 2014 10:20:50 -0000

--001a11c218741f808b04fafffb1b
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

>
> As a matter of procedure we do not use assertions with side effects=E2=80=
=94 the
> codebase did at one point, but have cleaned them up.  In an abundance of
> caution we also made it refuse to compile without assertions enabled: A
> decision who's wisdom was clearly demonstrated when not long after, some
> additional side-effect having assert was contributed. In the real world
> errors happen here and there, and making robust software involves defense
> in depth.
>

I think this class of errors could be removed entirely by just saying it's
OK for assertions to have side effects and requiring them to be enabled, as
is currently done.

The glog library:

http://google-glog.googlecode.com/svn/trunk/doc/glog.html

provides CHECK macros that print stack traces when they fail. Using them
would also be good.

--001a11c218741f808b04fafffb1b
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><blo=
ckquote class=3D"gmail_quote" style=3D"margin:0px 0px 0px 0.8ex;border-left=
-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;paddi=
ng-left:1ex">
<div dir=3D"ltr"><div class=3D"gmail_extra"><div class=3D"gmail_quote"><div=
><div class=3D"h5"><div><span style=3D"color:rgb(34,34,34)">As a matter of =
procedure we do not use assertions with side effects=E2=80=94 the codebase =
did at one point, but have cleaned them up.=C2=A0 In an abundance of cautio=
n we also made it refuse to compile without assertions enabled: A decision =
who&#39;s wisdom was clearly demonstrated when not long after, some additio=
nal side-effect having assert was contributed. In the real world errors hap=
pen here and there, and making robust software involves defense in depth.</=
span></div>
</div></div></div></div></div></blockquote><div><br></div><div>I think this=
 class of errors could be removed entirely by just saying it&#39;s OK for a=
ssertions to have side effects and requiring them to be enabled, as is curr=
ently done.</div>
<div><br></div><div>The glog library:</div><div><br></div><div><a href=3D"h=
ttp://google-glog.googlecode.com/svn/trunk/doc/glog.html">http://google-glo=
g.googlecode.com/svn/trunk/doc/glog.html</a><br></div><div><br></div><div>
provides CHECK macros that print stack traces when they fail. Using them wo=
uld also be good.</div></div></div></div>

--001a11c218741f808b04fafffb1b--