Commit Graph

715 Commits

Author SHA1 Message Date
Robert Reif 784a8a1fcb reduce: refactorings 2013-08-18 18:15:46 +02:00
Daniel Marjamäki 6a369f0841 astyle formatting 2013-08-18 09:01:26 +02:00
Robert Reif 865ff82425 reduce: add -D 2013-08-18 07:24:30 +02:00
Daniel Marjamäki 99cb04306d reduce: allow -I command flag to specify include paths 2013-08-17 19:46:56 +02:00
Daniel Marjamäki d41e0f82cf reduce: Fix compilation problems 2013-08-17 19:20:47 +02:00
Daniel Marjamäki cb73a1d0c7 tools/times: modified script to allow longer dataseries 2013-07-21 13:16:34 +02:00
Daniel Marjamäki 8ba14edb51 dmake: fixed lib.pri for gui (tinyxml) 2013-07-08 21:56:09 +02:00
Daniel Marjamäki d96fb577cd CLI: Added --environment flag 2013-07-02 07:18:19 +02:00
Andreas Bießmann 90a6472af9 dmake: fix for local includes
When building cppcheck we may pull in conflicting global definitions before
local ones, rearrange include order to prevent this.

Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
2013-06-03 19:45:29 +02:00
Daniel Marjamki 45cf562212 matchcompiler: fixed find(simple)match compiler problems. 2013-06-02 13:57:25 +02:00
Daniel Marjamki 35b13da3a5 matchcompiler: find(simple)match doesn't work well. the compiled functions are not static => the wrong function can be executed. this is a quick fix that just disable find(simple)match compiled patterns. 2013-06-02 12:41:34 +02:00
Frank Zingsheim 650027a07a Fixed #4797 (matchcompiler.py cannot handle overloaded findsimplematch and findmatch) 2013-05-15 18:18:58 +02:00
Daniel Marjamäki e1fd003e2d makefile: make it possible to turn on matchcompiler verifications with 'VERIFY=1' 2013-05-15 13:04:19 +02:00
XhmikosR ae73466f97 Python scripts: PEP8 fixes 2013-03-03 09:59:16 +01:00
PKEuS 2ad38c8701 Updated matchcompiler to support %cop% 2013-03-01 02:52:44 -08:00
Daniel Marjamäki c07576e07e dmake: generating unix makefile from windows. Ticket: #3887
When you commit the generated Makefile from windows you must probably be careful about the line endings.
2013-02-24 03:30:58 -08:00
Stefan Naewe 26ddf07366 tools/dmake: update with MINGW32 support
Signed-off-by: Stefan Naewe <stefan.naewe@googlemail.com>
2013-02-08 12:15:41 +01:00
Daniel Marjamäki 0a88a136ca Reduce: Added --cfg command 2013-01-27 03:20:24 +01:00
Daniel Marjamäki 89b54cb2c9 reduce: reduce structs/enums/etc better 2013-01-20 09:05:50 +01:00
Daniel Marjamäki d87d54339d reduce: fix output 2013-01-17 21:02:52 +01:00
Thomas Jarosch 4fb6751d08 MC: Enable compiled matches for Token::findmatch() and Token::findsimplematch()
Speed is exactly the same and the --verify mode of the
match compiler ensured everything works as expected.
2013-01-16 21:50:32 +01:00
Thomas Jarosch 9f9c654621 MC: Implement verify mode for compiled Token::findmatch patterns 2013-01-14 11:18:33 +01:00
Thomas Jarosch 63e18d6b1c MC: Split _replaceTokenFindMatch() into two small functions 2013-01-14 11:06:59 +01:00
Thomas Jarosch 017783a77e MC: Save one indentation level 2013-01-14 11:06:55 +01:00
Thomas Jarosch 06a7d301e2 MC: Switch to assertEqual function from python's unittest 2013-01-14 11:06:40 +01:00
Thomas Jarosch 3bb8237cdc MC: Turn MatchCompiler tests into python unit test 2013-01-14 11:06:33 +01:00
Thomas Jarosch c0044122f4 Add self test for _replaceTokenFindMatch 2013-01-12 15:28:38 +01:00
Thomas Jarosch ff9e864a07 Add self test for replaceTokenMatch 2013-01-12 15:28:38 +01:00
Thomas Jarosch a7377f180a Quote output of _assertEquals()
It's easier to detect trailing spaces this way.
2013-01-12 15:28:38 +01:00
Thomas Jarosch 4038d4b562 Place main code into own function 2013-01-12 15:28:38 +01:00
Thomas Jarosch fdcfbd5ff9 Add missing copyright header 2013-01-10 11:10:45 +01:00
Thomas Jarosch 6bd7463c54 Add local copy of argparse module to support python 2.6 / python 3.0 2013-01-09 21:30:53 +01:00
Edoardo Prezioso 6236e1dc38 Token::Match: removed harmless special code for initial '!!foo' patterns. 2013-01-09 20:13:33 +01:00
Thomas Jarosch de36324d62 Match compiler: Add cmdline handling 2013-01-09 19:41:03 +01:00
Thomas Jarosch 97e1e50139 Match compiler: Workaround broken code generation for "!!foo" patterns
This is just meant for the upcoming release.
2013-01-09 19:25:24 +01:00
Thomas Jarosch e1be85a552 Match compiler: Be more user friendly on how to invoke it 2013-01-09 19:22:40 +01:00
Thomas Jarosch ade0b741b7 Match compiler: Create 'build' directory if needed 2013-01-09 19:15:13 +01:00
Thomas Jarosch 982503f457 Match compiler: Workaround broken optimizations in verify mode
If the match compiler uses the 'verify' mode and we
compile with -O2, some tests comparing the on-the-fly-parser
to the compiled match fail.

Small functions are inlined by the -O2 compile flag.
If we disable function inlining and still compile with -O2,
everything is back to normal.

gdb didn't show anything useful during the mismatch
since the needed variables are optimized out. Once
we start printing them, the problem vanishes, too.
-> Can only be diagnosed at the x86 assembly level.

The problem vanished by switching the invocation order
of Token::Match() and the compiled match, so just swap them.

Also add commented out helper code
to better diagnose mismatch problems.
2013-01-09 19:03:42 +01:00
Daniel Marjamäki 9ecc74e845 tools/reduce: change default timeout to 5 minutes no matter if --hang is used or not. 2013-01-08 07:10:14 +01:00
Thomas Jarosch 9970414a2f Match compiler: Implement 'verify mode' for Token::Match
Verify mode runs the same ::Match pattern on a token
using the on-the-fly parser and the compiled match parser.
The result is compared and we abort on mismatch.

Already detected an error in our test suite, needs investigation.
2013-01-07 22:27:57 +01:00
Thomas Jarosch 9b51d81e99 Match compiler: Split _replaceTokenMatch() into two small functions 2013-01-07 21:39:49 +01:00
Daniel Marjamäki 7657b84c44 reduce: rename stdout to print to avoid name clash 2013-01-07 18:45:29 +01:00
Thomas Jarosch 3918948dd5 Match compiler: Aggregate match functions with the same pattern / function call signature
Reduces the number of generated functions from 2290 to 1916.
2013-01-04 04:47:01 +01:00
Thomas Jarosch 5f09cb2e4d Match compiler: Store matchFunctions and matchStrs in the class instead of passing it around 2013-01-04 03:56:21 +01:00
Thomas Jarosch 542c6e82d3 Match compiler: Cosmetic changes after running pylint 2013-01-04 03:44:04 +01:00
Thomas Jarosch 71a236b3df Match compiler: Turn code into a python class
This will make passing around internal states a lot easier
2013-01-04 03:38:40 +01:00
Thomas Jarosch f9c752667e Match compiler: Inline generated pattern match code for Token::findmatch
Verified the output in build/ stayed the same
if Token::findmatch support is disabled.
2013-01-04 03:13:22 +01:00
Thomas Jarosch 4b386986fc Match compiler: Check varid on first use like Token::Match does 2013-01-04 01:14:52 +01:00
Thomas Jarosch 5d5efdf99f Match compiler: Add support for Token::findmatch
(still disabled for performance reasons)
2013-01-04 01:01:57 +01:00
Thomas Jarosch 241d23ba8e Remove reduce tool in 'make clean' 2013-01-03 21:59:28 +01:00
Thomas Jarosch 4a2d2f78ef tools/reduce: Remove unused variable detected by cppcheck
[reduce.cpp:475]: (style) Variable 'decl' is assigned a value that is never used.
2013-01-03 21:38:47 +01:00
Thomas Jarosch 7417144784 Match compiler: Compile Token::findsimplematch() calls
Disabled for now as it runs slowers than before.
2013-01-03 19:33:37 +01:00
Daniel Marjamäki 76c8887f5f tools/reduce: remove cast in function parameter 2013-01-03 18:28:20 +01:00
Daniel Marjamäki 16612d010d tools/reduce: improvements to make it possible to reduce code that hangs 2013-01-03 15:22:54 +01:00
Daniel Marjamäki ed803b302b reduce: remove more stuff. unneeded #define , unneeded constructors, unneeded #ifndef etc 2013-01-02 17:08:04 +01:00
Daniel Marjamäki 1f3628a2fe reduce: remove more code blocks 2013-01-02 15:37:41 +01:00
Daniel Marjamäki 28d5ad9d21 dmake: fixed reduce compilation 2013-01-02 15:36:17 +01:00
Daniel Marjamäki 7f2d9cb7eb dmake: fixed compilation of reduce 2013-01-02 14:43:31 +01:00
Daniel Marjamäki 9877b77291 dmake: use 'make reduce' to compile the reduce program 2013-01-02 13:30:06 +01:00
Daniel Marjamäki e0a902e071 tools/reduce: various improvements to remove more code 2013-01-01 20:18:31 +01:00
Reijo Tomperi 5d5f7085bf Updating year 2012 -> 2013 to .cpp and .h files and man page. 2013-01-01 18:29:08 +02:00
Daniel Marjamäki f2f8780504 tools/reduce: better handling of #include 2013-01-01 16:18:06 +01:00
Daniel Marjamäki e824f76ed7 tools/reduce: removing blocks of code that contain #if,#else,#endif 2013-01-01 14:33:32 +01:00
Daniel Marjamäki 6ee32943f2 tools/reduce: speedup, terminate checking when error is found 2013-01-01 13:56:37 +01:00
Thomas Jarosch 62b05193c4 MC: Split convertFile() function into smaller pieces
Output of build/ stayed the same.
2012-12-31 15:30:27 +01:00
Thomas Jarosch 311630ac1c Match compiler: Python syntax simplification
Output in build/ stayed the same
2012-12-31 15:03:00 +01:00
Thomas Jarosch 51cff0cb9b Match compiler: Speed up Token comparison with string literals. Ticket #4451
"Cache" string literals as C++ std::string objects.
The string length gets cached and so we don't need to
call strlen() on the literals at runtime.
2012-12-31 14:45:16 +01:00
Daniel Marjamäki 676b5a15a6 reduce: Added simple command line tool that reduces code for a false positive. 2012-12-31 12:41:36 +01:00
Thomas Jarosch 3c915b534d Match compiler: Collect and cache plain C-strings
Profiler runs with gperftools showed we were spending
a lot of time in strlen() even with compiled match patterns.

If you compare a std::string with a plain C-string,
the comparison operator needs to calculate the length
of the C-string via strlen().

We can avoid this by turning all C-strings into C++ strings,
which cache the string length internally.

The match compiler has been adapted to collect all
C-strings during compilation and aggregate them.

Benchmark on the 'rpm' code base on a Core i7 920 box:

cppcheck without matchcompiler:
real    0m30.977s

cppcheck with previous matchcompiler:
real    0m28.157s

