Hello.

I took a moment to run our code through the sparse semantic parser.
https://sparse.wiki.kernel.org/index.php/Main_Page

You can easily do so as well by installing sparse and run "make CC=cgcc" 
to enable the build wrapper.

But now to some actual findings. Really most of it has been noise and i 
reduced it to some things here manually.

Find some remarks on some of the categories inside. If you feel like 
this is on your turf and you either think its false positive or you are 
going to fix it let me know.

lib/eina/eina_fp.c:14:4: warning: constant 0x0000000100000000 is so big 
it is long
lib/eina/eina_fp.c:439:17: warning: constant 0x00000003243f6a89 is so 
big it is long
lib/eina/eina_fp.c:440:17: warning: constant 0x00000003243f6a89 is so 
big it is long
lib/eina/eina_fp.c:441:18: warning: constant 0x00000003243f6a89 is so 
big it is long
lib/eina/eina_fp.c:447:28: warning: constant 0x00000003243f6a89 is so 
big it is long
lib/eina/eina_fp.c:447:46: warning: constant 0x00000003243f6a89 is so 
big it is long
lib/eina/eina_fp.c:453:31: warning: constant 0x00000003243f6a89 is so 
big it is long
lib/eina/eina_fp.c:479:17: warning: constant 0x00000003243f6a89 is so 
big it is long
lib/ecore/ecore_anim.c:583:16: warning: constant 0x00000003243f6a89 is 
so big it is long
lib/ecore/ecore_anim.c:583:16: warning: constant 0x00000003243f6a89 is 
so big it is long
lib/ecore/ecore_anim.c:588:16: warning: constant 0x00000003243f6a89 is 
so big it is long
lib/ecore/ecore_anim.c:593:16: warning: constant 0x00000003243f6a89 is 
so big it is long

-----

lib/eina/eina_rbtree.c:63:33: error: dubious one-bit signed bitfield
lib/eina/eina_thread_queue.c:62:42: error: dubious one-bit signed bitfield
lib/evas/canvas/evas_object_text.c:71:43: error: dubious one-bit signed 
bitfield
lib/evas/canvas/evas_object_text.c:72:46: error: dubious one-bit signed 
bitfield
modules/evas/engines/buffer/evas_engine.h:47:51: error: dubious one-bit 
signed bitfield
modules/evas/engines/buffer/evas_engine.h:48:49: error: dubious one-bit 
signed bitfield
modules/evas/engines/buffer/Evas_Engine_Buffer.h:24:30: error: dubious 
one-bit signed bitfield
modules/evas/engines/buffer/evas_engine.h:47:51: error: dubious one-bit 
signed bitfield
modules/evas/engines/buffer/evas_engine.h:48:49: error: dubious one-bit 
signed bitfield
../src/modules/evas/engines/buffer/Evas_Engine_Buffer.h:24:30: error: 
dubious one-bit signed bitfield
../src/modules/evas/engines/buffer/Evas_Engine_Buffer.h:24:30: error: 
dubious one-bit signed bitfield
../src/modules/evas/engines/buffer/Evas_Engine_Buffer.h:24:30: error: 
dubious one-bit signed bitfield
../src/modules/evas/engines/buffer/Evas_Engine_Buffer.h:24:30: error: 
dubious one-bit signed bitfield
lib/ecore_ipc/ecore_ipc_private.h:84:35: error: dubious one-bit signed 
bitfield
lib/ecore_ipc/ecore_ipc_private.h:102:35: error: dubious one-bit signed 
bitfield
modules/ecore_evas/engines/x/ecore_evas_x.c:902:29: error: dubious 
one-bit signed bitfield
modules/ecore_evas/engines/x/ecore_evas_x.c:903:33: error: dubious 
one-bit signed bitfield
modules/ecore_evas/engines/x/ecore_evas_x.c:904:30: error: dubious 
one-bit signed bitfield
modules/ecore_evas/engines/x/ecore_evas_x.c:905:34: error: dubious 
one-bit signed bitfield
modules/ecore_evas/engines/x/ecore_evas_x.c:906:34: error: dubious 
one-bit signed bitfield
modules/evas/image_loaders/gif/evas_image_load_gif.c:37:23: error: 
dubious one-bit signed bitfield

