<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>
<channel>
	<title>Comments on: sizeof(void) == 1</title>
	<atom:link href="http://blog.not-a-kernel-guy.com/2007/08/20/223/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.not-a-kernel-guy.com/2007/08/20/223</link>
	<description>... in the Windows kernel team</description>
	<pubDate>Thu, 08 Jan 2009 17:40:43 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Not a kernel guy</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/20/223/comment-page-1#comment-8250</link>
		<dc:creator>Not a kernel guy</dc:creator>
		<pubDate>Fri, 24 Aug 2007 16:00:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/20/223#comment-8250</guid>
		<description>&#160;&lt;blockquote&gt;потому как кто очень хочет — соберёт сам&lt;/blockquote&gt;

Из "соберет себе сам" не получится бета только при условии, что сами разработчики объявили данную версию исходников "stable". В случае MinGW последняя стабильная версия 3.4.2. А 4.2.1 - бета, и самостоятельная сборка этого обстоятельства не изменяет.</description>
		<content:encoded><![CDATA[<p>&nbsp;<br />
<blockquote>потому как кто очень хочет — соберёт сам</p></blockquote>
<p>Из &#8220;соберет себе сам&#8221; не получится бета только при условии, что сами разработчики объявили данную версию исходников &#8220;stable&#8221;. В случае MinGW последняя стабильная версия 3.4.2. А 4.2.1 - бета, и самостоятельная сборка этого обстоятельства не изменяет.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zg</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/20/223/comment-page-1#comment-8241</link>
		<dc:creator>zg</dc:creator>
		<pubDate>Fri, 24 Aug 2007 09:46:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/20/223#comment-8241</guid>
		<description>&lt;blockquote&gt;А 4.x у них всё еще числится бетой.&lt;/blockquote&gt;так реально и есть.  версиями gcc x.0.x/x.1.x можно пользоваться разве что для тестов. я вон с 2.95 переходил сразу на 3.3.1, потому что всё предыдущее из 3.* собирало мои проекты с ошибками. по этой же причине не было и официальных mingw сборок 4-ки до версии 4.2.1. потому как кто очень хочет — соберёт сам, а остальные только зафлудят рассылку репортом багов. да и 4.2.1 — не чистая версия, а содержит патчи их 4.3.0.</description>
		<content:encoded><![CDATA[<blockquote><p>А 4.x у них всё еще числится бетой.</p></blockquote>
<p>так реально и есть.  версиями gcc x.0.x/x.1.x можно пользоваться разве что для тестов. я вон с 2.95 переходил сразу на 3.3.1, потому что всё предыдущее из 3.* собирало мои проекты с ошибками. по этой же причине не было и официальных mingw сборок 4-ки до версии 4.2.1. потому как кто очень хочет — соберёт сам, а остальные только зафлудят рассылку репортом багов. да и 4.2.1 — не чистая версия, а содержит патчи их 4.3.0.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Not a kernel guy</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/20/223/comment-page-1#comment-8240</link>
		<dc:creator>Not a kernel guy</dc:creator>
		<pubDate>Fri, 24 Aug 2007 06:02:16 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/20/223#comment-8240</guid>
		<description>Именно эту версию GCC из MinGW автоматический инсталлятор предлагает в качестве current. А 4.x у них всё еще числится бетой.</description>
		<content:encoded><![CDATA[<p>Именно эту версию GCC из MinGW автоматический инсталлятор предлагает в качестве current. А 4.x у них всё еще числится бетой.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: zg</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/20/223/comment-page-1#comment-8237</link>
		<dc:creator>zg</dc:creator>
		<pubDate>Thu, 23 Aug 2007 21:35:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/20/223#comment-8237</guid>
		<description>откуда такая склонность к мазохизму? что мешает использовать 3.4.6 или хотя бы 4.2.1?</description>
		<content:encoded><![CDATA[<p>откуда такая склонность к мазохизму? что мешает использовать 3.4.6 или хотя бы 4.2.1?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eugene Golushkov</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/20/223/comment-page-1#comment-8223</link>
		<dc:creator>Eugene Golushkov</dc:creator>
		<pubDate>Wed, 22 Aug 2007 08:19:59 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/20/223#comment-8223</guid>
		<description>GCC вообще довольно глючный компилятор. Это я говорю ответственно, так как он - системный компилятор под Mac OS X, и избежать его использования я не могу. Вот эта вариация

$ gcc --version
powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)
Copyright (C) 2005 Free Software Foundation, Inc.

имеет замечательный баг - static_cast теряет модификаторы const, что приводит к проблемам при выборе перегруженных функций и инстанциации шаблонов. Причем проблема появилась в версии 4.0, в версии 3.3 ее нет.</description>
		<content:encoded><![CDATA[<p>GCC вообще довольно глючный компилятор. Это я говорю ответственно, так как он - системный компилятор под Mac OS X, и избежать его использования я не могу. Вот эта вариация</p>
<p>$ gcc &#8211;version<br />
powerpc-apple-darwin8-gcc-4.0.1 (GCC) 4.0.1 (Apple Computer, Inc. build 5367)<br />
Copyright (C) 2005 Free Software Foundation, Inc.</p>
<p>имеет замечательный баг - static_cast теряет модификаторы const, что приводит к проблемам при выборе перегруженных функций и инстанциации шаблонов. Причем проблема появилась в версии 4.0, в версии 3.3 ее нет.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Not a kernel guy</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/20/223/comment-page-1#comment-8219</link>
		<dc:creator>Not a kernel guy</dc:creator>
		<pubDate>Tue, 21 Aug 2007 15:02:23 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/20/223#comment-8219</guid>
		<description>Интересно. :-)

&lt;blockquote&gt;Ну и на последок: если компилировать этот код как “pure C”, а не C++, то действительно никаких предупреждений не выдаётся. Но против этого есть -pedantic.&lt;/blockquote&gt;

Да, с -predantic выдаются предупреждения:

&lt;pre&gt;&lt;code class="no-highlight"&gt;rabbit.c: In function `main':
rabbit.c:7: warning: invalid application of `sizeof' to a void type
rabbit.c:11: warning: pointer of type `void *' used in arithmetic&lt;/code&gt;&lt;/pre&gt;</description>
		<content:encoded><![CDATA[<p>Интересно. <img src='http://blog.not-a-kernel-guy.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<blockquote><p>Ну и на последок: если компилировать этот код как “pure C”, а не C++, то действительно никаких предупреждений не выдаётся. Но против этого есть -pedantic.</p></blockquote>
<p>Да, с -predantic выдаются предупреждения:</p>
<pre><code class="no-highlight">rabbit.c: In function `main':
rabbit.c:7: warning: invalid application of `sizeof' to a void type
rabbit.c:11: warning: pointer of type `void *' used in arithmetic</code></pre>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bacek</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/20/223/comment-page-1#comment-8218</link>
		<dc:creator>Bacek</dc:creator>
		<pubDate>Tue, 21 Aug 2007 10:36:15 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/20/223#comment-8218</guid>
		<description>Ну и на последок: если компилировать этот код как "pure C", а не C++, то действительно никаких предупреждений не выдаётся. Но против этого есть -pedantic.</description>
		<content:encoded><![CDATA[<p>Ну и на последок: если компилировать этот код как &#8220;pure C&#8221;, а не C++, то действительно никаких предупреждений не выдаётся. Но против этого есть -pedantic.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bacek</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/20/223/comment-page-1#comment-8217</link>
		<dc:creator>Bacek</dc:creator>
		<pubDate>Tue, 21 Aug 2007 07:31:07 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/20/223#comment-8217</guid>
		<description>Не поленился таки. Взял из заначки gcc 3.2.

[vasily@hyatt:~]$ gcc32 t.cc 
t.cc: In function `int main()':
t.cc:7: ISO C++ forbids applying `sizeof' to type `void' which is an incomplete 
   type
t.cc:11: pointer of type `void *' used in arithmetic
[vasily@hyatt:~]$ gcc32 --version
gcc32 (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-47.fc4)
Copyright (C) 2002 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Это в mingw чего-то поломали.</description>
		<content:encoded><![CDATA[<p>Не поленился таки. Взял из заначки gcc 3.2.</p>
<p>[vasily@hyatt:~]$ gcc32 t.cc<br />
t.cc: In function `int main()&#8217;:<br />
t.cc:7: ISO C++ forbids applying `sizeof&#8217; to type `void&#8217; which is an incomplete<br />
   type<br />
t.cc:11: pointer of type `void *&#8217; used in arithmetic<br />
[vasily@hyatt:~]$ gcc32 &#8211;version<br />
gcc32 (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-47.fc4)<br />
Copyright (C) 2002 Free Software Foundation, Inc.<br />
This is free software; see the source for copying conditions.  There is NO<br />
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</p>
<p>Это в mingw чего-то поломали.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bacek</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/20/223/comment-page-1#comment-8215</link>
		<dc:creator>Bacek</dc:creator>
		<pubDate>Tue, 21 Aug 2007 06:51:02 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/20/223#comment-8215</guid>
		<description>Не, соврал. В 2004-м...</description>
		<content:encoded><![CDATA[<p>Не, соврал. В 2004-м&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bacek</title>
		<link>http://blog.not-a-kernel-guy.com/2007/08/20/223/comment-page-1#comment-8214</link>
		<dc:creator>Bacek</dc:creator>
		<pubDate>Tue, 21 Aug 2007 06:50:25 +0000</pubDate>
		<guid isPermaLink="false">http://blog.not-a-kernel-guy.com/2007/08/20/223#comment-8214</guid>
		<description>Ветка gcc 3.4 выпущена в 2005 году. Много воды утекло с тех пор...

[vasily@waters:~]$ cat &#62; t.cc
#include 

int main()
{
    void* ptr;

    printf("sizeof(void): %d\n", sizeof(void));

    ptr = 0;
    printf("before increment: %p\n", ptr);
    ptr += 1;
    printf("after increment: %p\n", ptr);

    return 0;
}

[vasily@waters:~]$ gcc t.cc
t.cc: In function ‘int main()’:
t.cc:7: error: invalid application of ‘sizeof’ to a void type
t.cc:11: error: pointer of type ‘void *’ used in arithmetic

[vasily@waters:~]$ gcc --version
gcc (GCC) 4.1.2 20070502 (Red Hat 4.1.2-12)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</description>
		<content:encoded><![CDATA[<p>Ветка gcc 3.4 выпущена в 2005 году. Много воды утекло с тех пор&#8230;</p>
<p>[vasily@waters:~]$ cat &gt; t.cc<br />
#include </p>
<p>int main()<br />
{<br />
    void* ptr;</p>
<p>    printf(&#8221;sizeof(void): %d\n&#8221;, sizeof(void));</p>
<p>    ptr = 0;<br />
    printf(&#8221;before increment: %p\n&#8221;, ptr);<br />
    ptr += 1;<br />
    printf(&#8221;after increment: %p\n&#8221;, ptr);</p>
<p>    return 0;<br />
}</p>
<p>[vasily@waters:~]$ gcc t.cc<br />
t.cc: In function ‘int main()’:<br />
t.cc:7: error: invalid application of ‘sizeof’ to a void type<br />
t.cc:11: error: pointer of type ‘void *’ used in arithmetic</p>
<p>[vasily@waters:~]$ gcc &#8211;version<br />
gcc (GCC) 4.1.2 20070502 (Red Hat 4.1.2-12)<br />
Copyright (C) 2006 Free Software Foundation, Inc.<br />
This is free software; see the source for copying conditions.  There is NO<br />
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
