public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [wwwdocs] gcc-4.6/porting_to.html
@ 2011-03-17  6:51 Benjamin Kosnik
  2011-03-17  7:59 ` Hans-Peter Nilsson
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: Benjamin Kosnik @ 2011-03-17  6:51 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 55 bytes --]


Needs some more work, here's a rough draft.

-benjamin

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 20110316-3.patch --]
[-- Type: text/x-patch, Size: 5180 bytes --]

Index: htdocs/gcc-4.6/porting_to.html
===================================================================
RCS file: htdocs/gcc-4.6/porting_to.html
diff -N htdocs/gcc-4.6/porting_to.html
*** /dev/null	1 Jan 1970 00:00:00 -0000
--- htdocs/gcc-4.6/porting_to.html	17 Mar 2011 06:47:42 -0000
***************
*** 0 ****
--- 1,167 ----
+ <html>
+ 
+ <head>
+ <title>GCC 4.6 Release Series &mdash; Porting to the New Tools</title>
+ </head>
+ 
+ <body>
+ <h1>GCC 4.6 Release Series<br />Porting to the New Tools</h1>
+ 
+ <p>
+ The GCC 4.6 release series differs from previous GCC releases in more
+ than the usual list
+ of <a href="http://gcc.gnu.org/gcc-4.6/changes.html">new
+ features</a>. Some of these changes are a result of bug fixing, and
+ some old behaviors have been intentionally changed in order to support
+ new standards, or relaxed in standards-conforming ways to facilitate
+ compilation or runtime performance. Some of these changes are not
+ visible to the naked eye, and will not cause problems when updating
+ from older GCC versions.
+ </p>
+ 
+ <p>
+ However, some of these changes are visible, and can cause grief to
+ users porting to GCC 4.6. This document is an effort to identify major
+ issues and provide clear solutions in a quick and easily-searched
+ manner. Additions and suggestions for improvement are welcome.
+ </p>
+ 
+ <h3>C language issues</h3>
+ 
+ <h4>New warnings for unused variables and parameters</h4>
+ 
+ <p>
+ The behavior of <code>-Wall</code> has changed and now includes the
+ new warning flags <code>-Wunused-but-set-variable</code> and
+ (with <code>-Wall
+ -Wextra</code>) <code>-Wunused-but-set-parameter</code>. This may
+ result in new warnings in code that compiled cleanly with previous
+ versions of GCC.
+ </p>
+ 
+ <p>
+ For example,
+ </p>
+ 
+ <pre>
+   void fn (void)
+   {
+     int foo;
+     foo = bar ();  /* foo is never used.  */
+   }
+ </pre>
+ 
+ <p>
+ Gives the following diagnostic:
+ </p>
+ 
+ <pre>
+ warning: variable ‘foo’ set but not used [-Wunused-but-set-variable]
+ </pre>
+ 
+ <p> Although these warnings will
+ not result in compilation failure, often <code>-Wall</code> is used in
+ conjunction with <code>-Werror</code> and as a result, new warnings
+ are turned into new errors.
+ </p>
+ 
+ <p>
+ To fix, first see if the unused variable or parameter can be removed
+ without changing the result or logic of the surrounding code. If not,
+ annoate it with <code>__attribute__((__unused__))</code>
+ </p>
+ 
+ <p>As a workaround, remove <code>-Werror</code> until the new warnings
+ are fixed, or for conversion warnings
+ add <code>-Wno-unused-but-set-variable</code>
+ or <code>-Wno-unused-but-set-parameter</code>.
+ </p>
+ 
+ <h4>Strict overflow warnings</h4>
+ 
+ <p>
+ Using the <code>-Wstrict-overflow</code> flag
+ with <code>-Werror</code> and optmization flags above <code>-O2</code>
+ may result in compile errors when using glibc optimizations
+ for <code>strcmp</code>.
+ </p>
+ 
+ <p>
+ For example,
+ </p>
+ 
+ <pre>
+ #include <string.h>
+ void do_rm_rf (const char *p) { if (strcmp (p, "/") == 0) return; }
+ </pre>
+ 
+ <p>
+ Results in the following diagnostic:
+ </p>
+ 
+ <pre>
+ error: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 [-Werror=strict-overflow]
+ </pre>
+ 
+ <p>
+ To work around this, use </code>-D__NO_STRING_INLINES</code>.
+ </p>
+ 
+ <h3>C++ language issues</h3>
+ 
+ <h4>Header dependency changes</h4>
+ 
+ <p>
+ Many of the standard C++ library include files have been edited to no
+ longer include &lt;cstddef&gt; to get <code>namespace std</code>
+ -scoped versions of <code>size_t</code> and <code>ptrdiff_t</code>. 
+ </p>
+ 
+ <p>
+ As such, C++ programs that used the macros <code>NULL</code>
+ or <code>offsetof</code> without including &lt;cstddef&gt; will no
+ longer compile. The diagnostic produced is similar to:
+ </p>
+ 
+ <pre>
+ error: 'ptrdiff_t' does not name a type
+ </pre>
+ 
+ <pre>
+ error: 'size_t' has not been declared
+ </pre>
+ 
+ <pre>
+ error: 'NULL' was not declared in this scope
+ </pre>
+ 
+ <pre>
+ error: there are no arguments to 'offsetof' that depend on a template
+ parameter, so a declaration of 'offsetof' must be available
+ </pre>
+ 
+ <p>
+ Fixing this issue is easy, just include &lt;cstddef&gt;.
+ </p>
+ 
+ <h3>Java issues</h3>
+ 
+ <h3>Links</h3>
+ 
+ <p>
+ Jakub Jelinek, <a href="http://lists.fedoraproject.org/pipermail/devel/2011-February/148523.html">GCC 4.6 related common package rebuild failures (was Re: mass rebuild status)</a>
+ </p>
+ 
+ <p>
+ Matthias Klose, <a href="http://lists.debian.org/debian-devel-announce/2011/02/msg00012.html">prepare to fix build failures with new GCC versions</a>
+ </p>
+ 
+ <p>
+ Jim Meyering, <a href="http://lists.fedoraproject.org/pipermail/devel/2011-March/149355.html">gcc-4.6.0-0.12.fc15.x86_64 breaks strcmp?</a>
+ </p>
+ <!-- ==================================================================== -->
+ 
+ </body>
+ </html>
+   
+  

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wwwdocs] gcc-4.6/porting_to.html
  2011-03-17  6:51 [wwwdocs] gcc-4.6/porting_to.html Benjamin Kosnik
@ 2011-03-17  7:59 ` Hans-Peter Nilsson
  2011-03-17  8:11 ` Jakub Jelinek
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Hans-Peter Nilsson @ 2011-03-17  7:59 UTC (permalink / raw)
  To: Benjamin Kosnik; +Cc: gcc-patches

On Wed, 16 Mar 2011, Benjamin Kosnik wrote:
> Needs some more work, here's a rough draft.

s/Porting to the new tools/Porting to the new version/
?

brgds, H-P

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wwwdocs] gcc-4.6/porting_to.html
  2011-03-17  6:51 [wwwdocs] gcc-4.6/porting_to.html Benjamin Kosnik
  2011-03-17  7:59 ` Hans-Peter Nilsson
@ 2011-03-17  8:11 ` Jakub Jelinek
  2011-03-17 11:45 ` Ryan Hill
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 11+ messages in thread
From: Jakub Jelinek @ 2011-03-17  8:11 UTC (permalink / raw)
  To: Benjamin Kosnik; +Cc: gcc-patches

On Wed, Mar 16, 2011 at 11:51:30PM -0700, Benjamin Kosnik wrote:
> + <p>
> + To fix, first see if the unused variable or parameter can be removed
> + without changing the result or logic of the surrounding code. If not,
> + annoate it with <code>__attribute__((__unused__))</code>

annotate

Also, I think we should mention that casting the var to void is another
option.

And I think it is worth mentioning that sometimes the RHS can have important
side-effects, in which case it is desirable to just drop the LHS and =,
while sometimes the RHS is just uselessly computed and can be dropped
altogether with the assignment and unused variable.

> + <h4>Strict overflow warnings</h4>
> + 
> + <p>
> + Using the <code>-Wstrict-overflow</code> flag
> + with <code>-Werror</code> and optmization flags above <code>-O2</code>
> + may result in compile errors when using glibc optimizations
> + for <code>strcmp</code>.
> + </p>
> + 
> + <p>
> + For example,
> + </p>
> + 
> + <pre>
> + #include <string.h>
> + void do_rm_rf (const char *p) { if (strcmp (p, "/") == 0) return; }
> + </pre>

This has been actually fixed, so we shouldn't mention this.

