<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<div class="moz-cite-prefix">On 08/12/2013 10:46 AM, Jaak Ristioja
wrote:<br>
</div>
<blockquote cite="mid:5208A0DA.9030704@ristioja.ee" type="cite">
<pre wrap="">-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 12.08.2013 10:34, Troy A. Griffitts wrote:
</pre>
<blockquote type="cite">
<pre wrap="">OK, I've put together a scheme which moves the new version macros
into our swversion.h file. The new scheme goes out to 4 segments
as we support in the SWVersion class. Here are the defines.
Please add your comments and ask question, but I hope these will be
self-explanitory. My only concert about SWORD_VERSION_NUM is the
possible size we might get to if we ever get to 5.0. Don't know
how compilers handle macro checking on values over 4GB.
#define SWORD_VERSION_NUM 106902000
</pre>
</blockquote>
<pre wrap="">
In C++03 preprocessing (translation phase 4) happens before things are
converted into C++ tokens (phase 7). Hence this should cause no
trouble during preprocessing. After that, if the literal without a
suffix fits into an int, it is an int. If it fits into (long int) it
is a long int. Otherwise the behavior is undefined. In case its type
would be a 32-bit signed integer type, our maximum version would be
21.47.483.647.
</pre>
</blockquote>
<br>
I know this is a microsoft site, but I'm not sure we're safe from
their comment: "The <em>constant-expression</em> is an integer
constant expression..." But then in the same section mentions
'long'.<br>
<br>
<a class="moz-txt-link-freetext" href="http://msdn.microsoft.com/en-us/library/ew2hz0yd.aspx">http://msdn.microsoft.com/en-us/library/ew2hz0yd.aspx</a><br>
<br>
Thought?<br>
<br>
<br>
<br>
<br>
</body>
</html>