public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jonathan Wakely <jwakely@redhat.com>
To: Jakub Jelinek <jakub@redhat.com>
Cc: gcc-patches@gcc.gnu.org, libstdc++@gcc.gnu.org
Subject: Re: [committed] Fix -Wmissing-attributes warning in libstdc++ (PR libstdc++/89402)
Date: Fri, 22 Feb 2019 01:47:00 -0000	[thread overview]
Message-ID: <20190222014231.GL13569@redhat.com> (raw)
In-Reply-To: <20190222012348.GA7611@tucnak>

On 22/02/19 02:23 +0100, Jakub Jelinek wrote:
>On Fri, Feb 22, 2019 at 01:10:32AM +0000, Jonathan Wakely wrote:
>> On 20/02/19 09:07 +0100, Jakub Jelinek wrote:
>> > Hi!
>> >
>> > The following patch fixes a warning when building on targets where long
>> > double switched from being the same as double to something wider,
>> > like e.g. powerpc*-linux, alpha*-linux, s390*-linux etc.
>> >
>> > Fixed thusly, bootstrapped/regtested on {x86_64,i686,s390x}-linux and
>> > bootstrapped on powerpc64le-linux, on both s390x and powerpc64le it removed
>> > all
>> > ../../../../libstdc++-v3/src/c++98/compatibility-ldbl.cc:77:17: warning: 'void _ZNKSt4hashIeEclEe()' specifies less restrictive attribute than its target 'std::size_t std::tr1::hash<_Tp>::operator()(_Tp) const [with _Tp = long double]': 'pure' [-Wmissing-attributes]
>> > warnings from the build log.  Preapproved by Jonathan in the PR, committed
>> > to trunk.
>>
>> Now I see:
>>
>> /home/jwakely/src/gcc/libstdc++-v3/src/c++98/compatibility-ldbl.cc:78:65: warning: ‘pure’ attribute on function returning ‘void’ [-Wattributes]
>>   78 |   _GLIBCXX_PURE __attribute__((alias ("_ZNKSt3tr14hashIeEclEe")));
>>      |                                                                 ^
>>
>> We can disable that with a diagnostic pragma.
>
>Oops, sorry, missed that.
>Or make it extern "C" size_t _ZNKSt4hashIeEclEe (long double) or so, after all,
>that is what it returns and what it takes as an argument.

Ah yes, even better.

>> > 2019-02-20  Jakub Jelinek  <jakub@redhat.com>
>> >
>> > 	PR libstdc++/89402
>> > 	* src/c++98/compatibility-ldbl.cc (_ZNKSt4hashIeEclEe): Add
>> > 	_GLIBCXX_PURE to the alias declaration.
>> >
>> > --- libstdc++-v3/src/c++98/compatibility-ldbl.cc.jj	2019-01-01 12:39:41.530606161 +0100
>> > +++ libstdc++-v3/src/c++98/compatibility-ldbl.cc	2019-02-19 16:12:52.402123217 +0100
>> > @@ -75,6 +75,6 @@ namespace std _GLIBCXX_VISIBILITY(defaul
>> > // and std::hash<long double>::operator()
>> > // are the same, no need to duplicate them.
>> > extern "C" void _ZNKSt4hashIeEclEe (void)
>> > -  __attribute__((alias ("_ZNKSt3tr14hashIeEclEe")));
>> > +  _GLIBCXX_PURE __attribute__((alias ("_ZNKSt3tr14hashIeEclEe")));
>> >
>> > #endif
>
>	Jakub

  reply	other threads:[~2019-02-22  1:42 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-20  8:07 Jakub Jelinek
2019-02-22  1:19 ` Jonathan Wakely
2019-02-22  1:47   ` Jakub Jelinek
2019-02-22  1:47     ` Jonathan Wakely [this message]
2019-02-22 16:09   ` Martin Sebor
2019-02-22 19:19     ` [PATCH] Fix -Wattributes " Jakub Jelinek
2019-02-22 19:19       ` Jonathan Wakely

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190222014231.GL13569@redhat.com \
    --to=jwakely@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jakub@redhat.com \
    --cc=libstdc++@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).