> + <p>
> + Jim Meyering, <a href="http://lists.fedoraproject.org/pipermail/devel/2011-March/149355.html">gcc-4.6.0-0.12.fc15.x86_64 breaks strcmp?</a>

And this reference too.

Thanks for writing this.

	Jakub

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wwwdocs] gcc-4.6/porting_to.html
  2011-03-17  6:51 [wwwdocs] gcc-4.6/porting_to.html Benjamin Kosnik
  2011-03-17  7:59 ` Hans-Peter Nilsson
  2011-03-17  8:11 ` Jakub Jelinek
@ 2011-03-17 11:45 ` Ryan Hill
  2011-03-17 13:59 ` Matthias Klose
  2011-10-11  8:18 ` Gerald Pfeifer
  4 siblings, 0 replies; 11+ messages in thread
From: Ryan Hill @ 2011-03-17 11:45 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 665 bytes --]

On Wed, 16 Mar 2011 23:51:30 -0700
Benjamin Kosnik <bkoz@redhat.com> wrote:

> Needs some more work, here's a rough draft.

The one I've seen most often other than including cstddef is due to linker
options starting with -- (eg. --export-dynamic, --no-undefined) now being
errors. Previously they were just silently ignored.

The fix of course is to prepend "-Wl," to these flags.

http://gcc.gnu.org/PR46410


-- 
fonts, gcc-porting,                  it makes no sense how it makes no sense
toolchain, wxwidgets                           but i'll take it free anytime
@ gentoo.org                EFFD 380E 047A 4B51 D2BD C64F 8AA8 8346 F9A4 0662

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wwwdocs] gcc-4.6/porting_to.html
  2011-03-17  6:51 [wwwdocs] gcc-4.6/porting_to.html Benjamin Kosnik
                   ` (2 preceding siblings ...)
  2011-03-17 11:45 ` Ryan Hill
@ 2011-03-17 13:59 ` Matthias Klose
  2011-10-11  8:18 ` Gerald Pfeifer
  4 siblings, 0 replies; 11+ messages in thread
From: Matthias Klose @ 2011-03-17 13:59 UTC (permalink / raw)
  To: Benjamin Kosnik; +Cc: gcc-patches

On 17.03.2011 07:51, Benjamin Kosnik wrote:
> 
> Needs some more work, here's a rough draft.
> 
> -benjamin

+ <p>As a workaround, remove <code>-Werror</code> until the new warnings
+ are fixed, or for conversion warnings
+ add <code>-Wno-unused-but-set-variable</code>
+ or <code>-Wno-unused-but-set-parameter</code>.
+ </p>

what about recommending keeping -Werror and adding
-Wno-error=unused-but-set-variable or -Wno-error=unused-but-set-parameter?
Then the warnings remain, but don't cause an error.

  Matthias

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wwwdocs] gcc-4.6/porting_to.html
  2011-03-17  6:51 [wwwdocs] gcc-4.6/porting_to.html Benjamin Kosnik
                   ` (3 preceding siblings ...)
  2011-03-17 13:59 ` Matthias Klose
@ 2011-10-11  8:18 ` Gerald Pfeifer
  2011-10-11 23:12   ` Benjamin Kosnik
  2011-10-24  2:26   ` Gerald Pfeifer
  4 siblings, 2 replies; 11+ messages in thread
From: Gerald Pfeifer @ 2011-10-11  8:18 UTC (permalink / raw)
  To: Benjamin Kosnik; +Cc: gcc-patches

Hi Benjamin,

On Wed, 16 Mar 2011, Benjamin Kosnik wrote:
> Needs some more work, here's a rough draft.

I realized this one hasn't made it in, but is really nice.  I made a 
number of minor edits (typos, markup, simplifying headings,... among 
others).  What do you think -- should we include this?

Many users still won't have GCC 4.6 deployed yet, so I think it's
still worth it.

What do you think?

Gerald

