This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
ping On 09/04/2013 05:05 PM, Eric Blake wrote: > On 09/04/2013 06:31 AM, Eric Blake wrote: >> [just now noticing an old thread] >> >> On 06/03/2013 05:05 AM, Colin Watson wrote: >>> I get these warnings from a project using Gnulib 20130529: >>> >>> glob.c:165:1: warning: '__leaf__' attribute has no effect on unit local functions [-Wattributes] >>> glob.c:213:1: warning: '__leaf__' attribute has no effect on unit local functions [-Wattributes] >>> glob.c:214:1: warning: '__leaf__' attribute has no effect on unit local functions [-Wattributes] >>> >>> These are from uses of __THROW on static functions. Is it perhaps worth >>> using (and defining if necessary) __THROWNL instead, which I think would >>> pacify these warnings? >> >> What version of gcc and what CFLAGS were you using? Yes, this is >> probably worth fixing. > > Indeed, reading > http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html states under > 'leaf' that "The attribute has no effect on functions defined within the > current compilation unit.", and therefore __THROWNL is safe to use in > place of __THROW. I propose the following patch to glibc, and will > install a counterpart patch into gnulib: > > From c84321367fb6d1dc35c8d04e075f1315eddcc720 Mon Sep 17 00:00:00 2001 > From: Eric Blake <eblake@redhat.com> > Date: Wed, 4 Sep 2013 17:02:47 -0600 > Subject: [PATCH] glob: silence -Wattribute warnings > > Colin Watson reported that some versions of gcc warn about > attribute leaf used on a static function, since it has no > effect on anything but external functions. > > * posix/glob.c (next_brace_sub, prefix_array, collated_compare): > Use __THROWNL rather than __THROW on static functions. > > Signed-off-by: Eric Blake <eblake@redhat.com> > --- > ChangeLog | 5 +++++ > posix/glob.c | 6 +++--- > 2 files changed, 8 insertions(+), 3 deletions(-) > > diff --git a/ChangeLog b/ChangeLog > index 1f29127..32613ae 100644 > --- a/ChangeLog > +++ b/ChangeLog > @@ -1,3 +1,8 @@ > +2013-09-04 Eric Blake <eblake@redhat.com> > + > + * posix/glob.c (next_brace_sub, prefix_array, collated_compare): > + Use __THROWNL rather than __THROW on static functions. > + > 2013-09-04 Joseph Myers <joseph@codesourcery.com> > > * conform/conformtest.pl (newtoken): Treat tokens not allowed as > diff --git a/posix/glob.c b/posix/glob.c > index 4c7dce5..ece71c1 100644 > --- a/posix/glob.c > +++ b/posix/glob.c > @@ -193,7 +193,7 @@ > # define GET_LOGIN_NAME_MAX() (-1) > #endif > > -static const char *next_brace_sub (const char *begin, int flags) __THROW; > +static const char *next_brace_sub (const char *begin, int flags) __THROWNL; > > #endif /* !defined _LIBC || !defined GLOB_ONLY_P */ > > @@ -208,8 +208,8 @@ extern int __glob_pattern_type (const char *pattern, > int quote) > attribute_hidden; > > #if !defined _LIBC || !defined GLOB_ONLY_P > -static int prefix_array (const char *prefix, char **array, size_t n) > __THROW; > -static int collated_compare (const void *, const void *) __THROW; > +static int prefix_array (const char *prefix, char **array, size_t n) > __THROWNL; > +static int collated_compare (const void *, const void *) __THROWNL; > > > /* Find the end of the sub-pattern in a brace expression. */ > -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org
Attachment:
signature.asc
Description: OpenPGP digital signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |