Commit Graph

707 Commits

Author SHA1 Message Date
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
Pete Johns 2e61736c73 Refactoring following #2377 (Technically the member function xxx can be const)
symboldatabase now recognises variables with arbitrarily many scopes.

Extracted method isVariableDeclaration()

Added unit tests for isVariableDeclaration in new file testsymboldatabase.cpp

Extracted givenACodeSampleToTokenize helper class into testutils.h to reduce duplication.
2010-12-30 19:46:44 +11:00
Peter Pentchev 121cb043a7 Makefile: honor the C preprocessor flags in CPPFLAGS. Ticket: #2254 2010-12-26 18:12:14 +01:00
Pete Johns 64e2c8668c Fixed #2358 (Compilation fail on Mac)
Added test case to prove it works. Not a true unit-test as it accesses the file-system.
2010-12-26 23:04:07 +11:00
Kimmo Varis 1d349bf4cf Update Makefile. 2010-12-18 17:12:27 +02:00
Daniel Marjamäki 2d3865a671 Add support for user defined rules 2010-12-12 11:56:22 +01:00
Daniel Marjamäki 1ece516816 Makefile: switch back to debug mode 2010-12-12 09:46:59 +01:00
Daniel Marjamäki f2fac1fe70 1.46: updated Makefile for release 2010-12-12 08:41:19 +01:00
Kimmo Varis d977e1b2bd Update Makefile. 2010-12-05 23:06:36 +02:00
Daniel Marjamäki 8b45a0e3b5 Makefile: updated with dmake 2010-11-29 19:55:04 +01:00
Daniel Marjamäki 42fcebf3b9 Makefile: updated the Makefile. addon to my commit yesterday where I added new leak checking 2010-11-13 07:40:32 +01:00
Robert Reif 894586f4dd Fixed #2198 (SymbolDatabase: separate SymbolDatabase from CheckClass) 2010-11-13 07:31:56 +01:00
Daniel Marjamäki bc283d8b99 Uninitialized variables: Broke out the checking into separate file 2010-10-31 12:31:11 +01:00
Daniel Marjamäki df8a93bf97 Null pointers: Broke out the checking into separate file 2010-10-31 11:51:25 +01:00
Kimmo Varis 54cb7bf070 Update Makefile. 2010-10-29 23:11:41 +03: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
Kimmo Varis ddfc7b2d5a Run dmake to update Makefile and lib/lib.pri. 2010-10-17 00:57:25 +03:00
Debrard Sebastien 1a4e3dcc44 increment check 2010-10-12 19:54:39 +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
Daniel Marjamäki e0ba626351 ClassInfo: Removed unused functionality 2010-10-08 19:43:41 +02:00
Daniel Marjamäki d452e59cc4 Makefile: switch back to debug mode 2010-10-03 18:03:27 +02:00
Daniel Marjamäki 1e7f3eeeb4 1.45: updated Makefile for release 2010-10-03 17:10:13 +02: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 46b3a0f532 Autogenerated Makefile updated. 2010-09-20 21:21:33 +10:00
Ettl Martin 76ce9db90a reverted makefile changes back from clang++ to g++ 2010-09-16 21:41:49 +02:00
Ettl Martin f6e75b5542 fixed clang++ warning: lib/path.cpp:80:2: warning: no newline at end of file [-pedantic] 2010-09-16 21:39:17 +02:00
Daniel Marjamäki f843678a07 Redundant conditions: some refactorings
* removed the 'redundant null pointer' check. sometimes it's unsafe to delete NULL pointer. and this check doesn't point out errors anyway.
 * moved the 'redundant condition' check for set::remove. Moved it to CheckStl.