Index: porting_to.html
===================================================================
RCS file: porting_to.html
diff -N porting_to.html
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ porting_to.html	11 Oct 2011 04:47:14 -0000
@@ -0,0 +1,142 @@
+<html>
+
+<head>
+<title>Porting to GCC 4.6</title>
+</head>
+
+<body>
+<h1>Porting to GCC 4.6</h1>
+
+<p>
+The GCC 4.6 release series differs from previous GCC releases in more
+than the usual list of
+<a href="http://gcc.gnu.org/gcc-4.6/changes.html">changes</a>. Some of
+these are a result of bug fixing, and some old behaviors have been
+intentionally changed in order to support new standards, or relaxed
+instandards-conforming ways to facilitate compilation or runtime
+performance.  Some of these changes are not visible to the naked eye
+and will not cause problems when updating from older versions.
+</p>
+
+<p>
+However, some of these changes are visible, and can cause grief to
+users porting to GCC 4.6. This document is an effort to identify major
+issues and provide clear solutions in a quick and easily searched
+manner. Additions and suggestions for improvement are welcome.
+</p>
+
+<h2>C language issues</h2>
+
+<h3>New warnings for unused variables and parameters</h3>
+
+<p>
+The behavior of <code>-Wall</code> has changed and now includes the
+new warning flags <code>-Wunused-but-set-variable</code> and
+(with <code>-Wall
+-Wextra</code>) <code>-Wunused-but-set-parameter</code>. This may
+result in new warnings in code that compiled cleanly with previous
+versions of GCC.
+</p>
+
+<p>
+For example,
+<pre>
+  void fn (void)
+  {
+    int foo;
+    foo = bar ();  /* foo is never used.  */
+  }
+</pre>
+Gives the following diagnostic:
+<pre>
+warning: variable "foo" set but not used [-Wunused-but-set-variable]
+</pre>
+</p>
+low</code> flag
+with <code>-Werror</code> and optimization flags above <code>-O2</code>
+may result in compile errors when using glibc optimizations
+for <code>strcmp</code>.
+</p>
+
+<p>
+For example,
+<pre>
+#include <string.h>
+void do_rm_rf (const char *p) { if (strcmp (p, "/") == 0) return; }
+</pre>
+Results in the following diagnostic:
+<pre>
+error: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 [-Werror=strict-overflow]
+</pre>
+</p>
+
+<p>
+To work around this, use <code>-D__NO_STRING_INLINES</code>.
+</p>
+
+<h2>C++ language issues</h2>
+
+<h3>Header dependency changes</h3>
+
+<p>
+Many of the standard C++ library include files have been edited to no
+longer include &lt;cstddef&gt; to get <code>namespace std</code>
+-scoped versions of <code>size_t</code> and <code>ptrdiff_t</code>. 
+</p>
+
+<p>
+As such, C++ programs that used the macros <code>NULL</code>
+or <code>offsetof</code> without including &lt;cstddef&gt; will no
+longer compile. The diagnostic produced is similar to:
+</p>
+
+<pre>
+error: 'ptrdiff_t' does not name a type
+</pre>
+
+<pre>
+error: 'size_t' has not been declared
+</pre>
+
+<pre>
+error: 'NULL' was not declared in this scope
+</pre>
+
+<pre>
+error: there are no arguments to 'offsetof' that depend on a template
+parameter, so a declaration of 'offsetof' must be available
+</pre>
+
+<p>
+Fixing this issue is easy: just include &lt;cstddef&gt;.
+</p>
+
+<!-- 
+<h3>Java issues</h3>
+-->
+
+<h3>Links</h3>
+
+<p>
+Jakub Jelinek,
+ <a href="http://lists.fedoraproject.org/pipermail/devel/2011-February/148523.html">GCC
+4.6 related common package rebuild failures (was Re: mass rebuild status)</a>
+</p>
+
+<p>
+Matthias Klose,
+<a href="http://lists.debian.org/debian-devel-announce/2011/02/msg00012.html">prepare
+to fix build failures with new GCC versions</a>
+</p>
+
+<p>
+Jim Meyering,
+ <a href="http://lists.fedoraproject.org/pipermail/devel/2011-March/149355.html">gcc-4.6.0-0.12.fc15.x86_64 breaks strcmp?</a>
+</p>
+
+<!-- ==================================================================== -->
+
+</body>
+</html>
+  
+ 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wwwdocs] gcc-4.6/porting_to.html
  2011-10-11  8:18 ` Gerald Pfeifer
@ 2011-10-11 23:12   ` Benjamin Kosnik
  2011-10-13  3:37     ` Gerald Pfeifer
  2011-10-24  2:26   ` Gerald Pfeifer
  1 sibling, 1 reply; 11+ messages in thread
From: Benjamin Kosnik @ 2011-10-11 23:12 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: gcc-patches