cppcheck with cached C-strings:
real    0m17.823s
2012-12-30 23:24:28 +01:00
Thomas Jarosch fe5ee76165 Match compiler: No need to handle %num% twice 2012-12-30 20:33:49 +01:00
Thomas Jarosch 33f4bd0298 Silence cppcheck warning 2012-12-25 15:28:58 +01:00
Thomas Jarosch 3d0b4a9f7e Add execute permissions to matchcompiler.py on linux 2012-12-25 13:18:24 +01:00
Thomas Jarosch a2885a1759 Python 3 compatibility for the helper scripts
print() is a function in python 3.
Works with pyhton 2.x, too.
2012-12-25 13:12:58 +01:00
Daniel Marjamäki 3b3fe1c616 matchcompiler: throw InternalError if Token::Match is called with the varid 0 2012-12-19 06:45:05 +01:00
XhmikosR 9f11c01450 apply astyle 2012-12-15 09:46:02 +01:00
Daniel Marjamäki b6786c87b4 matchcompiler: handle %varid% 2012-12-14 16:59:37 +01:00
Daniel Marjamäki 7c931960bd Merge pull request #123 from Keruspe/master
build: Fix sources location
2012-12-11 11:13:39 -08:00
Marc-Antoine Perennou cd9782472f build: rename LIBDIR to SRCDIR
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2012-12-11 09:30:37 +01:00
Daniel Marjamäki 2d8ed65d43 compiled Token::Match patterns: refactorings,improvements 2012-12-10 20:28:11 +01:00
Daniel Marjamäki a11ec4a5ee matchcompiler: replaced regular expression with simple code that parses the code better 2012-12-08 19:29:16 +01:00
Daniel Marjamäki 9fcfb38a1c matchcompiler: merged regular expressions to a single expression 2012-12-08 16:22:55 +01:00
Daniel Marjamäki bef0cf149b matchcompiler: reverted changes so the 'make test' works again 2012-12-08 07:41:18 +01:00
Daniel Marjamäki 9bd222970e matchcompiler: fixed hang. don't know why it hangs. 2012-12-04 23:38:49 +01:00
Daniel Marjamäki ae7846bf7e matchcompiler: added some selftests for findMatchPattern 2012-12-04 22:57:52 +01:00
Daniel Marjamäki 514d06b015 Makefile: minor cleanup 2012-12-03 06:34:43 +01:00
Daniel Marjamäki 94930c3bd7 Compiled Token::Match patterns: let 'make clean' cleanup compiled patterns 2012-12-02 13:42:48 +01:00
Daniel Marjamäki ef5eece286 Compiled Token::Match patterns: extended match patterns and refactored the script a little 2012-12-02 13:39:59 +01:00
Daniel Marjamäki d630d34b62 Compiled Token::Match patterns. Added python script solution. Python is required to build with compiled patterns. To build cppcheck with compiled patterns use 'make LIBDIR=build'. 2012-12-02 12:36:55 +01:00
Daniel Marjamäki 29263e63fe times: added shell script that executes previous tags 2012-11-30 12:12:04 +01:00
Daniel Marjamäki ea9f0718b0 tools/times: minor tweaks 2012-11-27 12:20:23 +01:00
Daniel Marjamäki b200e1c430 tools/times: tweaked shell script to work better 2012-11-27 07:24:18 +01:00
Daniel Marjamäki 1ebab4a442 tools/times: added simple scripts to generate time stats for cppcheck 2012-11-27 06:08:26 +01:00
XhmikosR 941945bf42 missing tab to space 2012-09-29 18:02:34 +02:00
XhmikosR 9b5c245899 tabs to spaces, remove trailing spaces and extra empty lines at the end of files 2012-09-29 13:49:16 +02:00
Daniel Marjamäki ce862e02aa dmake: New version of TinyXml needs -DTIXML_USE_STL define in linux 2012-09-09 13:08:04 +02:00
Edoardo Prezioso 826d5bb00b Since the GCC -Wconversion warnings are fixed (at least on a x86-64 environment), enable it in the Makefile. 2012-07-18 00:50:30 +02:00
Kimmo Varis fe9e6130cf Add general PRO file for console builds.
It is easier to maintain PRO files when we keep all the console-
build specific general options in one file. For example changes to
compiler options affect to all console builds.
2012-06-18 09:28:32 +03:00
Daniel Marjamäki f98179a835 astyle formatting 2012-06-18 06:41:04 +02:00
Kimmo Varis 7b603813d7 dmake: Apply small fix from Dan.
This fixes the potential (but not likely to happen) case when
file list is empty. Dan suggested this change when reviewing my
earlier patch.
2012-06-11 22:09:09 +03:00
Kimmo Varis 734d4af007 Tests: Generate test file listing with dmake.
Use dmake to generate a test/testfiles.pri with all the files
containing tests. The testfiles.pri is included by the test/test.pro,
which compiles the test runner. This automates the test file listing
instead of former way to hand-edit the file list.

