https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102030

            Bug ID: 102030
           Summary: Optimization turns null ptr true
           Product: gcc
           Version: 10.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: joeedh at gmail dot com
  Target Milestone: ---

Created attachment 51349
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=51349&action=edit
save-temps output

System type: Linux Ubuntu.
GCC version: 10.3.0 and 9.3.1

I'm getting a weird error where a null pointer
is evaluating to true if optimizations are on.

For example

    printf("%p %s\n", ptr, ptr ? "true" : "false");

will print "(nil), true"

I had a fair number of users report the crash caused by
this bug.

Output of code when run:
  == without optimization ==
  1 ob: (nil), true
  2 ob: (nil), false
  3 ob: (nil), false
  4 ob: (nil), false
  ob! (nil)
  == with without optimization ==
  1 ob: (nil), false
  2 ob: (nil), false
  3 ob: (nil), false
  4 ob: (nil), false

Compiler command:

/usr/bin/gcc -save-temps -DNDEBUG -DWITH_ASSERT_ABORT -DWITH_FREESTYLE
-DWITH_GMP -DWITH_INTERNATIONAL -DWITH_OPENGL -D_FILE_OFFSET_BITS=64
-D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -D__LITTLE_ENDIAN__ -D__MMX__
-D__SSE2__ -D__SSE__ -I/home/joeedh/blender/blender/source/blender/bmesh
-I/home/joeedh/blender/blender/source/blender/blenkernel
-I/home/joeedh/blender/blender/source/blender/blenlib
-I/home/joeedh/blender/blender/source/blender/blentranslation
-I/home/joeedh/blender/blender/source/blender/depsgraph
-I/home/joeedh/blender/blender/source/blender/makesdna
-I/home/joeedh/blender/blender/intern/atomic
-I/home/joeedh/blender/blender/source/blender/blenloader
-I/home/joeedh/blender/blender/build/source/blender/makesdna/intern
-I/home/joeedh/blender/blender/intern/eigen
-I/home/joeedh/blender/blender/intern/clog
-I/home/joeedh/blender/blender/intern/guardedalloc
-I/home/joeedh/blender/blender/extern/rangetree -isystem
/home/joeedh/blender/lib/linux_centos7_x86_64/gmp/include -Wall -Wcast-align
-Werror=implicit-function-declaration -Werror=return-type -Werror=vla
-Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts
-Wno-unknown-pragmas -Wpointer-arith -Wunused-parameter -Wwrite-strings
-Wlogical-op -Wundef -Winit-self -Wmissing-include-dirs -Wno-div-by-zero
-Wtype-limits -Wformat-signedness -Wrestrict -Wnonnull -Wabsolute-value
-Wuninitialized -Wredundant-decls -Wshadow -Wno-error=unused-but-set-variable
-Wimplicit-fallthrough=5 -Wno-error=conversion -Wno-error=sign-conversion 
-fuse-ld=gold -std=gnu11 -msse -fPIC -funsigned-char -fno-strict-aliasing
-ffp-contract=off -msse2 -D_GLIBCXX_USE_CXX11_ABI=0
-fmacro-prefix-map="/home/joeedh/blender/blender/"=""
-fmacro-prefix-map="/home/joeedh/blender/blender/build/"=""
-Wno-maybe-uninitialized -O2 -g -DNDEBUG -fopenmp -save-temps -o
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c

Compiler Output:

In file included from
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:106:
/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:
In function ‘mempool_chunk_add’:
/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:260:17:
warning: unused variable ‘prev’ [-Wunused-variable]
  260 |   BLI_freenode *prev = NODE_STEP_PREV(curnode);
      |                 ^~~~
In file included from
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:106:
/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:
In function ‘BLI_mempool_as_tableN’:
/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:648:61:
warning: unused parameter ‘allocstr’ [-Wunused-parameter]
  648 | oid **BLI_mempool_as_tableN(BLI_mempool *pool, const char *allocstr)
      |                                                ~~~~~~~~~~~~^~~~~~~~

/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:
In function ‘BLI_mempool_as_arrayN’:
/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:675:60:
warning: unused parameter ‘allocstr’ [-Wunused-parameter]
  675 | void *BLI_mempool_as_arrayN(BLI_mempool *pool, const char *allocstr)
      |                                                ~~~~~~~~~~~~^~~~~~~~
In file included from
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:106:
/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:
In function ‘BLI_mempool_iterstep’:
/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:788:12:
warning: unused variable ‘freeword’ [-Wunused-variable]
  788 |   intptr_t freeword = 0;
      |            ^~~~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘CustomData_has_layer’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:109:51:
warning: unused parameter ‘cd’ [-Wunused-parameter]
  109 | bool CustomData_has_layer(const struct CustomData *cd, int type) {
      |                          ~~~~~~~~~~~~~~~~~~~~~~~~~^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:109:59:
warning: unused parameter ‘type’ [-Wunused-parameter]
  109 | bool CustomData_has_layer(const struct CustomData *cd, int type) {
      |                                                       ~~~~^~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘CustomData_unmark_temporary_nocopy’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:113:53:
warning: unused parameter ‘cd’ [-Wunused-parameter]
  113 | void CustomData_unmark_temporary_nocopy(CustomData *cd) {
      |                                         ~~~~~~~~~~~~^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘CustomData_mark_temporary_nocopy’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:116:51:
warning: unused parameter ‘cd’ [-Wunused-parameter]
  116 | void CustomData_mark_temporary_nocopy(CustomData *cd) {
      |                                       ~~~~~~~~~~~~^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘BM_mesh_create’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:122:57:
warning: passing argument 4 of ‘BLI_mempool_create’ makes integer from pointer
without a cast [-Wint-conversion]
  122 |  bm->vpool = BLI_mempool_create(sizeof(BMVert), 0, 512, "bm->vpool");
      |                                                         ^~~~~~~~~~~
      |                                                         |
      |                                                         const char *
In file included from
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:106:
/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:400:77:
note: expected ‘unsigned int’ but argument is of type ‘const char *’
  400 | BLI_mempool_create(uint esize, uint totelem, uint pchunk, uint flag)
      |                                                           ~~~~~^~~~

/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:123:57:
warning: passing argument 4 of ‘BLI_mempool_create’ makes integer from pointer
without a cast [-Wint-conversion]
  123 |  bm->epool = BLI_mempool_create(sizeof(BMEdge), 0, 512, "bm->epool");
      |                                                         ^~~~~~~~~~~
      |                                                         |
      |                                                         const char *
In file included from
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:106:
/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:400:77:
note: expected ‘unsigned int’ but argument is of type ‘const char *’
  400 | BLI_mempool_create(uint esize, uint totelem, uint pchunk, uint flag)
      |                                                           ~~~~~^~~~

/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:124:57:
warning: passing argument 4 of ‘BLI_mempool_create’ makes integer from pointer
without a cast [-Wint-conversion]
  124 |  bm->lpool = BLI_mempool_create(sizeof(BMLoop), 0, 512, "bm->lpool");
      |                                                         ^~~~~~~~~~~
      |                                                         |
      |                                                         const char *
In file included from
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:106:
/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:400:77:
note: expected ‘unsigned int’ but argument is of type ‘const char *’
  400 | BLI_mempool_create(uint esize, uint totelem, uint pchunk, uint flag)
      |                                                           ~~~~~^~~~

/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:125:57:
warning: passing argument 4 of ‘BLI_mempool_create’ makes integer from pointer
without a cast [-Wint-conversion]
  125 |  bm->fpool = BLI_mempool_create(sizeof(BMFace), 0, 512, "bm->fpool");
      |                                                         ^~~~~~~~~~~
      |                                                         |
      |                                                         const char *
In file included from
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:106:
/home/joeedh/blender/blender/build/../source/blender/blenlib/intern/BLI_mempool.c:400:77:
note: expected ‘unsigned int’ but argument is of type ‘const char *’
  400 | BLI_mempool_create(uint esize, uint totelem, uint pchunk, uint flag)
      |                                                           ~~~~~^~~~

/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:119:53:
warning: unused parameter ‘template’ [-Wunused-parameter]
  119 | BMesh *BM_mesh_create(const struct BMAllocTemplate *template, const
struct BMeshCreateParams *params) {
      |                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:119:95:
warning: unused parameter ‘params’ [-Wunused-parameter]
  119 | BMAllocTemplate *template, const struct BMeshCreateParams *params) {
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~

/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘BM_data_layer_add’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:137:31:
warning: unused parameter ‘bm’ [-Wunused-parameter]
  137 | void BM_data_layer_add(BMesh *bm, CustomData *cd, int type) {
      |                        ~~~~~~~^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:137:47:
warning: unused parameter ‘cd’ [-Wunused-parameter]
  137 | void BM_data_layer_add(BMesh *bm, CustomData *cd, int type) {
      |                                   ~~~~~~~~~~~~^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:137:55:
warning: unused parameter ‘type’ [-Wunused-parameter]
  137 | void BM_data_layer_add(BMesh *bm, CustomData *cd, int type) {
      |                                                   ~~~~^~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘BM_data_layer_free’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:140:32:
warning: unused parameter ‘bm’ [-Wunused-parameter]
  140 | void BM_data_layer_free(BMesh *bm, CustomData *cd, int type) {
      |                         ~~~~~~~^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:140:48:
warning: unused parameter ‘cd’ [-Wunused-parameter]
  140 | void BM_data_layer_free(BMesh *bm, CustomData *cd, int type) {
      |                                    ~~~~~~~~~~~~^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:140:56:
warning: unused parameter ‘type’ [-Wunused-parameter]
  140 | void BM_data_layer_free(BMesh *bm, CustomData *cd, int type) {
      |                                                    ~~~~^~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: At top
level:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:143:6:
warning: no previous prototype for ‘bm_init_idmap_layers’
[-Wmissing-prototypes]
  143 | void bm_init_idmap_layers(BMesh *bm) {
      |      ^~~~~~~~~~~~~~~~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘bm_init_idmap_layers’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:143:34:
warning: unused parameter ‘bm’ [-Wunused-parameter]
  143 | void bm_init_idmap_layers(BMesh *bm) {
      |                           ~~~~~~~^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘get_multires_modifier’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:281:59:
warning: unused parameter ‘scene’ [-Wunused-parameter]
  281 | ultiresModifierData *get_multires_modifier(struct Scene *scene, Object
*ob, bool state) {
      |                                            ~~~~~~~~~~~~~~^~~~~

/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:281:74:
warning: unused parameter ‘ob’ [-Wunused-parameter]
  281 | Data *get_multires_modifier(struct Scene *scene, Object *ob, bool
state) {
      |                                                  ~~~~~~~~^~

/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:281:82:
warning: unused parameter ‘state’ [-Wunused-parameter]
  281 | get_multires_modifier(struct Scene *scene, Object *ob, bool state) {

/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘BM_mesh_bm_from_me’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:312:17:
warning: unused variable ‘i’ [-Wunused-variable]
  312 |   int totloops, i;
      |                 ^
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:312:7:
warning: unused variable ‘totloops’ [-Wunused-variable]
  312 |   int totloops, i;
      |       ^~~~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:311:10:
warning: unused variable ‘keyco’ [-Wunused-variable]
  311 |   float(*keyco)[3] = NULL;
      |          ^~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:310:16:
warning: unused variable ‘ftable’ [-Wunused-variable]
  310 |   BMFace *f, **ftable = NULL;
      |                ^~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:310:11:
warning: unused variable ‘f’ [-Wunused-variable]
  310 |   BMFace *f, **ftable = NULL;
      |           ^
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:309:16:
warning: unused variable ‘etable’ [-Wunused-variable]
  309 |   BMEdge *e, **etable = NULL;
      |                ^~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:309:11:
warning: unused variable ‘e’ [-Wunused-variable]
  309 |   BMEdge *e, **etable = NULL;
      |           ^
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:308:16:
warning: unused variable ‘vtable’ [-Wunused-variable]
  308 |   BMVert *v, **vtable = NULL;
      |                ^~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:308:11:
warning: unused variable ‘v’ [-Wunused-variable]
  308 |   BMVert *v, **vtable = NULL;
      |           ^
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:307:22:
warning: unused variable ‘block’ [-Wunused-variable]
  307 |   KeyBlock *actkey, *block;
      |                      ^~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:307:13:
warning: unused variable ‘actkey’ [-Wunused-variable]
  307 |   KeyBlock *actkey, *block;
      |             ^~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:306:10:
warning: unused variable ‘mp’ [-Wunused-variable]
  306 |   MPoly *mp;
      |          ^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:305:10:
warning: unused variable ‘mloop’ [-Wunused-variable]
  305 |   MLoop *mloop;
      |          ^~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:304:10:
warning: unused variable ‘medge’ [-Wunused-variable]
  304 |   MEdge *medge;
      |          ^~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:303:10:
warning: unused variable ‘mvert’ [-Wunused-variable]
  303 |   MVert *mvert;
      |          ^~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:301:13:
warning: unused variable ‘is_new’ [-Wunused-variable]
  301 |   const bool is_new = !(bm->totvert || (bm->vdata.totlayer ||
bm->edata.totlayer ||
      |             ^~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:298:37:
warning: unused parameter ‘me’ [-Wunused-parameter]
  298 |                         const Mesh *me,
      |                         ~~~~~~~~~~~~^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: At top
level:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:374:38:
warning: no previous prototype for ‘BM_mesh_bm_from_me_no_opt’
[-Wmissing-prototypes]
  374 | ATTR_NO_OPT void BM_mesh_bm_from_me_no_opt(Object *ob,
      |                                      ^~~~~~~~~~~~~~~~~        
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘BM_mesh_bm_from_me_no_opt’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:390:17:
warning: unused variable ‘i’ [-Wunused-variable]
  390 |   int totloops, i;
      |                 ^
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:390:7:
warning: unused variable ‘totloops’ [-Wunused-variable]
  390 |   int totloops, i;
      |       ^~~~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:389:10:
warning: unused variable ‘keyco’ [-Wunused-variable]
  389 |   float(*keyco)[3] = NULL;
      |          ^~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:388:16:
warning: unused variable ‘ftable’ [-Wunused-variable]
  388 |   BMFace *f, **ftable = NULL;
      |                ^~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:388:11:
warning: unused variable ‘f’ [-Wunused-variable]
  388 |   BMFace *f, **ftable = NULL;
      |           ^
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:387:16:
warning: unused variable ‘etable’ [-Wunused-variable]
  387 |   BMEdge *e, **etable = NULL;
      |                ^~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:387:11:
warning: unused variable ‘e’ [-Wunused-variable]
  387 |   BMEdge *e, **etable = NULL;
      |           ^
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:386:16:
warning: unused variable ‘vtable’ [-Wunused-variable]
  386 |   BMVert *v, **vtable = NULL;
      |                ^~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:386:11:
warning: unused variable ‘v’ [-Wunused-variable]
  386 |   BMVert *v, **vtable = NULL;
      |           ^
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:385:22:
warning: unused variable ‘block’ [-Wunused-variable]
  385 |   KeyBlock *actkey, *block;
      |                      ^~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:385:13:
warning: unused variable ‘actkey’ [-Wunused-variable]
  385 |   KeyBlock *actkey, *block;
      |             ^~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:384:10:
warning: unused variable ‘mp’ [-Wunused-variable]
  384 |   MPoly *mp;
      |          ^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:383:10:
warning: unused variable ‘mloop’ [-Wunused-variable]
  383 |   MLoop *mloop;
      |          ^~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:382:10:
warning: unused variable ‘medge’ [-Wunused-variable]
  382 |   MEdge *medge;
      |          ^~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:381:10:
warning: unused variable ‘mvert’ [-Wunused-variable]
  381 |   MVert *mvert;
      |          ^~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:379:13:
warning: unused variable ‘is_new’ [-Wunused-variable]
  379 |   const bool is_new = !(bm->totvert || (bm->vdata.totlayer ||
bm->edata.totlayer ||
      |             ^~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:376:37:
warning: unused parameter ‘me’ [-Wunused-parameter]
  376 |                         const Mesh *me,
      |                         ~~~~~~~~~~~~^~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘main’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:462:2:
warning: null argument where non-null required (argument 1) [-Wnonnull]
  462 |  BM_mesh_bm_from_me(NULL, bm, me, &params);
      |  ^~~~~~~~~~~~~~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:440:14:
warning: unused parameter ‘argc’ [-Wunused-parameter]
  440 | int main(int argc, char **argv) {
      |          ~~~~^~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:440:27:
warning: unused parameter ‘argv’ [-Wunused-parameter]
  440 | int main(int argc, char **argv) {
      |                    ~~~~~~~^~~~
At top level:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:230:16:
warning: ‘bm_face_create_from_mpoly’ defined but not used [-Wunused-function]
  230 | static BMFace *bm_face_create_from_mpoly(
      |                ^~~~~~~~~~~~~~~~~~~~~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:155:13:
warning: ‘bm_mark_temp_cdlayers’ defined but not used [-Wunused-function]
  155 | static void bm_mark_temp_cdlayers(BMesh *bm)
      |             ^~~~~~~~~~~~~~~~~~~~~
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c: In function
‘BM_mesh_bm_from_me’:
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:357:6:
warning: ‘nonnull’ argument ‘ob’ compared to NULL [-Wnonnull-compare]
  357 |   if (ob) {
      |      ^
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:335:6:
warning: ‘nonnull’ argument ‘ob’ compared to NULL [-Wnonnull-compare]
  335 |   if (ob) {
      |      ^
/home/joeedh/blender/blender/build/bmesh_mesh_convert_bugreport.c:320:3:
warning: ‘nonnull’ argument ‘ob’ compared to NULL [-Wnonnull-compare]
  320 |   printf("1 ob: %p, %s\n", ob, ob ? "true" : "false");
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Reply via email to