> I realized this one hasn't made it in, but is really nice.  I made a 
> number of minor edits (typos, markup, simplifying headings,... among 
> others).  What do you think -- should we include this?
> 
> Many users still won't have GCC 4.6 deployed yet, so I think it's
> still worth it.
> 
> What do you think?

Ouch. I see this is not in, and I though I checked in the draft months
ago. 

Please check this in immediately!!!

-benjamin

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wwwdocs] gcc-4.6/porting_to.html
  2011-10-11 23:12   ` Benjamin Kosnik
@ 2011-10-13  3:37     ` Gerald Pfeifer
  2011-11-20 10:09       ` Gerald Pfeifer
  0 siblings, 1 reply; 11+ messages in thread
From: Gerald Pfeifer @ 2011-10-13  3:37 UTC (permalink / raw)
  To: Benjamin Kosnik; +Cc: gcc-patches

On Tue, 11 Oct 2011, Benjamin Kosnik wrote:
>> Many users still won't have GCC 4.6 deployed yet, so I think it's
>> still worth it.
> Ouch. I see this is not in, and I though I checked in the draft months 
> ago.
> 
> Please check this in immediately!!!

Done last evening, and made some further tweaks.

For reference hre is the full patch that's now live on the system.

Gerald


Index: porting_to.html
===================================================================
RCS file: porting_to.html
diff -N porting_to.html
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ porting_to.html	12 Oct 2011 16:16:54 -0000	1.3
@@ -0,0 +1,150 @@
+<html>
+
+<head>
+<title>Porting to GCC 4.6</title>
+</head>
+
+<body>
+<h1>Porting to GCC 4.6</h1>
+
+<p>
+The GCC 4.6 release series differs from previous GCC releases in more
+than the usual list of
+<a href="http://gcc.gnu.org/gcc-4.6/changes.html">changes</a>. Some of
+these are a result of bug fixing, and some old behaviors have been
+intentionally changed in order to support new standards, or relaxed
+instandards-conforming ways to facilitate compilation or runtime
+performance.  Some of these changes are not visible to the naked eye
+and will not cause problems when updating from older versions.
+</p>
+
+<p>
+However, some of these changes are visible, and can cause grief to
+users porting to GCC 4.6. This document is an effort to identify major
+issues and provide clear solutions in a quick and easily searched
+manner. Additions and suggestions for improvement are welcome.
+</p>
+
+<h2>C language issues</h2>
+
+<h3>New warnings for unused variables and parameters</h3>
+
+<p>
+The behavior of <code>-Wall</code> has changed and now includes the
+new warning flags <code>-Wunused-but-set-variable</code> and
+(with <code>-Wall
+-Wextra</code>) <code>-Wunused-but-set-parameter</code>. This may
+result in new warnings in code that compiled cleanly with previous
+versions of GCC.
+</p>
+
+<p>For example,</p>
+<pre>
+  void fn (void)
+  {
+    int foo;
+    foo = bar ();  /* foo is never used.  */
+  }
+</pre>
+<p>Gives the following diagnostic:</p>
+<pre>
+warning: variable "foo" set but not used [-Wunused-but-set-variable]
+</pre>
+
+<p>Although these warnings will not result in compilation failure,
+often <code>-Wall</code> is used in conjunction with
+<code>-Werror</code> and as a result, new warnings are turned into
+new errors.</p>
+ 
+<p>To fix, first see if the unused variable or parameter can be removed
+without changing the result or logic of the surrounding code. If not,
+annotate it with <code>__attribute__((__unused__))</code>.</p>
+ 
+<p>As a workaround, remove <code>-Werror</code> until the new warnings
+are fixed.  For conversion warnings add
+<code>-Wno-unused-but-set-variable</code> or
+<code>-Wno-unused-but-set-parameter</code>.</p>
+
+<h3>Strict overflow warnings</h3>
+
+<p>Using the <code>-Wstrict-overflow</code> flag with
+<code>-Werror</code> and optmization flags above <code>-O2</code>
+may result in compile errors when using glibc optimizations
+for <code>strcmp</code>.</p>
+
+<p>For example,</p>
+<pre>
+#include &lt;string.h&gt;
+void do_rm_rf (const char *p) { if (strcmp (p, "/") == 0) return; }
+</pre>
+<p>Results in the following diagnostic:</p>
+<pre>
+error: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 [-Werror=strict-overflow]
+</pre>
+
+<p>To work around this, use <code>-D__NO_STRING_INLINES</code>.</p>
+
+<h2>C++ language issues</h2>
+
+<h3>Header dependency changes</h3>
+
+<p>
+Many of the standard C++ library include files have been edited to no
+longer include &lt;cstddef&gt; to get <code>namespace std</code>
+-scoped versions of <code>size_t</code> and <code>ptrdiff_t</code>. 
+</p>
+
+<p>
+As such, C++ programs that used the macros <code>NULL</code>
+or <code>offsetof</code> without including &lt;cstddef&gt; will no
+longer compile. The diagnostic produced is similar to:
+</p>
+
+<pre>
+error: 'ptrdiff_t' does not name a type
+</pre>
+
+<pre>
+error: 'size_t' has not been declared
+</pre>
+
+<pre>
+error: 'NULL' was not declared in this scope
+</pre>
+
+<pre>
+error: there are no arguments to 'offsetof' that depend on a template
+parameter, so a declaration of 'offsetof' must be available
+</pre>
+
+<p>
+Fixing this issue is easy: just include &lt;cstddef&gt;.
+</p>
+
+<!-- 
+<h3>Java issues</h3>
+-->
+
+<h3>Links</h3>
+
+<p>
+Jakub Jelinek,
+ <a href="http://lists.fedoraproject.org/pipermail/devel/2011-February/148523.html">GCC
+4.6 related common package rebuild failures (was Re: mass rebuild status)</a>
+</p>
+
+<p>
+Matthias Klose,
+<a href="http://lists.debian.org/debian-devel-announce/2011/02/msg00012.html">prepare
+to fix build failures with new GCC versions</a>
+</p>
+
+<p>
+Jim Meyering,
+ <a href="http://lists.fedoraproject.org/pipermail/devel/2011-March/149355.html">gcc-4.6.0-0.12.fc15.x86_64 breaks strcmp?</a>
+</p>
+
+</body>
+</html>
+  
+ 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wwwdocs] gcc-4.6/porting_to.html
  2011-10-11  8:18 ` Gerald Pfeifer
  2011-10-11 23:12   ` Benjamin Kosnik
@ 2011-10-24  2:26   ` Gerald Pfeifer
  2011-11-15 16:40     ` Richard Sandiford
  1 sibling, 1 reply; 11+ messages in thread
From: Gerald Pfeifer @ 2011-10-24  2:26 UTC (permalink / raw)
  To: Benjamin Kosnik, gcc-patches; +Cc: Jakub Jelinek

On Mon, 10 Oct 2011, Gerald Pfeifer wrote:
> I realized this one hasn't made it in, but is really nice.  I made a 
> number of minor edits (typos, markup, simplifying headings,... among 
> others).  What do you think -- should we include this?

Checking mailing list archives I realized that Jakub had provided
feedback ( http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00987.html )
that the strict overflow warnings had been fixed.

Hence I went ahead and committed the removal below.

Gerald

Index: porting_to.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.6/porting_to.html,v
retrieving revision 1.3
diff -u -r1.3 porting_to.html
--- porting_to.html	12 Oct 2011 16:16:54 -0000	1.3
+++ porting_to.html	24 Oct 2011 00:52:53 -0000
@@ -65,24 +65,6 @@
 <code>-Wno-unused-but-set-variable</code> or
 <code>-Wno-unused-but-set-parameter</code>.</p>
 
-<h3>Strict overflow warnings</h3>
-
-<p>Using the <code>-Wstrict-overflow</code> flag with
-<code>-Werror</code> and optmization flags above <code>-O2</code>
-may result in compile errors when using glibc optimizations
-for <code>strcmp</code>.</p>
-
-<p>For example,</p>
-<pre>
-#include &lt;string.h&gt;
-void do_rm_rf (const char *p) { if (strcmp (p, "/") == 0) return; }
-</pre>
-<p>Results in the following diagnostic:</p>
-<pre>
-error: assuming signed overflow does not occur when changing X +- C1 cmp C2 to X cmp C1 +- C2 [-Werror=strict-overflow]
-</pre>
-
-<p>To work around this, use <code>-D__NO_STRING_INLINES</code>.</p>
 
 <h2>C++ language issues</h2>
 
@@ -139,11 +121,6 @@
 to fix build failures with new GCC versions</a>
 </p>
 
-<p>
-Jim Meyering,
- <a href="http://lists.fedoraproject.org/pipermail/devel/2011-March/149355.html">gcc-4.6.0-0.12.fc15.x86_64 breaks strcmp?</a>
-</p>
-
 </body>
 </html>
   

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wwwdocs] gcc-4.6/porting_to.html
  2011-10-24  2:26   ` Gerald Pfeifer
