emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: warnings in win32 builds from trunk


From: Eli Zaretskii
Subject: Re: warnings in win32 builds from trunk
Date: Sun, 03 Apr 2022 09:17:29 +0300

> From: Corwin Brust <corwin@bru.st>
> Date: Sat, 2 Apr 2022 18:33:27 -0500
> 
> Attempting to build a snapshot from the master branch today I noticed
> some warnings.  Here they are; please let me know if there's else I
> might helpfully do to troubleshoot/debug these (e.g. open a bug
> report).

Please file a bug report for each one of them.

> In file included from C:/Users/corwi/emacs-build/git/master/src/process.c:33:
> C:/Users/corwi/emacs-build/git/master/src/process.c: In function
> 'Fmake_process':
> C:/Users/corwi/emacs-build/git/master/src/lisp.h:1649:31: warning:
> null pointer dereference [-Wnull-dereference]
>  1649 |   return XSTRING (string)->u.s.data;
>       |          ~~~~~~~~~~~~~~~~~~~~~^~~~~

Line 1649 of lisp.h is inside SDATA.  But since Fmake_process doesn't
call SDATA directly, I don't know which string object is this about.
(Really, the compiler should do a better job when reporting such
issues, by showing all the relevant source locations.)

> C:/Users/corwi/emacs-build/git/master/src/w32menu.c: In function
> 'set_frame_menubar':
> C:/Users/corwi/emacs-build/git/master/src/w32menu.c:324:9: warning:
> 'memcpy' offset [3, 10] from the object at '<unknown>' is out of the
> bounds of referenced subobject 'contents' with type 'struct Lisp_X
> *[]' at offset 3 [-Warray-bounds]
>   324 |         memcpy (previous_items, XVECTOR 
> (f->menu_bar_vector)->contents,
>       |         
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>   325 |                 previous_menu_items_used * word_size);
>       |                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> In file included from C:/Users/corwi/emacs-build/git/master/src/w32menu.c:26:
> C:/Users/corwi/emacs-build/git/master/src/lisp.h:1725:17: note:
> subobject 'contents' declared here
>  1725 |     Lisp_Object contents[FLEXIBLE_ARRAY_MEMBER];
>       |                 ^~~~~~~~

This is some general problem with FLEXIBLE_ARRAY_MEMBER, not specific
to w32.  Sounds like latest compilers don't like that.  Are you
building with custom compiler switches, per chance?

> C:/Users/corwi/emacs-build/git/master/src/w32heap.c: In function 'getrlimit':
> C:/Users/corwi/emacs-build/git/master/src/w32heap.c:853:14: warning:
> 'm' may be used uninitialized [-Wmaybe-uninitialized]
>   853 |         if (!VirtualQuery ((LPCVOID) &m, &m, sizeof m))
>       |              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

This is a bogus warning, ignore it.  The compiler doesn't understand
the semantics of VirtualQuery.

Thanks.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]