* Yves-Alexis Perez <[email protected]> [2016-01-20 08:25]:
> > Note that only the first error is reported; there might be more.  You
> > can find a snapshot of GCC 6 in experimental.  To build with GCC 6,
> > you can set CC=gcc-6 CXX=g++-6 explicitly.
> 
> Could you add a bit more information about this, especially the new options
> etc?

You can find some of that here:
https://gcc.gnu.org/gcc-6/changes.html

> > > glib-2.0 
> > > libsystem.c: In function 'getpwnam':
> > > libsystem.c:859:14: error: nonnull argument 'name' compared to NULL 
> > > [-Werror=nonnull]
> > >      if (name == NULL)
> 
> This looks spurious. It's usually considered a *good* idea to check for NULL
> pointer, so I don't understand the error. Also, the code is:

I'm no expert with this, but /usr/include/pwd.h defines:
extern struct passwd *getpwnam (const char *__name) __nonnull ((1));

Looking at the preprocessed source of libsystem I see this e.g.
extern struct passwd *getpwnam (const char *__name) __attribute__ ((__nonnull__ 
(1)));
extern int __attribute__((__nonnull__ (1))) pam_end(pam_handle_t *pamh, int 
pam_status);

so it's marked as __nonnull__ but then you're checking if it's NULL,
and this is what this warning is about (error because of -Werror).

You can find more info about this warning and the rationale here:
https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00621.html

> So:
> 
> - I fail to see how the compiler can statically know name is NULL

Because of __nonnull__.

-- 
Martin Michlmayr
Linux for HPE Helion, Hewlett Packard Enterprise

_______________________________________________
Pkg-xfce-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-xfce-devel

Reply via email to