@ 2011-11-15 16:40     ` Richard Sandiford
  0 siblings, 0 replies; 11+ messages in thread
From: Richard Sandiford @ 2011-11-15 16:40 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: Benjamin Kosnik, gcc-patches, Jakub Jelinek

[Sorry for the delay, catching up after being away]

Gerald Pfeifer <gerald@pfeifer.com> writes:
> On Mon, 10 Oct 2011, Gerald Pfeifer wrote:
>> I realized this one hasn't made it in, but is really nice.  I made a 
>> number of minor edits (typos, markup, simplifying headings,... among 
>> others).  What do you think -- should we include this?
>
> Checking mailing list archives I realized that Jakub had provided
> feedback ( http://gcc.gnu.org/ml/gcc-patches/2011-03/msg00987.html )
> that the strict overflow warnings had been fixed.
>
> Hence I went ahead and committed the removal below.

Thanks for doing this.  I noticed a typo while reading it, so I committed
the patch below as obvious.

Richard


Index: porting_to.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.6/porting_to.html,v
retrieving revision 1.4
diff -u -r1.4 porting_to.html
--- porting_to.html	24 Oct 2011 00:57:54 -0000	1.4
+++ porting_to.html	15 Nov 2011 13:38:10 -0000
@@ -13,7 +13,7 @@
 <a href="http://gcc.gnu.org/gcc-4.6/changes.html">changes</a>. Some of
 these are a result of bug fixing, and some old behaviors have been
 intentionally changed in order to support new standards, or relaxed
-instandards-conforming ways to facilitate compilation or runtime
+in standards-conforming ways to facilitate compilation or runtime
 performance.  Some of these changes are not visible to the naked eye
 and will not cause problems when updating from older versions.
 </p>

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [wwwdocs] gcc-4.6/porting_to.html
  2011-10-13  3:37     ` Gerald Pfeifer
