Slava Semushin
8643936e0c
Fixed ticket #500 (Tokenizer: simplify the "(p != NULL)" conditions)
...
Also teach simplifyIfNot() to handle variables like Foo::var.
https://sourceforge.net/apps/trac/cppcheck/ticket/500
2009-07-25 18:23:03 +07:00
Daniel Marjamäki
9136d8cf80
Tokenizer: simplify return statements - remove redundant parantheses
2009-07-24 21:55:35 +02:00
Daniel Marjamäki
024778d6eb
tokenizer: simplify '?:' better when the condition is always true
2009-07-23 10:12:02 +02:00
Daniel Marjamäki
62f681094f
tokenizer: added todo for simplifying '(true?x:y)' => '(x)'
2009-07-22 19:39:31 +02:00
Daniel Marjamäki
1d514e1afe
Fixed #497 (Templates are not expanded correctly)
2009-07-22 13:29:42 +02:00
Slava Semushin
53c120c701
Fixed ticket #479 (varId not assigned to reference to standart container)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/479
2009-07-18 17:41:46 +07:00
Daniel Marjamäki
2ccc01f5ed
tokenizer: improved the Tokenizer::simplifyIfNot
2009-07-18 10:18:46 +02:00
Vesa Pikki
962757c257
Added support for checking files via commandline arguments.
2009-07-16 08:20:29 +03:00
Daniel Marjamäki
54f676177e
doxygen: added a todo to simplify 'for' loops better in the tokenizer
2009-07-14 15:30:23 +02:00
Daniel Marjamäki
69b1df3bb8
tokenizer: simplify the '?:' operator
2009-07-14 12:06:38 +02:00
Daniel Marjamäki
4f2520bef3
doxygen: made the todos visible in the doxygen output
2009-07-14 08:17:12 +02:00
Daniel Marjamäki
17008879ac
minor refactoring: header cleanup. use forward declarations instead of includes
2009-07-13 19:11:31 +02:00
Kimmo Varis
6393498966
Astyle fixes.
2009-07-13 16:51:35 +03:00
Daniel Marjamäki
a6ac747830
tokenizer: Don't simplify declarations of static variables
2009-07-06 11:45:14 +02:00
Reijo Tomperi
8b0e481d46
Refactoring: Rename member functions to follow naming guidelines.
2009-07-05 23:16:43 +03:00
Reijo Tomperi
e858ab2f0d
Fix ticket #457 (False positive: Member variable not assigned a value in copy constructor)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/457
Simplify "a = 0, b = 0;" into "a = 0; b = 0;"
2009-07-05 21:29:09 +03:00
Reijo Tomperi
26358debcf
Fix ticket #448 (false positive:: resource leak)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/448
Tokenizer improved to simplify "if( (p)==-1 )"
2009-07-03 21:57:44 +03:00
Reijo Tomperi
bdf1987cc4
Fix ticket #435 (False positive: Invalid number of character when ({}) is used in code)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/435
2009-06-22 23:54:11 +03:00
Daniel Marjamäki
453a5cdd47
Fixed ticket #411 (false positive: resource leak in while loop)
2009-06-20 13:58:30 +02:00
Daniel Marjamäki
03944f1b96
Tokenizer: Fixed problem when simplifying casts
2009-06-19 19:25:56 +02:00
Reijo Tomperi
5f7d88b36c
Fix ticket #416 (False positive: Redundant code)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/416
2009-06-19 19:03:09 +03:00
Reijo Tomperi
e8d1905e6d
Fix ticket #418 (delete a,b; not tokenized correctly)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/418
2009-06-19 00:00:16 +03:00
Slava Semushin
fafc261611
Fixed ticket #278 (variable id: references are not handled correctly)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/278
2009-06-18 23:30:04 +07:00
Slava Semushin
8c327f82b3
Fixed ticket #346 (adding a "const" token prevents detection of memory leak)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/346
2009-06-15 00:32:34 +07:00
Daniel Marjamäki
af7c63155e
Fixed #387 (Templates: template functions that return a pointer are not simplified correctly)
...
* Fixed so that the tokenizer handle variable declarations better when the variable is assigned the return value of a template function
* Fixed so that the simplifyTemplates detect that a template function is used when its return value is taken
2009-06-14 14:57:47 +02:00
Daniel Marjamäki
c56c913635
Merge branch 'master' of git@github.com:danmar/cppcheck
2009-06-14 11:30:22 +02:00
Daniel Marjamäki
be52e573f3
Fixed ticket #387 (Templates: template functions that return a pointer are not simplified correctly)
2009-06-14 11:28:25 +02:00
Slava Semushin
4286fdbabb
Token: introduce str(const std::string &) method.
...
Get rid of useless std::string.c_str() calls.
No functional change.
2009-06-14 13:55:23 +07:00
Slava Semushin
bc32d04efa
Replace tok->previous()->previous() call to tok->tokAt(-2).
...
Done by command:
git grep -l 'previous()->previous()' | xargs sed -i 's|previous()->previous()|tokAt(-2)|'
No functional change.
2009-06-14 13:33:45 +07:00
Slava Semushin
4245047674
Replace tok->next()->next() call to tok->tokAt(2).
...
Done by command:
git grep -l 'next()->next()' | xargs sed -i 's|next()->next()|tokAt(2)|'
No functional change.
2009-06-14 13:33:45 +07:00
Reijo Tomperi
a6d2dceeb3
Fixed ticket #398 (valgrind shows error when running testrunner)
...
http://172.29.29.21/apps/trac/cppcheck/ticket/398
2009-06-13 00:17:06 +03:00
Slava Semushin
cba0d9e130
Fixed ticket #392 (false positive and wrong allocation and deallocation not detected)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/392
2009-06-12 21:14:01 +07:00
Slava Semushin
56a0660972
Tokenizer::createLinks(): correct comment.
...
No code change.
2009-06-12 20:49:49 +07:00
Slava Semushin
7bee0cd2df
Fixed ticket #390 (wrong allocation and deallocation not detected)
...
http://sourceforge.net/apps/trac/cppcheck/ticket/390
2009-06-12 20:04:58 +07:00
Reijo Tomperi
092bd79ec4
Fix ticket #386 (False positive (memory leak) with comma)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/386
2009-06-11 00:12:26 +03:00
Daniel Marjamäki
d8f95f68c3
Fixed ticket #377 (False positive with "char a[]")
...
Updated the tokenizer so "char a[]" is tokenized into "char *a"
2009-06-10 19:36:00 +02:00
Daniel Marjamäki
dd473b074a
Fix #153 (Unsigned divide)
...
The "unsigned i" variable declaration wasn't handled well. So I added an "int" token.
2009-06-06 10:40:48 +02:00
Reijo Tomperi
9cd5558f5e
Fix ticket #364 (false positive:: division by zero)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/364
2009-06-06 00:33:13 +03:00
Slava Semushin
58781c761c
Fixed ticket #329 (snprintf size is out of bounds when two variables in one scope with similar names)
...
FIXME:
Because it's fix for simplifyTokenList() test should be moved to
test/testsimplifytokens.cpp file.
http://apps.sourceforge.net/trac/cppcheck/ticket/329
2009-06-05 09:53:34 +07:00
Reijo Tomperi
3428584925
Fix ticket #351 (false positive::resource leak)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/351
2009-06-03 22:02:16 +03:00
Slava Semushin
09fce76e30
Fixed ticket #348 (Simplify sizeof for pointers)
...
https://apps.sourceforge.net/trac/cppcheck/ticket/348
2009-06-01 17:01:45 +07:00
Slava Semushin
3d0926936f
Tokenizer::simplifyTokenList: use SizeOfType().
...
No functional change.
2009-06-01 16:59:35 +07:00
Slava Semushin
fa5cdcb128
Tokenizer::simplifyTokenList: reduce indent.
...
No functional change.
2009-06-01 16:27:04 +07:00
Slava Semushin
dc6168b9d7
Tokenizer::simplifyTokenList: some improvements.
...
Corrections for 2de4c516e9
commit:
- declare variable near their usage
- set right position of next token
2009-06-01 03:01:10 +07:00
Reijo Tomperi
2de4c516e9
Fixed ticket #338 (Simplify sizeof for pointer arrays) by patch submitted by php-coderrr
...
http://apps.sourceforge.net/trac/cppcheck/ticket/338
2009-05-31 22:33:44 +03:00
Slava Semushin
8822cbb713
src/tokenize.cpp(unwantedWords): propagate const modifier.
...
No functional change.
2009-06-01 02:04:29 +07:00
Daniel Marjamäki
2120edb89b
Variable Id: structs must not have variable id
2009-05-31 18:46:32 +02:00
Slava Semushin
5f57e4ac2d
Merge branch 'master' of git@github.com:danmar/cppcheck
2009-05-31 20:50:55 +07:00
Slava Semushin
fb0c217c3e
src/tokenize.cpp(combineWithNext): propagate const modifier.
...
No functional change.
2009-05-31 20:48:40 +07:00
Reijo Tomperi
3fe1b50e60
Fix ticket #344 (Tokenizer crash in Windows)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/344
2009-05-31 15:55:06 +03:00
Daniel Marjamäki
aba7518aeb
Fixed ticket #345 ('!' and 'not' tokens interpreted differently even though they mean the same)
2009-05-31 10:42:27 +02: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
Reijo Tomperi
8876f0ee57
Fix ticket #342 (Simplify "if( (true) == true )")
...
http://apps.sourceforge.net/trac/cppcheck/ticket/342
2009-05-30 00:04:01 +03:00
Reijo Tomperi
a3be307c03
Fix bug related to ticket #330 , cppcheck hanged with some files containing "(("
...
http://apps.sourceforge.net/trac/cppcheck/ticket/330
2009-05-28 23:03:36 +03:00
Daniel Marjamäki
a3990648a9
Tokenizer: Simplifying redundant parantheses
...
http://apps.sourceforge.net/trac/cppcheck/ticket/330
2009-05-28 19:37:39 +02:00
Reijo Tomperi
adb1ed4947
Fix ticket #319 (Function names are tagged as variables)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/319
2009-05-27 23:34:08 +03:00
Daniel Marjamäki
ca6d927dfa
Fix ticket 330 (found memory leak when __builtin_expect uses)
2009-05-27 20:49:29 +02:00
Daniel Marjamäki
e89c03da92
Fix ticket 308 (cppcheck msg:: invalid number of ((). Cant process file)
2009-05-27 20:07:18 +02:00
Daniel Marjamäki
b9b542d05b
Fixed ticket #333 (tokenizer: incorrect removal of decrement/increment)
2009-05-25 14:21:58 +02:00
Daniel Marjamäki
2d2c0e42cc
Fix ticket #317 (pre-increment causes style false positive)
2009-05-25 08:31:20 +02:00
Daniel Marjamäki
7fdd497c44
Fix ticket #317 (pre-increment causes style false positive)
2009-05-25 08:26:11 +02:00
Reijo Tomperi
0f9b2efa43
Fix ticket #326 (Reported memory leak when pointer returned by assign to function's parameter)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/326
2009-05-22 23:36:03 +03:00
Slava Semushin
0f20ce738d
Replaced two Token::simpleMatch() calls to one Token::Match().
...
Suggested by hyd_danmar in ticket
http://apps.sourceforge.net/trac/cppcheck/ticket/323
No functional change.
2009-05-22 22:03:42 +07:00
Daniel Marjamäki
f182365bd2
Applied patch 0001-Use-Token-simpleMatch-instead-of-Token-Match-w
...
Author: php-coder
Ticket: http://apps.sourceforge.net/trac/cppcheck/ticket/323
2009-05-21 17:55:52 +02:00
Reijo Tomperi
997a784bb6
Added TODO test case TestPreprocessor::multiline_comment
...
Made tokenizer to printout token list in case of syntax error, if debug is used
2009-05-13 00:01:53 +03:00
Reijo Tomperi
e83db8ac7b
Fix ticket #288 (Tokenizer::syntaxError should use error logger instead of std::cout)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/288
2009-05-11 22:52:04 +03:00
Reijo Tomperi
f2a5527e60
Fix #289 (if() is not properly tokenized)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/289
2009-05-09 23:12:14 +03:00
Reijo Tomperi
63da926ed2
Fix ticket #294 (### Error: Invalid number of character ()
...
http://apps.sourceforge.net/trac/cppcheck/ticket/294
2009-05-09 22:32:29 +03:00
Daniel Marjamäki
e9eba16053
templates: fixed problem when for example calling static member function in a template class ( #293 )
2009-05-09 08:02:59 +02:00
Daniel Marjamäki
dae530d8de
template: no usage -> no expansion ( #292 )
2009-05-08 16:19:22 +02:00
Reijo Tomperi
dd8b738f7f
Initial fix for ticket #283 (segmentation fault when checking xterm sources)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/283
It should print out error message now instead of crashing. Cleanup is needed.
2009-05-07 23:17:29 +03:00
Daniel Marjamäki
917a48cd65
templates: don't expand forward declarations for templates
2009-05-07 16:05:07 +02:00
Daniel Marjamäki
51beadd81c
templates: instantiations in a template class ( #280 )
2009-05-06 21:03:11 +02:00
Daniel Marjamäki
feba87187a
templates: speedup by breaking out inner loops ( #257 )
2009-05-05 20:16:57 +02:00
Daniel Marjamäki
96ebf343f1
speedup: made the token simplifications a little faster
2009-05-03 21:32:22 +02:00
Daniel Marjamäki
7a8b980627
templates: extracted the template simplification into a separate function
2009-05-03 21:23:47 +02:00
Reijo Tomperi
0f59ef9064
Fix #276 (simplification: Variable value)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/276
2009-05-03 21:57:27 +03:00
Reijo Tomperi
cb209bbd41
Fix #279 (Refactoring: replace and remove Token::aaaa , Token::aaaa0 and Token::aaaa1)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/279
2009-05-03 21:10:59 +03:00
Daniel Marjamäki
c9eab77683
varid: speedup of the algorithm for setting variable ids
2009-05-03 14:31:54 +02:00
Daniel Marjamäki
f6d6a3855e
varid: updated handling of variable id for class variables ( #26 )
2009-05-03 13:50:26 +02:00
Reijo Tomperi
e825de1450
Fix possible bug caused by previous commit.
2009-05-03 14:17:31 +03:00
Reijo Tomperi
b29673f4a2
Fix slowlyness, caused by one of the previous commits.
2009-05-03 14:07:32 +03:00
Daniel Marjamäki
6a009f7084
tokenizer: give class member variables varId ( #26 )
2009-05-02 22:57:18 +02:00
Daniel Marjamäki
e26c999020
Refactoring: Using MathLib for converting string to number
...
commit beacd5793f9e9987432a20ac39a76ae6c2c8babd
Author: Daniel Marjamäki <hyd_danmar@users.sourceforge.net>
Date: Sat May 2 10:44:18 2009 +0200
memleak: using mathlib
commit 4d28172a5d88cc2cbe5ed94a4e4fdbd0dd4bb5e1
Author: Daniel Marjamäki <hyd_danmar@users.sourceforge.net>
Date: Sat May 2 10:35:06 2009 +0200
tokenizer: using the MathLib for converting string to number
commit 4e4b95b3554c9c6d121efeb39741204b1621b1a3
Author: Daniel Marjamäki <hyd_danmar@users.sourceforge.net>
Date: Sat May 2 10:28:39 2009 +0200
CheckOther: Using mathlib
2009-05-02 10:45:15 +02:00
Reijo Tomperi
26c193f9bc
Fix ticket #204 (false positive::memory leak with --all when free is guarded by simple if)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/204
2009-05-01 21:31:07 +03:00
Reijo Tomperi
bc4fb21325
tokenizer: simplify assembler ( #270 ), fix _asm also.
...
http://apps.sourceforge.net/trac/cppcheck/ticket/270
2009-05-01 20:53:08 +03:00
Daniel Marjamäki
e37da13c26
tokenizer: simplify assembler ( #270 )
2009-05-01 12:39:14 +02:00
Reijo Tomperi
67832d89f7
Astyle fix
2009-05-01 13:08:19 +03:00
Reijo Tomperi
241ad528a9
Fix ticket #275 Simplify if( a == 0 ), if( 0 == a ) into if( !a )
...
http://apps.sourceforge.net/trac/cppcheck/ticket/275
2009-05-01 13:07:10 +03:00
Reijo Tomperi
7e5c32b7f4
Fix ticket #269 (Incorrect variable id, when delete is used.)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/269
2009-04-29 22:45:57 +03:00
Daniel Marjamäki
49430afabe
varid: Set variable id for stl containers and iterators
2009-04-25 16:55:00 +02:00
Reijo Tomperi
14eff64194
Fix ticket #258 (segmentation fault)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/258
2009-04-20 21:38:05 +03:00
Reijo Tomperi
23f00e64cb
Fix ticket #257 (Improve speed of template tokenizing)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/257
2009-04-14 23:21:52 +03:00
Daniel Marjamäki
6fb18b3ddc
simplify calculations: Don't simplify division with 0
2009-04-06 19:43:54 +02:00
Daniel Marjamäki
638d18cfc8
tokenize: use mathlib when simplifying calculations (ticket: 236)
2009-04-06 19:23:30 +02:00
Reijo Tomperi
51d97fa831
Fix ticket #212 (Tokenizer: Handle L "text")
...
http://apps.sourceforge.net/trac/cppcheck/ticket/212
2009-04-05 22:21:38 +03:00
Reijo Tomperi
14bdf1ee62
Fix ticket #239 (missing function implementation in namespace causes crash)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/239
2009-03-31 00:59:33 +03:00
Daniel Marjamäki
e45bb20f92
tokenizer: don't replace sizeof when size can't be determined ( #233 )
2009-03-29 16:36:34 +02:00
Daniel Marjamäki
6f7f8c4b4f
Tokenizer: Don't treat typedefs as variable declarations ( #234 )
2009-03-28 21:07:33 +01:00
Daniel Marjamäki
447c830e8f
performance enhancement (patch submitted by davidmiller in ticket 231)
2009-03-28 20:33:55 +01:00
Daniel Marjamäki
4eeac1f364
tokenizer: fix segmentation fault if end of token list is reached
2009-03-27 15:12:49 +01:00
Daniel Marjamäki
c74da7bab9
variable id: give std::string variables an id
2009-03-25 18:10:03 +01:00
Daniel Marjamäki
9f3634412e
simplify tokens (known variable values in conditions)
2009-03-25 07:10:17 +01:00
Daniel Marjamäki
65070cc067
Simplify if conditions more.. simplifyIfAssign + simplifyIfNot
2009-03-24 18:23:21 +01:00
Daniel Marjamäki
7905cbc5e7
simplify tokens: move assignment out from condition (Ticket #201 )
2009-03-23 18:20:56 +01:00
Daniel Marjamäki
0a71771c6a
improved the Tokenizer::setVarId to handle function parameters better
2009-03-21 21:58:39 +01:00
Daniel Marjamäki
f37dd4f143
Fixed ticket 184 (Tokenizer - Simplification: Split up variable declarations)
2009-03-18 20:32:05 +01:00
Reijo Tomperi
2fb4c52728
Fixed tokenizer: "return - 2 ;" --> "return -2 ;"
2009-03-18 20:48:06 +02:00
Daniel Marjamäki
9c057c707b
tokenize negative numbers into a single token
2009-03-17 20:50:06 +01:00
Reijo Tomperi
2a3535c04f
Fix ticket #186 (runtime error when checking code that has a namespace)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/186
2009-03-17 20:16:15 +02:00
Daniel Marjamäki
9fe8ae452a
Refactoring the code for the templates handling
2009-03-17 18:55:28 +01:00
Reijo Tomperi
b3dd9e699b
--debug flag can be used to printout token list (for development purposes)
2009-03-16 23:31:52 +02:00
Reijo Tomperi
21b687b301
Improved tokenizer to handle '#' better. Previously everything after # was combined into a single token,
...
now # is considered more like an alphabet, with few exceptions, e.g. "##" tokens.
2009-03-15 23:09:27 +02:00
Daniel Marjamäki
a6ad972aad
Fix Ticket 180 (Templates: Expanding member functions that are not implemented inline)
2009-03-15 20:03:29 +01:00
Daniel Marjamäki
9b06b22053
templates: replace constructor/destructor names when expanding template classes
2009-03-15 17:07:05 +01:00
Reijo Tomperi
ca7870af33
Fix ticket #177 (Tokenizer doesn't add braces around if-scope)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/177
2009-03-15 14:44:57 +02:00
Reijo Tomperi
c385b3e045
Improve creation of link() for Token class. Tokenizer::simplifyTokenList() should now return
...
code where Token::link() actually works.
2009-03-15 01:39:45 +02:00
Daniel Marjamäki
6eadbaae04
templates: better handling of templates with multiple type arguments
2009-03-14 21:26:32 +01:00
Daniel Marjamäki
01c39daa13
Merge branch 'ref'
2009-03-13 22:39:47 +01:00
Daniel Marjamäki
daa911daeb
refactoring: moved 'FindClassFunction' from CheckClass to Tokenizer
2009-03-13 22:28:44 +01:00
Reijo Tomperi
116e940214
Fixed ticket #169 (Add Token::link())
...
http://apps.sourceforge.net/trac/cppcheck/ticket/169
2009-03-13 23:25:56 +02:00
Reijo Tomperi
3c4704a00c
Fix ticket #151 (Handling of namespaces)
...
http://apps.sourceforge.net/trac/cppcheck/ticket/151
2009-03-13 01:07:05 +02:00
Daniel Marjamäki
4c28882a12
expanding template classes
2009-03-12 22:17:42 +01:00
Daniel Marjamäki
1514e65464
astyle style fixes
2009-03-11 19:14:45 +01:00
Daniel Marjamäki
77cf2213fe
templates: simplify template functions with 1 type argument
2009-03-11 18:50:24 +01:00
Daniel Marjamäki
eac29d151c
made the Tokenizer::simplifyCasts more generic
2009-03-10 21:26:08 +01:00
Daniel Marjamäki
f8cd34198b
simplify casts
2009-03-09 19:47:21 +01:00
Reijo Tomperi
42a9eb9e53
Fix ticket #133 (Segmentation fault when static_cast is in for loop)
2009-03-05 21:32:02 +02:00
Daniel Marjamäki
8b7a5dd494
fixed tokenizer problem when reading char constants
2009-03-04 17:02:45 +00:00
Daniel Marjamäki
5c1d4f2703
simplify calculations better
2009-03-04 06:24:03 +00:00
Daniel Marjamäki
547f120ee9
known variables: better handling of ++ and --
2009-03-04 06:03:51 +00:00
Daniel Marjamäki
fdaa1af694
removed deprecated flag 'firstMatch'
2009-03-01 20:02:24 +00:00
Reijo Tomperi
fc8f47145a
Copyrights updated
2009-03-01 19:52:33 +00:00
Daniel Marjamäki
c7b068c174
variable id: fixed so that the variable ids are assigned correctly (ticket:126)
2009-03-01 16:37:02 +00:00
Daniel Marjamäki
4e465f7073
variable declarations: don't simplify when declaring and assigning array in the same statement
2009-02-28 20:40:37 +00:00
Daniel Marjamäki
c3bbd603c0
variable id: handling 'return' and 'else' better
2009-02-28 20:21:48 +00:00
Daniel Marjamäki
7d9bf491ec
sizeof: fixed a problem with 'sizeof(varname)' but there are more to fix with it
2009-02-28 08:34:02 +00:00
Daniel Marjamäki
6b7b27a2e8
simplify known variable: don't simplify this ';i++;'
2009-02-27 18:25:47 +00:00
Daniel Marjamäki
f4a8bc85f2
simplify tokens: fixed bug when removing redundant parantheses around variable
2009-02-27 06:07:38 +00:00
Daniel Marjamäki
c1da4ae57d
simplify tokens: remove redundant parantheses around variable.. 'p = (q);'
2009-02-25 19:55:24 +00:00
Daniel Marjamäki
159332fde4
sizeof fix. classes and structs are always given the size 100. This removes false positives about mismatching size
2009-02-24 16:30:57 +00:00
Daniel Marjamäki
1e3047b9c2
simplify tokens: simplify known variable value handles ++ and -- better
2009-02-24 16:11:37 +00:00
Daniel Marjamäki
d8927e720d
constructors: don't warn about missing constructor if class only has static variable members
2009-02-21 13:35:55 +00:00
Daniel Marjamäki
439b8c4051
simplify known variables: variable used as array index
2009-02-20 17:27:57 +00:00
Daniel Marjamäki
f30d7db1e8
activated the Tokenizer::elseif functionality
2009-02-17 20:03:08 +00:00
Daniel Marjamäki
1043b76d31
Added Tokenizer::elseif for breaking up 'else if' into 'else { if ..'
2009-02-17 19:18:26 +00:00
Daniel Marjamäki
4aef89c311
tokenizer: fixed issues related to variable ids
...
* use setVarId in simplifyTokenList
* make sure function parameters and variables declared in for example for loops get variable ids
2009-02-16 17:41:33 +00:00
Reijo Tomperi
ba28c07f9d
astyle fix
2009-02-15 18:47:24 +00:00
Daniel Marjamäki
b1982b2041
tokenizer: improved the simplification of '*(var+num)' => 'var[num]'
2009-02-15 14:02:57 +00:00
Daniel Marjamäki
56d685c179
tokenizer: Remove redundant parantheses around number. Ticket: #105
2009-02-15 13:28:54 +00:00
Daniel Marjamäki
265ef0f4a5
Tokenizer: Fixed bug in tokenizer that removed '\' from preprocessor lines
...
Ticket: #106
2009-02-15 11:42:04 +00:00
Reijo Tomperi
1e07847ecf
Constant variable converting converted struct members (foo.a => foo.45) also, fixed that.
2009-02-14 21:33:28 +00:00
Reijo Tomperi
fba8c54758
Fix ticket #107 (Convert + + into + and + - into -) and add test case for it
2009-02-14 20:56:08 +00:00
Reijo Tomperi
997cb071b7
astyle fix
2009-02-14 18:40:04 +00:00
Daniel Marjamäki
4a1488b1a9
tokenizer: tokenize '++', '--' and '>>' correctly
2009-02-14 10:13:50 +00:00
Daniel Marjamäki
17fbab018c
simplify known value: insert known variable value into calculations
2009-02-14 06:11:37 +00:00
Leandro Penz
127a910516
Tokenizer: fixed ## tokenization.
2009-02-13 13:33:12 +00:00
Reijo Tomperi
5d3574bb03
Fix ticket #100 (Simplify constants simplifies leaks out from variable scope and simplifies whole file)
2009-02-12 19:26:42 +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
cb5974e94e
Fixed issue about 4+5 being made a single token, problem appeared in recent commits.
2009-02-08 10:56:20 +00:00
Reijo Tomperi
c345fa6186
Fix ticket #89 (False positive, (style) Redundant code - begins with numeric constant (e-value))
2009-02-08 10:39:55 +00:00
Reijo Tomperi
da3efe8fa2
Improve fix made for Ticket #85 to handle strings that are in 3 parts also.
2009-02-08 10:25:33 +00:00
Reijo Tomperi
4305d749ff
Fixed ticket #88 (False positive, (style) Redundant code - begins with numeric constant)
2009-02-08 09:51:45 +00:00
Reijo Tomperi
200a159c67
Fix ticket #85 (False positive (style) Redundant code, begins with string)
2009-02-08 08:52:03 +00:00
Reijo Tomperi
d48671bdfb
Fixed more of ticket #81 (getting rid of compiler warnings)
2009-02-07 20:55:25 +00:00
Reijo Tomperi
798d86216a
Fix ticket #83 (cppcheck hangs) and add a test case for it
2009-02-07 19:15:10 +00:00
Daniel Marjamäki
3c289e52c5
memory allocation: check for mismatching size
2009-02-07 10:54:39 +00:00
Daniel Marjamäki
7ccb6217bf
remove casts: Added test case to ensure that function declarations are not reduced
2009-02-04 19:40:48 +00:00
Reijo Tomperi
142a21973a
Fixed varid is 0 bug which happened with sizeof(var[0]) and added testcase for it
2009-02-03 21:42:50 +00:00
Daniel Marjamäki
59f95d311b
tokenizer: setvarid handle variable declaration at start of token list
2009-02-02 19:19:36 +00:00
Daniel Marjamäki
0059ceefb9
Tokenizer: sizeof handling of 'sizeof(var[0])'
2009-02-02 18:59:32 +00:00
Daniel Marjamäki
d0af67a1b1
Tokenizer: setVarId improved to handle declaration at the first token
2009-02-02 17:35:46 +00:00
Daniel Marjamäki
27c0f786bc
tokenizer: improved sizeof handling
2009-02-02 17:27:34 +00:00
Daniel Marjamäki
b7b055e885
tokenizer: fixed TestTokenizer::sizeof1
2009-01-28 17:38:32 +00:00
Reijo Tomperi
2f7dec2fc3
Partial support for sizeof x, by converting it into sizeof(x). Does not handle complex structures. Closing ticket #65
2009-01-27 20:47:00 +00:00
Daniel Marjamäki
762ae69304
function parameters: fixed segmentation fault (derefence null)
2009-01-27 07:39:11 +00:00
Reijo Tomperi
e764cc4f95
Fix ticket #25 (simplify "void f(x) int x; {" into "void f(int x) {")
2009-01-26 22:26:50 +00:00
Daniel Marjamäki
ca0f007ca4
tokenizer: simplify redundant paranthesis
2009-01-26 16:38:08 +00:00
Reijo Tomperi
22593adeac
Fix ticket #57 (wrong path in error message)
2009-01-24 20:34:16 +00:00
Reijo Tomperi
98d7f02ebc
Added test case preprocessor_and_operation for ticket #55 (also fixed style from previous commit)
2009-01-24 18:50:09 +00:00
Daniel Marjamäki
0b95fdafb7
tokenizer: Added guard in case the preprocessor is mismatching
2009-01-24 17:15:38 +00:00
Daniel Marjamäki
9d29de02d3
removed windows encodings
2009-01-23 21:34:03 +00:00
Daniel Marjamäki
42e56153a4
borland and visual c++ fixes
2009-01-23 21:28:45 +00:00
Reijo Tomperi
8d6f41397a
Fixing ticket #35 (Get rid of #ifdefs in our code where possible)
2009-01-23 20:25:13 +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
Daniel Marjamäki
820df7fdbd
code style
2009-01-21 07:23:15 +00:00
Nicolas Le Cam
001a4b588e
Fix Tokenizer::setVarId for pointers and two types variable declaration
2009-01-20 23:31:54 +00:00
Reijo Tomperi
6d8387914b
Fixes test case "file2", fixes bug with include file handling
2009-01-20 22:25:49 +00:00
Nicolas Le Cam
5d8f506d6b
Tokenizer: Remove 'unlikely' keyword in simplifyTokenList;
...
Don't check for it in CheckMemoryLeak.
2009-01-20 21:21:12 +00:00
Daniel Marjamäki
fad65663e5
tokenizer: tokenize ## better
2009-01-20 17:26:16 +00:00
Daniel Marjamäki
ea3094166c
code cleanup
2009-01-20 06:20:55 +00:00
Reijo Tomperi
de28502bb1
Fixed bug in line numbers and enabled test case that spots it.
2009-01-19 18:51:27 +00:00
Daniel Marjamäki
e90857ce0d
tokenizer: activated the handling of #file and #endfile
2009-01-19 17:49:44 +00:00
Reijo Tomperi
45c1b3c3ca
More work for includes, still commented out. Uncomment from tokenize.cpp and
...
preprocessor.cpp to take into use.
2009-01-18 18:59:58 +00:00
Daniel Marjamäki
a269cfc8d9
tokenizer: The tokenizer shouldn't handle comments nor preprocessor directives. The preprocessor will take care of
...
that
2009-01-18 08:38:25 +00:00
Daniel Marjamäki
2e77f3bf04
setVarId: Fixed bug (variable id for struct member not correctly set)
2009-01-11 10:03:21 +00:00
Daniel Marjamäki
6bdb14edfd
tokenize: avoid "terminate called after throwing an instance of 'std::out_of_range'"
2009-01-09 18:00:11 +00:00
Daniel Marjamäki
8f86a941aa
Simplify tokens: add a ";" after case and default
2009-01-07 17:49:21 +00:00
Daniel Marjamäki
40637e436f
Reverted [890] it cause more problems with Visual C++
2009-01-07 15:43:20 +00:00
Daniel Marjamäki
8c71c4194f
Borland C++: Removed unneeded ifdefs
2009-01-07 15:16:15 +00:00