Fixes ticket #3885 (dmake needs to create a list of test files for qmake)
2012-06-11 22:05:55 +03:00
Kimmo Varis be21a44dd2 Tools: Adding a tools.pro to build dmake. 2012-06-11 14:45:32 +03:00
Daniel Marjamäki 16427b40b9 dmake: move . this fixes compiler errors when compiling with some old gcc 3.X compiler 2012-02-26 10:18:21 +01:00
Edoardo Prezioso f37f13c3ad Fixed typo in make file generation. 2012-02-17 20:12:41 +01:00
Daniel Marjamäki f183954150 dmake: keep some dummy debug code in release Makefiles to make the debug/release more similar 2012-02-12 03:30:58 +01:00
Edoardo Prezioso f20e88fcc5 tools/dmake.cpp: nitpicky reorder of commented warnings in alphabet order with uncommented ones. 2012-01-03 15:10:32 +01:00
Reijo Tomperi 8cae17fda8 Update year to 2012 2012-01-01 01:05:37 +02:00
Daniel Marjamäki 5cc5330d95 extracttests.py: reverted last change. see comments on github. 2011-12-07 21:49:34 +01:00
Daniel Marjamäki ab348387b5 extracttests.py: python 3 compatibility updates 2011-12-07 17:05:24 +01:00
Daniel Marjamäki e9546c5042 extracttests.py: create output folders if they dont exist 2011-12-04 21:46:56 +01:00
Daniel Marjamäki 8e9097bce7 extractpython.py: cleanup 2011-12-02 19:08:04 +01:00
Daniel Marjamäki 712ca42985 extracttests: refactorings. dont include dynamic strings in the listing 2011-12-02 18:33:17 +01:00
Daniel Marjamäki ca9dbfc031 extracttests.py : improved errors.txt output 2011-11-29 21:35:57 +01:00
Akio Idehara baa97d53fc Fixed #3346 (cygwin detection for _GLIBCXX_DEBUG in Makefile) 2011-11-29 20:35:56 +01:00
Daniel Marjamäki 932680994d removed old extracttests.cpp 2011-11-29 17:43:23 +01:00
Daniel Marjamäki 16ae2f49ca extracttests.py: minor code fixes of --code handling 2011-11-29 10:13:37 +01:00
Daniel Marjamäki 7624313808 extracttests.py: added option to output test files 2011-11-28 22:17:06 +01:00
Daniel Marjamäki c0770f0823 extracttests.py: improved command line parser 2011-11-27 17:11:38 +01:00
Daniel Marjamäki ac06f34627 extracttests.py: cleaned up the code for parsing of command line 2011-11-27 15:24:13 +01:00
Daniel Marjamäki 681e4ba314 extracttests.py: exit if wrong command line is given 2011-11-27 14:11:15 +01:00
Daniel Marjamäki ce2be7cbe3 extracttests.py: reduce line lengths 2011-11-27 13:49:20 +01:00
Daniel Marjamäki 370018d313 extracttests.py: close input file 2011-11-27 11:43:13 +01:00
Daniel Marjamäki 54eeb76a71 extracttests.py: renamed 'str' to 'string' 2011-11-27 11:40:23 +01:00
Daniel Marjamäki 0c54f88dd0 extracttests.py: added docstrings. added navigation links. 2011-11-27 11:35:01 +01:00
Daniel Marjamäki db186b2c25 extracttests.py: allow user to see 'error cases only' 2011-11-27 10:26:35 +01:00
Daniel Marjamäki 315ce1db40 extracttests.py: added function 'trimname' 2011-11-27 08:32:07 +01:00
Daniel Marjamäki 52caadf957 extracttests.py: Added a little help info 2011-11-27 08:13:11 +01:00
Daniel Marjamäki 9c626b941a extracttests.py: Added tool for extracting test information 2011-11-27 08:06:11 +01:00
Edoardo Prezioso 433f4640a9 Fix some GCC warnings regarding the sign conversion. 2011-10-30 18:34:49 +01:00
Ville Skyttä b69ad0fefc Makefile: Use pcre-config to get include/lib paths etc 2011-10-28 21:20:19 +02:00
Daniel Marjamäki 17aea0a997 dmake: disabled -Wunreachable-code because there was too many warnings 2011-10-24 07:09:14 +02:00
Edoardo Prezioso df5d26901c Add new warning option to check for dead code and change the order of some struct members to reduce structure padding. 2011-10-24 03:02:00 +02:00
Edoardo Prezioso 12f6ce46f8 Add more warnings and fix the ones reported by them. 2011-10-22 15:05:43 +02:00
Daniel Marjamäki 34e2a2ad66 Makefile: Disable rules by default 2011-10-17 20:18:36 +02:00
Daniel Marjamäki 6f8e42a5af changed the astyle formatting flags 2011-10-13 20:53:06 +02:00
Kimmo Varis 80ba3d6a92 Merge pull request #32 from rpavlik/qmake-configure-rules
Qmake configure rules
2011-08-19 13:00:34 -07:00
Edoardo Prezioso f62d1d0122 Fixed #3017 (set HAVE_RULES to yes only if HAVE_RULES is undefined when executing make.) 2011-08-19 00:28:31 +02:00
Ryan Pavlik 50b0e95314 put the rules logic in its own .pri file, and allow easier override 2011-08-18 15:42:19 -05:00
Ryan Pavlik 33b5970c91 use the qmake config setting HAVE_RULES to enable/disable pcre rules support,
defaulting to on except on Windows.
2011-08-18 12:13:21 -05:00
Daniel Marjamäki d336e91049 Makefile: Added the -D_GLIBCXX_DEBUG flag again to get checked stl during debug 2011-08-14 18:57:48 +02:00
Kimmo Varis d698e24746 dmake: Fix build in Windows. 2011-08-11 23:41:35 +03:00
Kimmo Varis 3eb11e7bdf Tools: Update VS project file. 2011-08-11 23:40:10 +03:00
Kimmo Varis a382a6938b Tools: fix Makefile
tools/ Makefile contained errmsg target whose source does not
exist anymore. And it didn't have a target for extracttests.
Removed the errmsg target and added new target for extracttests.

Ticket: #2988 (In tools, make error: no rule to make target `errmsg.cpp', needed by `errmsg'.)
2011-08-10 23:58:54 +03:00
Felix Geyer e49763b14f Ticket: #2823 (cppcheck fails to build with system tinymxl and -Wl,--as-needed) 2011-06-19 20:56:12 +03:00
Kimmo Varis a6c35cb828 Fix tools/Makefile permissions. 2011-06-18 11:08:40 +03:00
seb777 c73506009b Merge branch 'master' of http://github.com/danmar/cppcheck 2011-05-02 19:55:34 +02:00
Kimmo Varis c7d99fe9a7 Remove ErrorLogger::reportStatus() method.
The ErrorLogger::reportStatus() is not lib code interface. The CLI
code does the looping through file list and gives one file at a
time for the core code. Hence lib has no any idea about the
progress and it can't provide such information.

Also the recent commit (6d858b6) caused a GUI build failure by
adding CLI code dependency to GUI. Which is big no-no.

