Message ID | 5371412C.1010600@LimeGreenSocks.com |
---|---|
State | New |
Headers | show |
On Mon, 12 May 2014, David Wohlferd wrote: > 2014-05-12 David Wohlferd <dw@LimeGreenSocks.com> > > * doc/extend.texi: Reflect current pragma count and remove "Solaris." Thanks, I applied the patch with two changes to the ChangeLog: 1. Two spaces between name and e-mail address per GNU Coding Standard. 2. I rewrote the actual ChangeLog to * doc/extend.texi: Reflect current numbers of pragmas. Remove reference to Solaris. (introducing a typo, "numbers" instead of "number" as I just realize.) Gerald
David Wohlferd <dw@LimeGreenSocks.com> writes: > I don't have permissions to commit this patch, but I do have a release on > file with the FSF. > > Problem description: > The existing docs make reference to the "two #pragma directives that change > the name used in assembly." However, the subsequent text only describes > one. It turns out, "#pragma extern_prefix" was removed in revision 185240 > (March 2012), as part of "Remove obsolete Tru64 UNIX V5.1B support," but > the surrounding text wasn't updated to reflect the new count. Also, while That's my fault, sorry. > the current text makes reference to "compatibility with the Solaris system > headers," the remaining pragma is (according to the existing text) > "currently on all platforms." This makes referring to Solaris both > superfluous and potentially confusing. I disagree: #pragma redefine_extname does exist for Solaris compatibility only, even if it now works on all platforms. So please continue to state so. > ChangeLog: > 2014-05-12 David Wohlferd <dw@LimeGreenSocks.com> > > * doc/extend.texi: Reflect current pragma count and remove > "Solaris." The ChangeLog entry should be formatted like this: * doc/extend.texi (Symbol-Renaming Pragmas): Refect ... This is what Emacs' Change Log mode does for you, otherwise it's hard to see what section your change refers to. Thanks. Rainer
Index: extend.texi =================================================================== --- extend.texi (revision 210298) +++ extend.texi (working copy) @@ -16885,11 +16885,9 @@ @node Symbol-Renaming Pragmas @subsection Symbol-Renaming Pragmas -For compatibility with the Solaris system headers, GCC -supports two @code{#pragma} directives that change the name used in -assembly for a given declaration. To get this effect -on all platforms supported by GCC, use the asm labels extension (@pxref{Asm -Labels}). +GCC supports a @code{#pragma} directive that changes the name used in +assembly for a given declaration. This effect can also be achieved +using the asm labels extension (@pxref{Asm Labels}). @table @code @item redefine_extname @var{oldname} @var{newname} @@ -16901,17 +16899,17 @@ @end table This pragma and the asm labels extension interact in a complicated -manner. Here are some corner cases you may want to be aware of. +manner. Here are some corner cases you may want to be aware of: @enumerate -@item Both pragmas silently apply only to declarations with external +@item This pragma silently applies only to declarations with external linkage. Asm labels do not have this restriction. -@item In C++, both pragmas silently apply only to declarations with +@item In C++, this pragma silently applies only to declarations with ``C'' linkage. Again, asm labels do not have this restriction. -@item If any of the three ways of changing the assembly name of a -declaration is applied to a declaration whose assembly name has +@item If either of the ways of changing the assembly name of a +declaration are applied to a declaration whose assembly name has already been determined (either by a previous use of one of these features, or because the compiler needed the assembly name in order to generate code), and the new name is different, a warning issues and