2010-09-16 18:49:23 +02: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
Kimmo Varis 688e26796f Fix compiling with GCC. 2010-09-05 11:47:31 +03:00
Kimmo Varis 42dfd255e3 Fix Linux makefile after moving timer code to own files. 2010-08-31 23:22:48 +03:00
Debrard Sébastien 071f7d5f34 Fixed #2005 (refactoring dangerous / obsolete functions checks) 2010-08-31 18:58:01 +02: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
Sbastien Debrard a55a06cea5 Fixed #1933 (Add checks for obsolete functions) 2010-08-14 20:13:46 +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
Ettl Martin a6be941006 actived Wconversion flag in Makefile and fixed almost all Warnings from gcc-4.4 2010-08-12 19:39:19 +02:00
Daniel Marjamäki adc47f1820 Fixed #1487 (fix gcc compiler warnings) 2010-08-06 21:02:43 +02:00
Daniel Marjamäki a274cb1015 cleanup headers 2010-07-31 08:52:28 +02:00
Daniel Marjamäki 1a5a1002b6 updated dmake. updated Makefile (includes cleanup). 2010-07-27 15:25:03 +02:00
Kimmo Varis 3c12d23fd9 Add Path class for path handling routines.
In this initial commit the Path class contains two methods for
converting path separators. I want to move cppcheck path handling
to direction that we internally have paths with / separator. And
convert from/to native separators when needed.
2010-07-17 17:38:36 +03:00
Daniel Marjamäki 78b8acfc88 Makefile: debug mode 2010-07-10 11:35:37 +02:00
Daniel Marjamäki 3b391398c1 1.44: updated Makefile for release 2010-07-10 11:31:07 +02:00
Daniel Marjamäki 4b0e3edfa4 Unit Testing: Test that suppressions work 2010-07-09 13:27:15 +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 5c00c1a539 removed the deprecated checkheaders 2010-06-15 16:56:04 +02:00
Reijo Tomperi c27e631aa2 Add testthreadexecutor.cpp 2010-06-14 23:18:09 +03:00
Konrad Windszus c39f80d361 Ticket #1318: Make sure error ids are unique 2010-05-13 22:14:29 +02:00
Daniel Marjamäki 550dc9bd1d Makefile: Set debug mode 2010-05-08 15:38:48 +02:00
Daniel Marjamäki 22248ee714 Makefile: Set release mode 2010-05-08 15:37:19 +02:00
Daniel Marjamäki 956495e10b Makefile: Updated with dmake 2010-05-01 14:03:36 +02:00
Reijo Tomperi eb79e5f918 Enable -Wshadow in Makefile 2010-04-11 14:57:03 +03:00
Daniel Marjamäki 5fed938f56 Fixed #1190 (array index out of bounds when index variable is assigned in a condition) 2010-04-10 21:12:00 +02:00
Daniel Marjamäki 618e0217cf Makefile: updated the Makefile with dmake 2010-04-05 19:33:28 +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 48a63e4c35 gcc: removed -Wlogical-op that is not supported by old GCC 2010-03-13 08:03:30 +01: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 0158c7aa55 Makefile: updated by latest dmake 2010-03-09 08:30:18 +01:00
Daniel Marjamäki cffe20a440 dmake: debug/release mode, more gcc warnings 2010-03-09 08:10:05 +01:00
Daniel Marjamäki ebc87c01dd Makefile: Readded old Makefile again 2010-02-23 18:38:18 +01:00
Daniel Marjamäki ca2ef4c642 Removed old Makefile - we'll use CMake from now on 2010-02-14 08:19:02 +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
Daniel Marjamäki 0c13f9ba5c Added TestLocalLeaks 2009-12-14 20:30:31 +01:00
Daniel Marjamäki 701a7b0b41 Makefile: restored to debugging mode 2009-12-06 18:30:43 +01:00
Daniel Marjamäki f701005fb8 update the Makefile for the release 2009-12-06 14:02:17 +01:00
Reijo Tomperi 7596e76a79 Added 'make man' to Makefile 2009-11-22 16:43:55 +02:00
Daniel Marjamäki 27761a6edc Restructuring: Updated the dependency walker 2009-10-26 22:36:36 +01:00
Daniel Marjamäki fce0548725 Refactoring: Updated Makefile 2009-10-25 21:25:07 +01:00
Daniel Marjamäki d4f706e040 fixed qmake building with new folder structure 2009-10-25 19:29:10 +01:00
Daniel Marjamäki 09859c1019 refactoring the folder structure 2009-10-25 12:49:06 +01:00
Daniel Marjamäki 3ecb7ddf26 Makefile: Updated for the release 2009-10-25 08:48:06 +01:00
Daniel Marjamäki a36c31628d Fixed by #828 (Exception Safety: No throwing in destructors) 2009-10-19 20:57:11 +02:00
Daniel Marjamäki 68d2b3c86c Revert "Makefile: made it ready for release"
This reverts commit 67d6954374.
2009-09-24 20:50:36 +02:00
Daniel Marjamäki 67d6954374 Makefile: made it ready for release 2009-09-22 21:21:02 +02:00
Daniel Marjamäki 232f62f98a generated the Makefile 2009-08-16 21:17:02 +02:00
Daniel Marjamäki 8e1a7001dd updated the Makefile for the release 2009-08-16 16:57:24 +02:00
Daniel Marjamäki 03f3ee62a0 cleanup: removed deprecated files. security checking and errmsg 2009-07-12 19:18:38 +02:00
Daniel Marjamäki 15dbf9c085 Refactoring: Renaming the CheckMemoryLeakClass to CheckMemoryLeak. Deleted testmemleakmp 2009-06-08 18:51:17 +02:00
Daniel Marjamäki d7fa3e6dda Refactoring: Renamed CheckFunctionUsage to CheckUnusedFunctions 2009-06-07 22:12:20 +02:00
Daniel Marjamäki 638d18cfc8 tokenize: use mathlib when simplifying calculations (ticket: 236) 2009-04-06 19:23:30 +02:00
Daniel Marjamäki 97f5380a2c added testing for mathlib 2009-04-06 19:08:13 +02:00
Daniel Marjamäki f0d870c52d Added math library that was created by hoangtuansu 2009-04-06 18:27:14 +02:00
Daniel Marjamäki 262d182f26 updated the MakeFile 2009-03-21 18:38:24 +01:00
Daniel Marjamäki 729b2c1706 Fixed 188 (Return of auto variable address), applied patched submitted by gscacco 2009-03-21 18:36:41 +01: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 0ed425d105 refactoring 2009-03-20 20:21:54 +01:00
Daniel Marjamäki 33df121567 added and integrated checkautovariables that gscacco created 2009-03-19 20:55:50 +01:00
Daniel Marjamäki a573c62cd5 refactoring: first step - started with checkstl 2009-03-18 22:40:38 +01:00
Reijo Tomperi 896abcb569 Fixed some memory leaks in test cases 2009-03-17 21:59:40 +02: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
Daniel Marjamäki 5269e38ae2 security: renamed classes 2009-02-21 12:12:31 +00:00
Daniel Marjamäki b826d2e41b security: Renamed files 2009-02-21 12:07:19 +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 4e1f19a366 input validation: added checking 2009-02-19 08:03:14 +00:00
Daniel Marjamäki 7858ac9ab8 checkbufferoverrun: cleaned up the header includes 2009-02-11 05:16:10 +00:00
Daniel Marjamäki 946770b119 updated the Makefile 2009-02-11 05:09:06 +00:00
Daniel Marjamäki c1638996f9 STL: added check for iterator usage 2009-02-10 19:40:21 +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
Reijo Tomperi 7589dc3d16 testcppcheck.cpp file added, test case "linenumbers" added, codeblocks project file updated 2009-02-05 20:06:39 +00:00
Leandro Penz 7adcd0c355 dangerousfunctions: added check for mktemp (ticket #69), and refatored gets and scanf check from bufferoverrun into dangerousfunctions. 2009-01-31 18:24:48 +00:00
Daniel Marjamäki e691ade8e6 Build: Enabled the Wextra flag when building cppcheck 2009-01-22 21:16:50 +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
Leandro Penz 2907708af8 make test now builds everything and runs all tests. 2009-01-10 21:13:26 +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 0c3c00daec errmsg: Added errormessage for 'the class 'classname' doesn't have a constructor' 2009-01-10 13:08:44 +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
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
Daniel Marjamäki 149ab87931 tools/dmake: A few simple fixes. Commited the new Makefile 2009-01-06 20:12:59 +00:00
Reijo Tomperi e435a1f1d6 Refactoring: Added src/ and test/ folders. Moved source files to those folders, updated makefile and codeblocks project file. 2009-01-06 14:18:36 +00:00
Daniel Marjamäki f0f42563e6 Makefile: Fixed the preprocessor dependencies 2009-01-06 08:35:04 +00:00
Reijo Tomperi 6850441c4a ErrorMessage class added (not used yet and it is still unfinished) 2009-01-03 13:51:55 +00:00
Daniel Marjamäki 5cfa05e180 Makefile : Removed the .gprof makefile and added a CGLAGS variable so the normal Makefile can easily be changed 2008-12-25 17:11:01 +00:00
Daniel Marjamäki 1776fdcdcd Makefile : Reverted the Makefile changes in [763] because they were committed by mistake 2008-12-25 08:00:42 +00:00
Daniel Marjamäki a65a66bee0 Tokenizer::setVarId : small optimisations 2008-12-24 07:46:57 +00:00
Daniel Marjamäki bf37a1153c memory leak : Added experimental functionality for multipass checking of memory leaks. Only added in the unit tests yet. 2008-12-20 17:52:15 +00:00
Daniel Marjamäki 11f05fe7e9 Redundant condition: Added a test case when a condition is not redundant 2008-12-19 21:15:18 +00:00
Daniel Marjamäki 707a406dab Redundant condition : Added a check 2008-12-15 07:29:55 +00:00
Reijo Tomperi 3851c0f019 Refactoring: Renamed all files to lower case. Also added testfilelister.cpp which was forgotted from previous commit. 2008-12-14 20:49:55 +00:00
Reijo Tomperi a15381dcbe Fixed bug, paths like "/path/../index.h" created duplicate warnings with files like "/index.h". Relative paths are now simplified to
look a like. Test cases added.
2008-12-14 19:03:34 +00:00
Reijo Tomperi 237dc98ea5 Added test file for TOKEN class 2008-12-09 18:13:38 +00:00
Daniel Marjamäki 1a5d694834 testclass : Added a new unit testing file 2008-12-06 18:31:26 +00:00
Reijo Tomperi ad5fbe5dc6 Refactoring: CppCheckExecutor class added 2008-11-24 21:50:20 +00:00
Reijo Tomperi beee37c86b Refactoring: Updated makefile to be more up-to-date after big refactoring changes. 2008-11-23 20:12:43 +00:00
Daniel Marjamäki ce14eb6590 Function Usage: Make sure it's detected that func is used in code such as 'if ( func() ) { ..' 2008-11-23 11:40:41 +00:00
Reijo Tomperi 3ba83b6620 Refactoring: token.* files added, Some functions from Tokenizer moved under TOKEN. Renamed few functions, like gettok() -> at(), combineWithNext() and deleteNext() are also new
names for old functions. Usage was gettok( tok, 2 ), but now it is tok->at( 2 ).
2008-11-22 22:49:14 +00:00
Daniel Marjamäki 6687bc7b9a Function Usage: Added a new class for checking function usage 2008-11-22 18:51:01 +00:00
Reijo Tomperi 125692bc65 Refactoring: CommonCheck.* files are removed. Rest of the global functions from there were moved to Tokenizer class 2008-11-21 21:14:24 +00:00
Daniel Marjamäki 1801f25bce Simplify Tokens: Replace NULL with 0 and '(char *)0' with '0' 2008-11-15 16:27:09 +00:00
Reijo Tomperi 403017de99 Refactoring: New classes CppCheck and Settings. Code from main.cpp was moved to cppcheck.cpp 2008-11-14 22:26:38 +00:00
Reijo Tomperi 1c9bf8cabd Make: New improved makefile 2008-11-13 20:48:25 +00:00
Reijo Tomperi f242c4fddd Refactoring: Following new classes were created:
CheckBufferOverrunClass
CheckClass
CheckHeaders
CheckMemoryLeakClass
CheckOther
Preprocessor
2008-11-11 06:42:09 +00:00
Daniel Marjamäki 15e9f4ae25 Unused private function: Added test 2008-11-08 13:14:16 +00:00
Daniel Marjamäki 69a3595f19 cleanup of UTF-8. Updated the Makefile 2008-11-06 00:11:37 +00:00
Daniel Marjamäki f25de185b4 File Listing: New handling of listing files. (Bug 2194949) 2008-11-03 18:52:39 +00:00
Daniel Marjamäki 0185f32bee Makefile: Applied changes suggested by Reijo 2008-11-01 17:12:05 +00:00
Daniel Marjamäki cde8e89987 preprocessor: Added new preprocessor. Only used in the tests yet. 2008-10-26 10:54:20 +00:00
Daniel Marjamäki 30e1d5c06e CheckIncompleteStatement: Fixed false positive generated by CheckIncompleteStatement (bug 2187837) 2008-10-23 17:45:24 +00:00
Daniel Marjamäki b235c373a5 testing: Various fixes to make the tests compile without warnings/errors 2008-10-16 17:22:26 +00:00
Daniel Marjamäki 534445951c testunusedvar: Added simple testing for unused variables 2008-09-24 11:28:00 +00:00
Daniel Marjamäki 778410ccbf char variable usage: Added checking 2008-08-28 06:36:30 +00:00
Daniel Marjamäki fd4e8b7345 testing: added 'testconstructors' 2008-08-24 06:47:33 +00:00
Daniel Marjamäki 47d796519a test: Added 'testdivision' 2008-08-23 16:40:53 +00:00
Daniel Marjamäki 8c901694b8 testing: Added 'testbufferoverrun' 2008-08-23 14:12:08 +00:00
Daniel Marjamäki 61242571dd testing: Started using the MiniCppUnit framework 2008-08-21 17:32:34 +00:00
Daniel Marjamäki 72a1f746b8 Makefile: Removed Statements 2008-04-06 09:47:25 +00:00
Daniel Marjamäki 4cb3c7b96b Unit Testing: Start 2008-02-16 15:46:32 +00:00
Daniel Marjamäki ade2265ed2 Minor modifications to make it compile on linux 2007-07-18 06:37:37 +00:00
Daniel Marjamäki 7ea6e10f1f Minor updates to make it easier to port to Linux 2007-07-17 06:39:34 +00:00
Daniel Marjamäki ba13ad5e3c Minor updates to make it portable to Linux. 2007-07-17 06:15:50 +00:00
Daniel Marjamäki 7b7650ad97 Makefile: Updated because the program has been split up into several files. 2007-05-26 06:42:31 +00:00
Daniel Marjamäki 8ccc97a22e Updated the Makefile. The name of this project has changed from 'codecheck' to 'cppcheck' 2007-05-15 11:19:22 +00:00
Daniel Marjamäki 507c9f9f64 Added files from local repository. 2007-05-07 17:31:35 +00:00