This is admittedly a hack. But it allow us to build all modules
again.
2011-04-27 23:27:02 +03:00
Daniel Marjamäki 29a7b3bafd dmake: fixed compiler error 2011-04-27 17:57:03 +02:00
Greg Hewgill 7ae4896703 Makefile: handle case where LDFLAGS is already defined (in dmake) 2011-04-23 00:20:38 +12:00
Daniel Marjamäki 712e285bd6 Makefile: added option for compiling with/without rules 2011-04-19 20:53:40 +02:00
Reijo Tomperi 485ff0b472 "#ifndef" can't be used in Makefile (it is considered a commented line). Replaced it with "ifndef". 2011-04-11 22:54:29 +03:00
Daniel Marjamäki 5058cc6aa1 Reverted non-CMake changes in previous 'Added CMake files' commit 2011-03-25 07:59:48 +01:00
Markus Elfring 9301ee28a8 Added CMake files 2011-03-25 07:14:53 +01:00
Sebastien Debrard 48cc875bdf fix compilation error 2011-03-23 01:27:08 +01:00
Sebastien Debrard 8f6af5c6da fix compile error 2011-03-23 01:25:47 +01:00
Daniel Marjamäki 8caf96be63 FileLister: Moved back the code into a single cpp file 2011-03-20 14:25:11 +01:00
Daniel Marjamäki f5ebd779f8 GCC: Disabled the -Wsign-conversion. It is quite noisy. 2011-02-17 22:28:36 +01:00
Daniel Marjamäki 805773663e Build: Renamed HAVE_DEPENDENCIES to HAVE_RULES 2011-02-14 19:37:58 +01:00
Daniel Marjamäki 27febb062b cppcheck: Added HAVE_DEPENDENCIES define. Cppcheck cli can be compiled without dependencies. 2011-02-12 08:06:59 +01:00
Daniel Marjamäki 227a6100f7 astyle formatting 2011-02-11 19:31:37 +01:00
Reijo Tomperi a71204b8e3 Change "tinyxml/tinyxml.h" includes into <tinyxml.h> and modify dmake to work with it.
This should allow usage of libtinyxml-dev or such libraries without modifications to code or makefile.
2011-02-10 22:35:48 +02:00
Robert Reif 90495d52d2 fix dmake.cpp cppcheck message: Include file: ../cli/fileLister_win32.h not found. 2011-02-09 21:32:20 -05:00
Reijo Tomperi 73e746cfd8 Change Makefile to allow another external library to be used instead of bundled one.
E.g. make TINYXML="-ltinyxml" can be used to compile with libtinyxml-dev instead of
externals/tinyxml (but won't compile yet, because of #include "tinyxml/tinyxml.h" in the code).
2011-02-09 01:06:51 +02:00
Kimmo Varis 3fc0d0f03e Run dmake to update Makefile. 2011-02-02 14:36:45 +02:00
Kimmo Varis 800d8d1e05 Cleanup makefile a bit.
Align object file lists first line. Remove excessive use of tabs.
2011-01-31 09:18:35 +02:00
Daniel Marjamäki 07e097561c dmake and Makefile updates 2011-01-21 20:51:01 +01:00
Kimmo Varis b8b2e3fae9 Move filelister* to cli.
Ticket #2445 (Move FileLister classes from LIB to CLI).
2011-01-18 19:58:49 +02:00
Reijo Tomperi 226b605774 Change year 2010 -> 2011 in license texts. 2011-01-09 21:33:36 +02:00
Daniel Marjamäki a9aa6375b7 gcc: disabled -Wconversion again - too many warnings 2011-01-01 09:16:31 +01:00
Daniel Marjamäki eb59bd5fd6 Added -Wconversion compiler flag. The ASSERT_EQUALS_DOUBLE was added that can be used when comparing double values. 2010-12-30 22:56:53 +01:00
Peter Pentchev 121cb043a7 Makefile: honor the C preprocessor flags in CPPFLAGS. Ticket: #2254 2010-12-26 18:12:14 +01:00
Kimmo Varis 4ebdbec621 Update dmake to use basepath in lib.pri. 2010-12-18 17:11:19 +02:00
Ettl Martin 7d1b2254d3 fixed mistake from previous commit. changes path from test/tinyxml to external/tinyxml; Thanks to kimmov. 2010-12-13 14:47:53 +01:00
Ettl Martin 515b4cce1c dmake: added test/tinyxml path to make clean 2010-12-13 13:44:40 +01:00
Daniel Marjamäki 48241c81f8 dmake: add include path '../externals' to lib.pri in case the pcre.h is placed there. 2010-12-12 17:26:13 +01:00
Daniel Marjamäki 2d3865a671 Add support for user defined rules 2010-12-12 11:56:22 +01:00
Daniel Marjamäki 81cac166d6 FileLister: minor cleanup 2010-11-09 19:11:43 +01:00
Lauri Nurmi 91e66e74d0 Fixed #2099 (Show an error if none of the given paths was found) 2010-10-22 17:09:50 +02:00
Pete Johns 4f0cda235a Added tags file for faster code navigation.
[Helpful for newbies like me]
2010-10-12 23:08:34 +11:00
Pete Johns 97a68bdcee Added `check` target.
Runs the test as per `make test`, but with less verbosity.

    -g GCC-style errors
    -q quiet tests
2010-09-26 13:29:23 +10:00
Reijo Tomperi 8a7989c824 Makefile improvements related to clean, dmake and man targets. 2010-09-22 21:25:27 +03:00
Pete Johns 4934cfa622 Wrapped variables in conditions
This allows CXX and CXXFLAGS to be overridden without patching. Added PREFIX for MacPorts compatibility, allowing staging to $(DESTDIR)$(PREFIX)/bin, leaving original behaviour unchanged.

Exit early if run in incorrect directory or if Makefile cannot be written.
2010-09-20 21:16:09 +10:00
Kimmo Varis ed656e02e4 Fix compiling tests in Linux.
For Linux I needed to add cmdlineparser object file to test target
linking definitions in dmake.
2010-09-06 22:45:29 +03:00
Daniel Marjamäki f476cc12f8 Disabled the -Wconversion. There are too many compiler warnings currently when using it. 2010-08-15 08:58:27 +02:00
Daniel Marjamäki 5e1168fc5c dmake: removed _GLIBCXX_DEBUG because it doesn't work in cygwin. added -Wconversion 2010-08-13 21:31:04 +02:00
Daniel Marjamäki adc47f1820 Fixed #1487 (fix gcc compiler warnings) 2010-08-06 21:02:43 +02:00
Daniel Marjamäki 1a5a1002b6 updated dmake. updated Makefile (includes cleanup). 2010-07-27 15:25:03 +02:00
Reijo Tomperi 0c61454b3f Added test case deadlock_with_many_errors() for ticket #1650
http://sourceforge.net/apps/trac/cppcheck/ticket/1650
The test case is currently commented out, because it would cause tests to hang also.
2010-06-18 00:42:01 +03:00
Daniel Marjamäki 8504863636 dmake: updated compiler flags in release mode. only -Wall. 2010-05-08 12:57:44 +02:00
Daniel Marjamäki c718a7c595 astyle: Update to astyle 1.24 2010-04-15 20:08:51 +02:00
Reijo Tomperi 35d2a27b9c Update copyright year in all source files 2010-04-13 22:23:17 +03:00
Reijo Tomperi eb79e5f918 Enable -Wshadow in Makefile 2010-04-11 14:57:03 +03:00
Daniel Marjamäki 0cad22314e Reverted 'astyle fix'. Those changes are not in sync with my astyle configuration/setup. 2010-04-02 07:30:58 +02:00
Martin Ettl 193aa7d1d3 astyle fix 2010-04-02 02:21:53 +02:00
Daniel Marjamäki 9e393fd92e Makefile: Added flag -Wno-long-long compiler flag to suppress warnings about long long 2010-03-31 21:47:51 +02:00
Daniel Marjamäki f7662b094d astyle formatting 2010-03-13 08:05:07 +01:00
Daniel Marjamäki 48a63e4c35 gcc: removed -Wlogical-op that is not supported by old GCC 2010-03-13 08:03:30 +01:00
Kimmo Varis 66448b41ac Restore and fix tools Makefile. Fix include lines. 2010-03-11 22:55:31 +02:00
Kimmo Varis b746e9d4be Fix dmake for Windows. 2010-03-11 22:30:06 +02:00
Kimmo Varis a7996ab252 Fix compiling in Linux. Fix compiling dmake. 2010-03-11 22:15:15 +02:00
Daniel Marjamäki 2c210b8ff9 dmake,qmake: temporarily removed -Wsign-conversion 2010-03-09 11:10:34 +01:00
Daniel Marjamäki 2ba3f59fc8 dmake, qmake: more sensitive compiler and runtime 2010-03-09 08:24:52 +01:00
Daniel Marjamäki cffe20a440 dmake: debug/release mode, more gcc warnings 2010-03-09 08:10:05 +01:00
Kimmo Varis 5b2c6129df Add VS project file for building dmake. 2010-03-04 21:09:37 +02:00
Reijo Tomperi 01c5bdfc68 Add TODO test case for #1452 (Simplify goto better)
http://sourceforge.net/apps/trac/cppcheck/ticket/1452
2010-02-24 22:55:16 +02:00
Daniel Marjamäki 5254822bed dmake: generate the lib/lib.pri file 2010-02-23 21:27:01 +01:00
Daniel Marjamäki 209024adcb tools/Makefile: fixed so the dmake can be built 2010-02-23 18:43:10 +01:00
Daniel Marjamäki 56e67d38ff Readded man/install to the Makefile 2010-02-23 18:37:46 +01:00
Daniel Marjamäki 2befb74a07 astyle formatting 2010-02-20 09:14:15 +01:00
Daniel Marjamäki a9bd7296b7 dmake: simplified a little 2010-02-19 17:35:38 +01:00
Daniel Marjamäki 744c385097 Revert "removed tools/dmake and Makefile. Please use cmake from now on."
This reverts commit cfacd5fe10.
2010-01-23 09:54:51 +01:00
Daniel Marjamäki cfacd5fe10 removed tools/dmake and Makefile. Please use cmake from now on. 2010-01-22 20:57:30 +01:00
Reijo Tomperi 7596e76a79 Added 'make man' to Makefile 2009-11-22 16:43:55 +02:00
Daniel Marjamäki 293631745a extracttests: astyle formatting 2009-11-09 20:40:58 +01:00
Daniel Marjamäki 45c3ba3c28 extracttests: minor updates 2009-11-09 20:36:13 +01:00
Daniel Marjamäki ed9ee554da extracttests: extract more tests 2009-11-08 08:00:22 +01:00
Daniel Marjamäki c98976cc9b extracttests: extract to cpp instead and don't generate the Makefile - it's easier to use a simple standard Makefile instead. 2009-11-07 19:52:10 +01:00
Daniel Marjamäki b9ebdee2f5 extracttests: Added a simple program for extracting testcode from our unit testing 2009-11-07 18:04:45 +01:00
Reijo Tomperi 3be9f2e6cc astyle fix 2009-10-27 11:10:59 +02:00
Daniel Marjamäki 27761a6edc Restructuring: Updated the dependency walker 2009-10-26 22:36:36 +01:00
Daniel Marjamäki 09859c1019 refactoring the folder structure 2009-10-25 12:49:06 +01:00
Reijo Tomperi fdde2182b9 Fix GPL comments in all files. ">." was missing from the end. 2009-09-27 18:08:31 +03:00
Daniel Marjamäki 03f3ee62a0 cleanup: removed deprecated files. security checking and errmsg 2009-07-12 19:18:38 +02:00
Reijo Tomperi 8b0e481d46 Refactoring: Rename member functions to follow naming guidelines. 2009-07-05 23:16:43 +03:00
Reijo Tomperi 58eda6e978 Fix ticket #325 (Replace developer names in source files with AUTHORS file)
http://apps.sourceforge.net/trac/cppcheck/ticket/325
2009-05-30 08:48:12 +03:00
Slava Semushin 4bd1c3fb00 Propagate static and const modifiers.
No functional change.
2009-05-22 21:20:32 +07:00
Daniel Marjamäki 3c1c33669e refactoring: The errmsg is no longer supposed to generate the errorLogger code 2009-03-21 10:15:46 +01:00
Daniel Marjamäki 33df121567 added and integrated checkautovariables that gscacco created 2009-03-19 20:55:50 +01:00
Vesa Pikki 3d6e3d38bb Applied a patch by Mike Frysinger
The proper variable to use for the C++ compiler is $(CXX).  Also, when
linking objects, $(LDFLAGS) should be used.
2009-03-09 19:35:43 +02:00
Reijo Tomperi 017e10e10b Fix ticket #141 (changed the makefile), changing compiler is now easier in the makefile.
http://apps.sourceforge.net/trac/cppcheck/ticket/141
2009-03-07 01:45:27 +02:00
Reijo Tomperi 015143b56c Copyright fixes 2009-03-01 19:59:13 +00:00
Reijo Tomperi fc8f47145a Copyrights updated 2009-03-01 19:52:33 +00:00
Reijo Tomperi f6848f14ad Fixed another --style problem with our code 2009-03-01 19:38:17 +00:00
Reijo Tomperi d098b62975 Use reference instead of string copy (fixes some --style warnings from our code) 2009-03-01 19:30:51 +00:00
Reijo Tomperi 033a82d3f2 Members of ErrorLogger::ErrorMessage made public for better access to them. 2009-02-22 11:29:33 +00:00
Daniel Marjamäki 15e86db3ed buffer overrun: Added checking of strncat 2009-02-20 21:00:59 +00:00
Reijo Tomperi 61587c42ae Fix ticket #113 (Add support for multi core CPUs and -w parameter to specifify amount of worker threads) 2009-02-20 19:40:42 +00:00
Reijo Tomperi 4fc774deda Multicore cpu support for Linux (currently disabled and compiling produces warnings)
"no errors" output removed.
2009-02-19 22:21:18 +00:00
Daniel Marjamäki efeaac736d security: added simple gui checking 2009-02-19 17:57:27 +00:00
Daniel Marjamäki 4e1f19a366 input validation: added checking 2009-02-19 08:03:14 +00:00
Daniel Marjamäki 2b04c94b95 stl push_back: Added check (invalid iterator) 2009-02-18 19:57:43 +00:00
Reijo Tomperi 7ef9e870cd Code comments updated 2009-02-14 22:00:19 +00:00
Reijo Tomperi d1e9efc66a Fix ticket #104 (Change (error) Uninitialized member variable -> (style) Member variable not initialized in the constructor) 2009-02-14 08:52:03 +00:00
Daniel Marjamäki eda1290e40 dangerous usage of erase: added check 2009-02-11 05:08:29 +00:00
Reijo Tomperi 9b9223480d Refactoring: reportErr takes now only one parameter, ErrorLogger::ErrorMessage, which contains all required information and also some help
functions for formatting it for output.
2009-02-10 21:51:52 +00:00
Daniel Marjamäki c1638996f9 STL: added check for iterator usage 2009-02-10 19:40:21 +00:00
Reijo Tomperi 5721e4469b stlOutOfBounds error message created 2009-02-10 19:36:49 +00:00
Reijo Tomperi 1373e14bc9 Fix ticket #93 (Write xml results into error stream instead of results.xml file.) and also refactor the
code to use ErrorLogger::reportErr() for all errors, for both xml and plain text. And move xml formatting 
from Cppcheck to CppcheckExecutor.
2009-02-09 20:51:04 +00:00
Reijo Tomperi fb3c81dcd9 Fix ticket #80 (refactoring: classes ErrorMessage and ErrorLogger), note that errormessage and errorlogger were merged, errormessage.* is no more. 2009-02-08 21:20:35 +00:00
Daniel Marjamäki 1637e867de mismatching allocation size: moved to error suite 2009-02-08 18:34:04 +00:00
Daniel Marjamäki 3c289e52c5 memory allocation: check for mismatching size 2009-02-07 10:54:39 +00:00
Daniel Marjamäki 03acc12977 mismathing allocation and deallocation: moved to error checks 2009-02-06 18:24:01 +00:00
Reijo Tomperi a06861948b Fixed: Ticket #78 Change (always) into (error) in error messages 2009-02-05 21:06:32 +00:00
Daniel Marjamäki aeb573d529 returning pointer to local array 2009-02-04 18:49:19 +00:00
Daniel Marjamäki 385c28a02e xml: generating better xml output 2009-02-01 18:00:47 +00:00
Daniel Marjamäki eb9563faed astyle formatting 2009-02-01 16:39:29 +00:00
Daniel Marjamäki d29d7e60a9 errmsg: refactoring the error messages 2009-02-01 15:47:36 +00:00
Daniel Marjamäki 2784faab42 removed unused function definition for stringifySeverity 2009-01-31 19:05:17 +00:00
Daniel Marjamäki 81174a4817 mismatching allocation / deallocation: moved to --all 2009-01-31 17:54:31 +00:00
Daniel Marjamäki f6f72fc022 errmsg: output severity in messages. a fix to track severity in the memory leaks check 2009-01-31 13:57:27 +00:00
Daniel Marjamäki 3457b38d7a errmsg: write severity in the message 2009-01-31 08:33:31 +00:00
Daniel Marjamäki 6ce23670e5 sprintf overlapping data: added extra text that is shown if --verbose is given 2009-01-26 19:14:46 +00:00
Daniel Marjamäki 3d61334a8c errmsg: Moved 'function parameter parname is passed by value' to the style checks 2009-01-26 18:32:00 +00:00
Daniel Marjamäki e691ade8e6 Build: Enabled the Wextra flag when building cppcheck 2009-01-22 21:16:50 +00:00
Nicolas Le Cam 42c608b6f0 Remove checks that are already covered well by most compilers (Unreachable Code; Assignment in Condition; Unused Variable). 2009-01-21 21:31:47 +00:00
Reijo Tomperi 176dd41306 Fixed Ticket #40, Check copyright texts in files, now that we have new developers. 2009-01-21 20:04:20 +00:00
Nicolas Le Cam cec57b76d3 errmsg: Don't create unused parameters 2009-01-19 19:50:00 +00:00
Daniel Marjamäki 8780fbf8bb bounds checking: Added error message "snprintf size is out of bounds" 2009-01-17 13:09:02 +00:00
Daniel Marjamäki a5e2787f72 errmsg: added varname to the message "deallocating a deallocated pointer" 2009-01-17 11:15:46 +00:00
Daniel Marjamäki 4cfb8ad1cb memory leaks: Added checking of deallocate to see that the pointer isn't deallocated already 2009-01-15 20:34:39 +00:00
Daniel Marjamäki 8bbd4b9401 str plus char: Added check and error message for str + ch 2009-01-15 16:57:51 +00:00
Daniel Marjamäki 03cfe18c9b errmsg: Added 'condition is always true/false' 2009-01-14 19:43:28 +00:00
Daniel Marjamäki c8a5bd16a1 errmsg: Added 'assignment in if-condition' 2009-01-13 17:56:45 +00:00
Daniel Marjamäki aa592387e6 errmsg: refactoring 2009-01-13 06:25:36 +00:00
Daniel Marjamäki cc65242626 errmsg: added message about bad usage of char variable 2009-01-12 18:52:43 +00:00
Daniel Marjamäki fdf5b215f9 errmsg: Added message for 'incomplete statement' 2009-01-12 17:46:24 +00:00
Daniel Marjamäki a5eb8894d4 errmsg: Added messages for 'variable is not used / not read / not assigned' 2009-01-12 17:40:20 +00:00
Daniel Marjamäki 13e2396345 errmsg: Added message 'function parameter is passed by value' 2009-01-12 17:32:53 +00:00
Daniel Marjamäki df689b454c errmsg: added message 'unreachable code below return' 2009-01-12 17:28:04 +00:00
Daniel Marjamäki a0ef840138 errmsg: Added 'unused struct member' 2009-01-12 17:21:25 +00:00
Daniel Marjamäki 03888046d8 errmsg: Made the 'unsigned division' a style error 2009-01-12 17:14:03 +00:00
Daniel Marjamäki 980b10bfc9 errmsg: Added 'unsigned division' 2009-01-12 17:12:14 +00:00
Daniel Marjamäki 17d4c2b980 errmsg: Added message 'Overlapping data buffer' 2009-01-12 06:52:50 +00:00
Daniel Marjamäki ae861852e2 errmsg: Added "found redundant if - 'if (condition);' 2009-01-12 06:44:47 +00:00
Daniel Marjamäki 9d8af10583 errmsg: the "unused function" message shall not take any Tokenizer nor Token parameters 2009-01-11 08:10:51 +00:00
Daniel Marjamäki 3d8791eebd errmsg: added "unused function" 2009-01-11 06:44:32 +00:00
Daniel Marjamäki 631e202027 dmake: Minor updates. Moved target "all" a little. Handle the change 937 where "make test" also executes testrunner 2009-01-11 06:17:54 +00:00
Daniel Marjamäki 1e6b54b2c5 errmsg: added "mismatching allocation and deallocation" 2009-01-10 19:30:41 +00:00
Daniel Marjamäki 47a7c915fa errmsg: Added error messages for "Array index out of bounds" and "Buffer overrun" 2009-01-10 19:23:21 +00:00
Daniel Marjamäki 897c02e3ed errmsg: added error message about virtual destructors 2009-01-10 18:03:56 +00:00
Daniel Marjamäki 6acb123f1d errmsg: Added "operator= should return something 2009-01-10 17:57:31 +00:00
Daniel Marjamäki 1fc5f5485f errmsg: Added "Using 'memset' on class" 2009-01-10 17:51:03 +00:00
Daniel Marjamäki 7b10b0ff4d errmsg: Added "Unused private function ..." 2009-01-10 17:35:41 +00:00
Daniel Marjamäki dc6317878e errmsg: Added "uninitialized member variable" 2009-01-10 17:11:47 +00:00
Daniel Marjamäki a2a8378749 astyle: updated the code style 2009-01-10 14:29:59 +00:00
Daniel Marjamäki 0c3c00daec errmsg: Added errormessage for 'the class 'classname' doesn't have a constructor' 2009-01-10 13:08:44 +00:00
Daniel Marjamäki 41a73e3b1e errmsg: bug fix 2009-01-10 12:03:18 +00:00
Daniel Marjamäki 8842172821 errmsg: reformatted with astyle 2009-01-10 11:17:00 +00:00
Daniel Marjamäki 713b0c7cdd errmsg: The generated code is compliant with the astyle formatting 2009-01-10 07:43:15 +00:00
Daniel Marjamäki 01ec1b15fe dmake: minor fixes. The tools binaries will be put in the tools folder 2009-01-10 07:38:11 +00:00
Daniel Marjamäki f83741503e make: updated the make so that the tools are built with "make all". And added the errormessage.h generator to the makefile also 2009-01-09 19:28:55 +00:00
Daniel Marjamäki 7851b1042f errormessage: added error message ErrorMessage::dangerousUsageStrtol 2009-01-09 19:15:54 +00:00
Daniel Marjamäki 38286a7d57 dmake: don't generate Makefile if there are no src files 2009-01-09 18:13:00 +00:00
Reijo Tomperi 66547e7ddf Fixed make install from the generated makefile 2009-01-08 21:02:03 +00:00
Daniel Marjamäki 5d0f8f0cfa errormessage: Added a few more messages for checkother.cpp 2009-01-08 20:56:51 +00:00
Reijo Tomperi 4dfc3a9c3d Added license text to errormessage.h (via code tha generates it) and also mention that it is generated by machine 2009-01-08 20:51:07 +00:00
Daniel Marjamäki 3bdb3064b0 tools/errmsg: some refactoring 2009-01-08 17:29:44 +00:00
Daniel Marjamäki 80c7e00e84 tools: Added headers to source files 2009-01-08 06:22:14 +00:00
Daniel Marjamäki 5b86188c45 tools: updated the code style 2009-01-07 15:17:02 +00:00
Daniel Marjamäki 149ab87931 tools/dmake: A few simple fixes. Commited the new Makefile 2009-01-06 20:12:59 +00:00
Daniel Marjamäki 2b671fef16 tools: dmake added a tool for maintaining the Makefile 2009-01-06 20:04:20 +00:00
Daniel Marjamäki 0ac9d34d70 tools/errmsg: minor fixes 2009-01-06 17:22:35 +00:00
Daniel Marjamäki a62d3da857 tools/errmsg: code correction 2009-01-06 17:20:19 +00:00
Daniel Marjamäki 934b251ec6 tools/errmsg: generate documentation 2009-01-06 17:09:27 +00:00
Daniel Marjamäki 59a644b4b1 tools/errmsg: generate the function to use when determining if a check should be done or not 2009-01-06 16:25:42 +00:00
Daniel Marjamäki 31f95aeec9 tools: Added a folder where we can keep small usable utilities 2009-01-06 15:02:34 +00:00