Funny one. This bitfields are signed so they can only hold -1 and 0. Not 
a real bummer as we normally use them in if (x) only but if we have 
cases where we really expect an 1 after we might be in trouble. Could be 
a good idea wot move them over to Eina_Bool.

-----

lib/emile/emile_main.c:149:53: warning: right shift by bigger than 
source value
lib/emile/emile_main.c:150:53: warning: right shift by bigger than 
source value
lib/emile/emile_main.c:151:53: warning: right shift by bigger than 
source value

Cedric?

-----

static_libs/rg_etc/rg_etc1.c:1444:21: warning: crazy programmer
static_libs/rg_etc/rg_etc1.c:1458:21: warning: crazy programmer
static_libs/rg_etc/rg_etc1.c:1483:21: warning: crazy programmer
modules/evas/image_savers/tgv/evas_image_save_tgv.c:49:14: warning: 
crazy programmer

Man, I love this warnings. :)
-----

lib/ecore_input/ecore_input_compose.h:9900:19: warning: trying to 
concatenate 63013-character string (8191 bytes max)
modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x:975:9: 
warning: trying to concatenate 8394-character string (8191 bytes max)
modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x:1441:9: 
warning: trying to concatenate 10118-character string (8191 bytes max)
modules/evas/engines/gl_common/shader_3d/evas_gl_3d_shaders.x:2113:9: 
warning: trying to concatenate 11086-character string (8191 bytes max)

What are we going to do about this? Do we take our maximal size for 
strings seriously or does this not really matter?

-----

lib/evas/canvas/evas_map.c:284:27: warning: Variable length array is used.
lib/ector/software/ector_software_rasterizer.c:215:22: warning: Variable 
length array is used.
lib/ector/software/ector_software_rasterizer.c:250:22: warning: Variable 
length array is used.
lib/ecore_x/xlib/ecore_x_randr.c:559:42: warning: Variable length array 
is used.
modules/evas/engines/gl_common/evas_gl_3d_shader.c:181:20: warning: 
Variable length array is used.
bin/evas/evas_cserve2_shm_debug.c:42:14: warning: Variable length array 
is used.

-----

lib/emotion/emotion_webcam.c:120:27: warning: dubious: !x & y

-----

modules/evas/engines/gl_common/evas_gl_core.c:1624:46: error: too many 
arguments for function glsym_evas_gl_native_context_get
modules/evas/engines/gl_common/evas_gl_core.c:1638:40: error: too many 
arguments for function glsym_evas_gl_engine_data_get

Seems to be a misunderstanding of the function pointer.

-----

modules/evas/engines/gl_x11/evas_engine.c:230:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:285:44: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:310:44: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:329:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:358:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:374:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:381:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:404:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:446:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:474:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:481:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:557:81: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:558:66: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:576:48: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:577:53: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:599:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:632:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:641:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:850:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:857:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:895:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:902:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:923:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:1127:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:1145:39: error: too many 
arguments for function glsym_evas_gl_common_error_set
modules/evas/engines/gl_x11/evas_engine.c:1545:40: error: too many 
arguments for function glsym_evas_gl_common_shaders_flush
modules/evas/engines/gl_x11/evas_engine.c:1967:45: error: too many 
arguments for function glsym_evas_gl_common_error_get
modules/evas/engines/gl_x11/evas_engine.c:1982:34: error: too many 
arguments for function glsym_evas_gl_common_error_set

-----

lib/ecore_wayland/ecore_wl_input.c:128:4: warning: incorrect type in 
initializer (incompatible argument 3 (different signedness))
lib/ecore_wayland/ecore_wl_input.c:128:4:    expected void ( 
*capabilities )( ... )
lib/ecore_wayland/ecore_wl_input.c:128:4:    got void ( static 
[toplevel] *<noident> )( ... )

Have fun with these.

regards
Stefan Schmidt

------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to