Hello,
have anybody tryed to check harbour generated code with Cppcheck or any other static code checker? Any point to try to do this?
On first try cppcheck gives a lot of warnings and errors.
Got a client who requires application code to be checked for security reasons...
Taavi.
Cppcheck and harbour code?
- Antonio Linares
- Site Admin
- Posts: 44515
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Re: Cppcheck and harbour code?
Very interesting topic.
probably you can configure the output .c files to some cache folder, and then use some file to run the cppcheck from there.
on the hbm you can use -workdir=.\cache\ and all the C files will be there
If you have success with it let us to know. very cool.
I will make some testing at the weekend with it.
probably you can configure the output .c files to some cache folder, and then use some file to run the cppcheck from there.
on the hbm you can use -workdir=.\cache\ and all the C files will be there
If you have success with it let us to know. very cool.
I will make some testing at the weekend with it.
Regards,
Lailton Fernando Mariano
Lailton Fernando Mariano
Re: Cppcheck and harbour code?
Command to check:
build project with -workdir=./.cache/ and I suggest to use -gc3 too.
Part my output:
build project with -workdir=./.cache/ and I suggest to use -gc3 too.
Code: Select all | Expand
cppcheck -I ./include/ -I /Users/lailton/Developer/harbour/include --suppress=missingIncludeSystem .cache/ --output-file=cppcheck.txtCode: Select all | Expand
18/20 files checked 96% done
Checking .cache/util.c ...
Checking .cache/util.c: HB_DATASEG_STARTUP;HB_OS_WIN_64;_MSC_VER...
Checking .cache/util.c: HB_DATASEG_STARTUP;HB_PRAGMA_STARTUP...
Checking .cache/util.c: HB_DATASEG_STARTUP;__WATCOMC__...
Checking .cache/util.c: HB_GNUC_STARTUP;__DCC__;__GNUC__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__clang__...
Checking .cache/util.c: HB_GNUC_STARTUP;__DCC__;__GNUC__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__clang__;__DCC__...
Checking .cache/util.c: HB_INITSEG_STARTUP...
Checking .cache/util.c: HB_INITSEG_STARTUP;_M_COFF...
Checking .cache/util.c: HB_NO_FLATTEN;__ICC;__PCC__;__clang__;__GNUC__...
Checking .cache/util.c: HB_OS_BEOS;HB_OS_BSD;HB_OS_DARWIN;HB_OS_LINUX;HB_OS_MINIX;HB_OS_QNX;HB_OS_SUNOS;HB_OS_VXWORKS;_ISOC99_SOURCE;_MSC_VER;_STDC_C99;__BORLANDC__;__DJGPP__;__DMC__;__GNUC__;__LCC__;__MINGW32__;__POCC__;__STDC_VERSION__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__WATCOMC__;__XCC__...
Checking .cache/util.c: HB_OS_BEOS;HB_OS_BSD;HB_OS_DARWIN;HB_OS_LINUX;HB_OS_MINIX;HB_OS_QNX;HB_OS_SUNOS;HB_OS_VXWORKS;_ISOC99_SOURCE;_MSC_VER;_STDC_C99;__BORLANDC__;__DJGPP__;__DMC__;__GNUC__;__LCC__;__MINGW32__;__POCC__;__STDC_VERSION__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__WATCOMC__;__XCC__;HB_OS_VXWORKS;_INTPTR;_INTPTR_T...
Checking .cache/util.c: HB_OS_BEOS;HB_OS_BSD;HB_OS_DARWIN;HB_OS_LINUX;HB_OS_MINIX;HB_OS_QNX;HB_OS_SUNOS;HB_OS_VXWORKS;_ISOC99_SOURCE;_MSC_VER;_STDC_C99;__BORLANDC__;__DJGPP__;__DMC__;__GNUC__;__LCC__;__MINGW32__;__POCC__;__STDC_VERSION__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__WATCOMC__;__XCC__;_MSC_VER...
Checking .cache/util.c: HB_OS_BEOS;HB_OS_BSD;HB_OS_DARWIN;HB_OS_LINUX;HB_OS_MINIX;HB_OS_QNX;HB_OS_SUNOS;HB_OS_VXWORKS;_ISOC99_SOURCE;_MSC_VER;_STDC_C99;__BORLANDC__;__DJGPP__;__DMC__;__GNUC__;__LCC__;__MINGW32__;__POCC__;__STDC_VERSION__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__WATCOMC__;__XCC__;__BORLANDC__...
19/20 files checked 97% done
Checking .cache/watch.c ...
Checking .cache/watch.c: HB_DATASEG_STARTUP;HB_OS_WIN_64;_MSC_VER...
Checking .cache/watch.c: HB_DATASEG_STARTUP;HB_PRAGMA_STARTUP...
Checking .cache/watch.c: HB_DATASEG_STARTUP;__WATCOMC__...
Checking .cache/watch.c: HB_GNUC_STARTUP;__DCC__;__GNUC__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__clang__...
Checking .cache/watch.c: HB_GNUC_STARTUP;__DCC__;__GNUC__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__clang__;__DCC__...
Checking .cache/watch.c: HB_INITSEG_STARTUP...
Checking .cache/watch.c: HB_INITSEG_STARTUP;_M_COFF...
Checking .cache/watch.c: HB_NO_FLATTEN;__ICC;__PCC__;__clang__;__GNUC__...
Checking .cache/watch.c: HB_OS_BEOS;HB_OS_BSD;HB_OS_DARWIN;HB_OS_LINUX;HB_OS_MINIX;HB_OS_QNX;HB_OS_SUNOS;HB_OS_VXWORKS;_ISOC99_SOURCE;_MSC_VER;_STDC_C99;__BORLANDC__;__DJGPP__;__DMC__;__GNUC__;__LCC__;__MINGW32__;__POCC__;__STDC_VERSION__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__WATCOMC__;__XCC__...
Checking .cache/watch.c: HB_OS_BEOS;HB_OS_BSD;HB_OS_DARWIN;HB_OS_LINUX;HB_OS_MINIX;HB_OS_QNX;HB_OS_SUNOS;HB_OS_VXWORKS;_ISOC99_SOURCE;_MSC_VER;_STDC_C99;__BORLANDC__;__DJGPP__;__DMC__;__GNUC__;__LCC__;__MINGW32__;__POCC__;__STDC_VERSION__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__WATCOMC__;__XCC__;HB_OS_VXWORKS;_INTPTR;_INTPTR_T...
Checking .cache/watch.c: HB_OS_BEOS;HB_OS_BSD;HB_OS_DARWIN;HB_OS_LINUX;HB_OS_MINIX;HB_OS_QNX;HB_OS_SUNOS;HB_OS_VXWORKS;_ISOC99_SOURCE;_MSC_VER;_STDC_C99;__BORLANDC__;__DJGPP__;__DMC__;__GNUC__;__LCC__;__MINGW32__;__POCC__;__STDC_VERSION__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__WATCOMC__;__XCC__;_MSC_VER...
Checking .cache/watch.c: HB_OS_BEOS;HB_OS_BSD;HB_OS_DARWIN;HB_OS_LINUX;HB_OS_MINIX;HB_OS_QNX;HB_OS_SUNOS;HB_OS_VXWORKS;_ISOC99_SOURCE;_MSC_VER;_STDC_C99;__BORLANDC__;__DJGPP__;__DMC__;__GNUC__;__LCC__;__MINGW32__;__POCC__;__STDC_VERSION__;__SUNPRO_C;__SUNPRO_CC;__TINYC__;__WATCOMC__;__XCC__;__BORLANDC__...
20/20 files checked 100% done
Regards,
Lailton Fernando Mariano
Lailton Fernando Mariano