@ 2011-11-20 10:09       ` Gerald Pfeifer
  0 siblings, 0 replies; 11+ messages in thread
From: Gerald Pfeifer @ 2011-11-20 10:09 UTC (permalink / raw)
  To: gcc-patches, Benjamin Kosnik; +Cc: Matthias Klose

On Wed, 12 Oct 2011, Gerald Pfeifer wrote:
> For reference hre is the full patch that's now live on the system.

And this take into account a suggestion by Matthias Klose
(cf. http://gcc.gnu.org/ml/gcc-patches/2011-03/msg01014.html ).

Applied.

Gerald

Index: porting_to.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.6/porting_to.html,v
retrieving revision 1.5
diff -u -r1.5 porting_to.html
--- porting_to.html	15 Nov 2011 13:38:24 -0000	1.5
+++ porting_to.html	19 Nov 2011 16:56:39 -0000
@@ -60,10 +60,9 @@
 without changing the result or logic of the surrounding code. If not,
 annotate it with <code>__attribute__((__unused__))</code>.</p>
  
-<p>As a workaround, remove <code>-Werror</code> until the new warnings
-are fixed.  For conversion warnings add
-<code>-Wno-unused-but-set-variable</code> or
-<code>-Wno-unused-but-set-parameter</code>.</p>
+<p>As a workaround, add 
+<code>-Wno-error=unused-but-set-variable</code> or
+<code>-Wno-error=unused-but-set-parameter</code>.</p>
 
 
 <h2>C++ language issues</h2>

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2011-11-20  2:03 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-17  6:51 [wwwdocs] gcc-4.6/porting_to.html Benjamin Kosnik
2011-03-17  7:59 ` Hans-Peter Nilsson
2011-03-17  8:11 ` Jakub Jelinek
2011-03-17 11:45 ` Ryan Hill
2011-03-17 13:59 ` Matthias Klose
2011-10-11  8:18 ` Gerald Pfeifer
2011-10-11 23:12   ` Benjamin Kosnik
2011-10-13  3:37     ` Gerald Pfeifer
2011-11-20 10:09       ` Gerald Pfeifer
2011-10-24  2:26   ` Gerald Pfeifer
2011-11-15 16:40     ` Richard Sandiford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).