This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [wwwdocs] Entry for PR 18160 in changes.html
On Sat, 13 Nov 2004, Adam Nemet wrote:
How about this? It still passes the validator.
Thanks, this looks fine!
There were CVS conflicts when applying the second hunk, and a minor
indentation issue in the <pre> environment, so I went ahead and committed
the following, slightly updated patch.
Gerald
Index: changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.0/changes.html,v
retrieving revision 1.15
diff -u -3 -p -r1.15 changes.html
--- changes.html 2 Nov 2004 10:48:55 -0000 1.15
+++ changes.html 14 Nov 2004 21:29:27 -0000
@@ -100,6 +100,9 @@
deprecated in 3.4, has been removed.</li>
<li><code>#pragma pack()</code> semantics have been brought closer to
those used by other compilers. This also applies to C++.</li>
+ <li>Taking the address of a variable with <code>register</code>
+ storage is invalid in C. GCC now issues an error instead of a
+ warning.</li>
</ul>
<h3>C++</h3>
@@ -144,6 +147,17 @@
want to disable this by specifying
<code>-fno-threadsafe-statics</code> for a small savings in code
size.</li>
+
+ <li>Taking the address of an explicit register variable is no
+ longer supported. Note that C++ allows taking the address of
+ variables with <code>register</code> storage so this will
+ continue to compile with a warning. For example, assuming
+ that <code>r0</code> is a machine register:
+ <pre>register int foo asm ("r0");
+register int bar;
+&foo; // error, no longer accepted
+&bar; // OK, with a warning</pre></li>
+
<li>G++ has an undocumented extension to virtual function
covariancy rules that allowed the overrider to return a type
that was implicitly convertable to the overridden function's