aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeoffrey Keating <geoffk@redhat.com>2002-07-31 00:11:31 +0000
committerGeoffrey Keating <geoffk@gcc.gnu.org>2002-07-31 00:11:31 +0000
commit6fd140757c318380907c82ef4c925519c7051332 (patch)
tree28a0555ecbcb796c2feeec69865a8aea68d44e74
parentd8088c6f0717b2b7cfe12122c31c65b9b8eec42c (diff)
downloadgcc-6fd140757c318380907c82ef4c925519c7051332.zip
gcc-6fd140757c318380907c82ef4c925519c7051332.tar.gz
gcc-6fd140757c318380907c82ef4c925519c7051332.tar.bz2
extend.texi (Hints implementation): Document that GCC mostly ignores `register'.
* doc/extend.texi (Hints implementation): Document that GCC mostly ignores `register'. From-SVN: r55890
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/doc/extend.texi21
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 01fd54a..311566b 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2002-07-30 Geoffrey Keating <geoffk@redhat.com>
+
+ * doc/extend.texi (Hints implementation): Document that GCC
+ mostly ignores `register'.
+
2002-07-30 Toon Moene <toon@moene.indiv.nluug.nl>
* flags.h: Declare flag_finite_math_only.
diff --git a/gcc/doc/extend.texi b/gcc/doc/extend.texi
index 6fdf7ff..0ddcb34 100644
--- a/gcc/doc/extend.texi
+++ b/gcc/doc/extend.texi
@@ -248,6 +248,27 @@ of the same array (6.5.6).}
@cite{The extent to which suggestions made by using the @code{register}
storage-class specifier are effective (6.7.1).}
+The @code{register} specifier affects code generation only in these ways:
+
+@itemize @bullet
+@item
+When used as part of the register variable extension, see
+@ref{Explicit Reg Vars}.
+
+@item
+When @option{-O0} is in use, the compiler allocates distinct stack
+memory for all variables that do not have the @code{register}
+storage-class specifier; if @code{register} is specified, the variable
+may have a shorter lifespan than the code would indicate and may never
+be placed in memory.
+
+@item
+On some rare x86 targets, @code{setjmp} doesn't save the registers in
+all circumstances. In those cases, GCC doesn't allocate any variables
+in registers unless they are marked @code{register}.
+
+@end itemize
+
@item
@cite{The extent to which suggestions made by using the inline function
specifier are effective (6.7.4).}