splint-defs.h

Geert Janssens janssens-geert at telenet.be
Mon Feb 8 17:14:31 EST 2010


Phill,

I found this header file in the main directory (trunk).

I understand this can be used to build gnucash for static splint checking (or 
at least src/backend/dbi and src/backend/sql)

However, I'm not really sure how to enable it. I tried to add -DS_SPLINT_S to 
the DEFS line in the generated Makefile in src/backend/dbi, but running make 
subsequently results in compiler errors like:
cc1: warnings being treated as errors
In file included from <trunk>/src/backend/dbi/gnc-backend-dbi.c:57:
<trunk>/src/debug/splint-defs.h:46: error: data definition has no type or 
storage class
<trunk>/src/debug/splint-defs.h:46: error: type defaults to ‘int’ in 
declaration of ‘dbi_driver_get_name’
<trunk>/src/debug/splint-defs.h:46: error: conflicting types for 
‘dbi_driver_get_name’
/usr/include/dbi/dbi.h:177: note: previous declaration of 
‘dbi_driver_get_name’ was here
<trunk>/src/debug/splint-defs.h:68: error: conflicting types for 
‘g_value_take_string’
/usr/include/glib-2.0/gobject/gvaluetypes.h:224: note: previous declaration of 
‘g_value_take_string’ was here
<trunk>/src/debug/splint-defs.h:82: error: data definition has no type or 
storage class
<trunk>/src/debug/splint-defs.h:82: error: type defaults to ‘int’ in 
declaration of ‘g_hash_table_lookup’
<trunk>/src/debug/splint-defs.h:82: error: conflicting types for 
‘g_hash_table_lookup’
/usr/include/glib-2.0/glib/ghash.h:79: note: previous declaration of 
‘g_hash_table_lookup’ was here
<trunk>/src/backend/dbi/gnc-backend-dbi.c: In function ‘gnc_dbi_load’:
<trunk>/src/backend/dbi/gnc-backend-dbi.c:661: error: implicit declaration of 
function ‘assert’
<trunk>/src/backend/dbi/gnc-backend-dbi.c: In function 
‘qof_backend_module_init’:
<trunk>/src/backend/dbi/gnc-backend-dbi.c:932: error: initialization makes 
pointer from integer without a cast

Note that I moved splint-defs.h into src/debug and had to add this path to 
AC_CFLAGS as well, but I suppose that's not the cause of these errors.

Is there something extra I should do to enable SPLINT, or is the file no 
longer up to date ?

Geert


More information about the gnucash-devel mailing list