diff mbox

[DOC] symbol rename pragmas

Message ID 5371412C.1010600@LimeGreenSocks.com
State New
Headers show

Commit Message

David Wohlferd May 12, 2014, 9:46 p.m. UTC
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 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.

ChangeLog:
2014-05-12  David Wohlferd <dw@LimeGreenSocks.com>

         * doc/extend.texi: Reflect current pragma count and remove 
"Solaris."

dw

Comments

Gerald Pfeifer May 12, 2014, 10:38 p.m. UTC | #1
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
Rainer Orth May 13, 2014, 5:56 a.m. UTC | #2
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
diff mbox

Patch

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