Daniel Marjamäki
de75bdfed5
Tokenizer: comments/refactorings
2011-02-12 21:11:20 +01:00
Daniel Marjamäki
4d1aae5859
Tokenizer::simplifyTemplates: Broke out the functionality that instantiates a template
2011-02-12 20:58:45 +01:00
Daniel Marjamäki
9021f0f180
Tokenizer::simplifyTemplates: Broke out the functionality that handles default template arguments
2011-02-12 20:27:44 +01:00
Daniel Marjamäki
00bdf618f2
Tokenizer::simplifyTemplates: Broke out the functionality that extract a list of template instantiations
2011-02-12 20:17:58 +01:00
Daniel Marjamäki
25d6bfe3c4
Tokenizer::simplifyTemplates: broke out the functionality that extract a list of template declarations
2011-02-12 20:12:07 +01:00
Daniel Marjamäki
654116af61
Tokenizer::simplifyTemplates: Broke out handling for 'template<>..'
2011-02-12 19:43:33 +01:00
Daniel Marjamäki
07e8325e50
Fixed #2549 (segmentation fault of cppcheck)
2011-02-12 16:51:59 +01:00
Daniel Marjamäki
63ade3e4f6
Tokenizer::simplifyKnownVariables: Split up the function into smaller functions. Broke out ..GetData function that extracts info about assigned variable before the simplification is made.
2011-02-12 09:24:20 +01:00
Robert Reif
78b5361ec8
fix #2568 (False positive: (style) Union 'A_t' hides typedef with same name (forward declaration))
2011-02-11 19:09:24 -05:00
Daniel Marjamäki
951a81d0d2
Tokenizer::simplifyKnownVariables: Broke out the simplification into a separate function
2011-02-11 20:12:51 +01:00
Robert Reif
e6848aef98
Tokenizer: refactor duplicated token copy code info function
2011-02-09 22:02:17 -05:00
Robert Reif
301f83767e
replace tok->strAt(0) with tok->str()
2011-02-09 07:45:19 -05:00
Robert Reif
7502cea4d3
Fixed #2554 (simplifyTypedef: wrong simplification for sizeof(array))
2011-02-08 19:47:14 -05:00
Daniel Marjamäki
f7dcf2d3b9
Tokenizer: Added a comment about sizeof for struct/class. We always assume that the size is 100
2011-02-06 09:58:07 +01:00
Robert Reif
95e917b27f
Tokenizer: Replace __null with 0 (gcc constant)
2011-02-05 09:03:31 +01:00
Robert Reif
e9ec4bc3e4
Fixed #2536 (cppcheck hangs with 100% cpu load)
2011-02-03 07:58:49 +01:00
Raphael Geissert
c9a0d95e89
A few more Token::Match -> ::simpleMatch replacements
2011-02-02 13:27:02 -06:00
Raphael Geissert
f8e2d50e6f
Use Token::simpleMatch where no special patterns are needed
2011-02-02 13:27:02 -06:00
Raphael Geissert
8d5863133c
Use Token::simpleMatch where no patterns are used
2011-02-02 13:27:01 -06:00
Raphael Geissert
cf2b6f7bc1
Remove useless spacing at the end of *Match strings
2011-02-02 13:27:01 -06:00
Robert Reif
8eb92001b3
Fixed #2530 (Tokenizer: Remove redundant 'MyClass::' inside MyClass class declaration)
2011-02-02 07:40:08 +01:00
Daniel Marjamäki
defeded4b5
Fixed #2529 (False positive: array 'req[3]' index 4 out of bounds)
2011-02-01 21:46:07 +01:00
Daniel Marjamäki
49fc53165c
Tokenizer: remove some unhandled macros in the global scope. ticket: #2523
2011-01-30 08:34:58 +01:00
Daniel Marjamäki
a299411a82
Tokenizer: Better simplifications of static constants
2011-01-29 16:14:09 +01:00
Daniel Marjamäki
83625d8055
Fixed #2505 (Check processing of a preprocessor macro 'FREE')
2011-01-28 09:19:30 +01:00
Daniel Marjamäki
88abeeebba
Fixed #2518 (Crash when checking rockbox's firmwire)
2011-01-27 21:16:25 +01:00
Daniel Marjamäki
524498e439
Tokenizer: collapse operator function names into a single token. ticket: #2519
2011-01-27 18:44:20 +01:00
Daniel Marjamäki
586cbd5839
Tokenizer: Upon createLinks error, report error and bailout
2011-01-23 09:38:38 +01:00
Daniel Marjamäki
b10f0aabd6
Fixed #2376 (simplifyTypedef: upx-ucl)
2011-01-23 09:04:34 +01:00
Daniel Marjamäki
5c88129f01
Fixed #2484 (false positive because template is not instantiated properly)
2011-01-22 12:42:53 +01:00
Daniel Marjamäki
bc31f317bc
Fixed #2491 (Tokenizer::setVarId : wrong handling of function call: 'a(b * c, 1);')
2011-01-22 09:27:16 +01:00
Robert Reif
69eee86ee4
Tokenizer: Only create 1 symbol database. ticket: #2468
2011-01-22 08:34:24 +01:00
Robert Reif
d73709a620
Symbol database: rename variables. ticket: #2468
2011-01-21 07:42:41 +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
Kimmo Varis
86ac25456e
Move sameFileName() method to Path class.
...
Ticket #2445 (Move FileLister classes from LIB to CLI). Moving
sameFileName() to Path allows moving FileLister* classes to CLI.
2011-01-18 19:58:16 +02:00
Robert Reif
959e10cee5
Symbol database: renamed classes. ticket: #2468
2011-01-17 18:29:19 +01:00
Robert Reif
bf9528558e
Symbol database: pulled out classes into global scope. ticket: #2468
2011-01-17 07:21:59 +01:00
Robert Reif
d341b42b0c
Symbol database: increased constness. ticket: #2468
2011-01-16 18:13:54 +01:00
Daniel Marjamäki
f72fd6960e
Fixed #2449 (segfault in tokenize.cpp, incorrect parsing)
2011-01-16 11:54:28 +01:00
Raphael Geissert
da998fec68
Tokenizer: simplify restrict
2011-01-16 11:37:03 +01:00
Robert Reif
beb2db82a2
Fixed #980 (false negative: division by zero when using enum)
2011-01-16 11:24:58 +01:00
Daniel Marjamäki
97d0755750
Fixed #2454 (Tokenizer::simplifyKnownVariables: problem with float/double variables)
2011-01-15 08:48:42 +01:00
Daniel Marjamäki
5920dbb7e7
Fixed #2466 (Tokenizer: simplification of enum)
2011-01-15 08:21:06 +01:00
Robert Reif
8ecba0af90
Fixed #2464 (False positive: not initialised/not assigned Static variable in copy constructors.)
2011-01-15 08:04:50 +01:00
Robert Reif
708a75e363
Fixed #2452 (syntax error when 'void f(typedef int x)' is used. causes segmentation fault.)
2011-01-14 07:41:22 +01:00
Daniel Marjamäki
79e52a8c45
Fixed #2296 (Tokenizer: simplifyKnownVariable doesn't simplify pointer properly 'delete [] p;')
2011-01-11 19:34:35 +01:00
Reijo Tomperi
226b605774
Change year 2010 -> 2011 in license texts.
2011-01-09 21:33:36 +02:00
Daniel Marjamäki
88abb32ddf
Fixed #2429 (Tokenizer: Wrong simplification of 'sizeof .1250E+04')
2011-01-09 10:09:54 +01:00
Robert Reif
bfc95e01c1
Fixed #2426 (### Internal error in Cppcheck. Please report it.)
2011-01-07 08:02:47 +01:00
Daniel Marjamäki
1b3a5ed0be
Tokenizer: simplify NULL to 0 in the normal token list
2011-01-06 20:16:14 +01:00
Daniel Marjamäki
616914c1ff
Tokenizer: simple refactorings. and added a few comments
2011-01-06 12:07:37 +01:00
Daniel Marjamäki
a0d62e041f
Tokenizer: Fixed memory corruption
2011-01-05 19:38:22 +01:00
Robert Reif
157498e694
Fixed #2412 (typedef: struct with inheritance)
2011-01-05 17:42:55 +01:00
Robert Reif
ed6f683573
typedef: better handling. ticket: #2414
2011-01-05 17:39:53 +01:00
Daniel Marjamäki
d700f25518
Fixed #2399 (Tokenizer::simplifyKnownVariables: variables in conditions)
2011-01-04 21:35:35 +01:00
Daniel Marjamäki
63c1ee375e
Fixed #2398 (false positive: Uninitialized variable)
2011-01-04 19:36:29 +01:00
Daniel Marjamäki
2c6421d162
Merge branch 'master' of https://github.com/rgeissert/cppcheck into rgeissert-realloc
2011-01-04 18:21:18 +01:00
Robert Reif
63208e87d3
typedef: delete unhandled typedefs. ticket: #2348
2011-01-04 07:43:40 +01:00
Robert Reif
a782d3ddf7
typedef: fix testcase 4. ticket: #2375
2011-01-04 07:39:41 +01:00
Robert Reif
63ad1fbe69
Fixed #2400 (Tests crashing in Windows)
2011-01-04 07:34:32 +01:00
Raphael Geissert
3d9550b0bf
Simplify "x = realloc (0, n);" to "x = malloc(n);"
2011-01-02 17:46:10 -06:00
Raphael Geissert
e75a81669e
Move simplification of realloc after simplification of math ops
2011-01-02 16:41:34 -06:00
Daniel Marjamäki
d2714fefda
typedef: Fixed testcase. ticket: #2375
2011-01-02 17:28:47 +01:00
Daniel Marjamäki
789d944912
typedef: don't simplify typedef after 'case'. it means that there is a typedef and constant with the same names. Ticket: #2386
2011-01-01 20:20:03 +01:00
Daniel Marjamäki
62145431a7
Tokenizer: Added more comments
2011-01-01 11:40:32 +01:00
Daniel Marjamäki
2da3fea1b8
Fixed #2386 (segmentation fault occurs in the checking when typedef has same name as an enum constant)
2010-12-31 20:55:28 +01:00
Daniel Marjamäki
f1f1a21c23
Borland C++: Fixed compiler errors
2010-12-31 10:24:51 +01:00
Daniel Marjamäki
d8f241e033
gcc: fixed -Wconversion errors
2010-12-31 09:51:27 +01:00
Daniel Marjamäki
cab338dffe
gcc: fixed -Wconversion warnings in tokenizer
2010-12-31 09:38:03 +01:00
Daniel Marjamäki
307178d3c2
Tokenizer: Better handling of duplicate enums. Ticket: #2381
2010-12-30 20:55:23 +01:00
Robert Reif
3900ac731e
simplifyTypedef: Better handling of 'typedef int RexxFunctionHandler();'. Ticket: #2348
2010-12-29 20:25:47 +01:00
Robert Reif
3f1f50e970
simplifyTypedef: operator typedef. Ticket: #2375
2010-12-29 20:22:06 +01:00
Daniel Marjamäki
38e7209d26
Fixed #2373 (Using XML2 in --errorlist output)
2010-12-29 12:43:29 +01:00
Robert Reif
137d0e2ba7
typedef: fixed problem with 'typedef int pread_f(int);'. ticket: #2348
2010-12-29 09:18:41 +01:00
Robert Reif
e82b1f8946
typedef: fix typedef simplification. ticket: #2348
2010-12-28 21:21:13 +01:00
Daniel Marjamäki
0667fcf53c
Fixed #2355 (simplifyTypedef: wrong simplification of 'typedef FMAC1 void (*a)();')
2010-12-28 14:04:44 +01:00
Robert Reif
1b92eeae1e
Fixed #2354 (simplifyTypedef: function pointers are not simplified into valid code)
2010-12-28 08:01:32 +01:00
Daniel Marjamäki
92acca3d0c
Fixed #2368 (assigned a value that is never used)
2010-12-27 20:49:07 +01:00
Daniel Marjamäki
2367cfcf1e
Fixed #2361 (false positive on t[0X10])
2010-12-27 08:09:05 +01:00
Daniel Marjamäki
6178459c15
Fixed #2304 (Tokenizer::simplifyKnownVariables: known strcpy parameter)
2010-12-26 20:34:07 +01:00
Daniel Marjamäki
f4581d833d
Tokenizer: Bailout if @ is encountered in the code
2010-12-26 15:07:14 +01:00
Daniel Marjamäki
10ee43790d
Fixed #2339 (Tokenizer::setVarId : Wrong handling of 'int gr = id - (TLFPressProperties::OIL_FLUID * nb);')
2010-12-25 12:40:44 +01:00
Daniel Marjamäki
6f8f0e1aa1
Fixed #2353 (Tokenizer::simplifyKnownVariables: wrong simplification after return)
2010-12-25 10:07:57 +01:00
Daniel Marjamäki
18fd12006a
Tokenizer::simplifyGoto: Don't simplify 'goto' inside unhandled macro calls. Ticket: #2348
2010-12-23 22:03:58 +01:00
Daniel Marjamäki
472ecd8805
Tokenizer: Fixed calculation simplification of '0*(*p)'. Ticket: #2348
2010-12-23 18:59:18 +01:00
Robert Reif
fc7e2d1ac1
Fixed #2341 (false positive for function pointer returning typedef)
2010-12-22 18:37:23 +01:00
Daniel Marjamäki
f392dbef95
Fixed #2338 (False positive: Deallocating a deallocated pointer)
2010-12-22 08:24:50 +01:00
Daniel Marjamäki
41ac2c252f
Fixed #2325 (Tokenizer: Remove for-loop if condition is false)
2010-12-18 21:43:12 +01:00
Daniel Marjamäki
8ffc2b0ac6
Tokenizer: better handling for switch/break in the simplifyKnownVariables. Ticket: #2324
2010-12-18 11:14:31 +01:00
Daniel Marjamäki
7eb9855104
Tokenizer: Remove redundant parantheses in rhs. Ticket: #2320
2010-12-18 09:44:58 +01:00
Daniel Marjamäki
845d1491f9
Fixed #2307 (No constructor defined false positive when class is enclosed in namespace)
2010-12-17 20:56:46 +01:00
Daniel Marjamäki
2d97189486
Fixed #2311 (False positive: Index out of bounds)
2010-12-16 20:16:59 +01:00
Robert Reif
bf136f0123
Fixed #2314 (False positive: (style) Template instantiation 'Foo' hides typedef with same name)
2010-12-16 07:48:46 +01:00
vBm
46a11183a5
Fixed some spelling mistakes
2010-12-15 18:45:53 +01:00
Daniel Marjamäki
69bacde479
Tokenizer: Cleanup redundant statement '; x = x + 0;'. Ticket: #2283
2010-12-09 19:35:52 +01:00
Robert Reif
b6acfa809b
Symbol database: creates a single symbol database within Tokenizer on demand and changes all checks to use it
2010-12-07 07:08:49 +01:00
Robert Reif
6c719c5806
Symbol database: removed unnecessary null pointer checks
2010-12-07 07:07:07 +01:00
Daniel Marjamäki
0b696b7079
Fixed #2280 (Tokenizer::setVarId : variable id not set for inner iterator)
2010-12-06 17:52:44 +01:00
Daniel Marjamäki
ab336b9088
Tokenizer: Added a few comments
2010-12-04 15:49:25 +01:00
Robert Reif
b29568c81d
Fixed #2271 (Tokenizer: simplify Qt signals and slots)
2010-12-03 08:14:09 +01:00
Robert Reif
eda4bcae29
Fixed #2271 (Tokenizer: simplify Qt signals and slots)
2010-12-02 17:41:49 +01:00
Robert Reif
f12c0c7ada
Tokenizer: add assert(_settings) to Tokenizer to insure the tokenizer always has settings. Ticket: #2219
2010-12-01 18:00:55 +01:00
Daniel Marjamäki
add8584612
Fixed #2232 (segmentation fault of cppcheck)
2010-11-29 17:46:10 +01:00
Daniel Marjamäki
00da0adf25
Fixed #2236 (False positive: Assignment to itself)
2010-11-28 11:48:06 +01:00
Daniel Marjamäki
ea405d95c6
Fixed #2241 (Segfault checking a file)
2010-11-28 07:35:42 +01:00
Daniel Marjamäki
0a744c0c6e
Fixed #2234 (Variable is assigned a value that is never used)
2010-11-25 18:16:11 +01:00
Daniel Marjamäki
22a4dd2cc3
Fixed #2225 (false positive: variable is assigned a value that is never used '*(stack[0])+=arg')
2010-11-23 20:35:08 +01:00
Robert Reif
1842a122da
reuse symbol database in checkmemoryleak.cpp. ticket: #2219
2010-11-23 18:41:07 +01:00
Daniel Marjamäki
bb745da5f9
Tokenizer::simplifyKnownVariables: suppress debug warnings about pointer aliases. Temporary solution that limits the amount of debug warnings somewhat.
2010-11-21 13:50:57 +01:00
Daniel Marjamäki
9d88e17c39
Tokenizer::simplifyKnownVariables: Reduce debug-warnings for conditional increment
2010-11-21 13:40:42 +01:00
Daniel Marjamäki
0fe4249cfc
Fixed #2216 (wrong warning when C++0x keyword delete is used)
2010-11-20 17:20:25 +01:00
Daniel Marjamäki
e8ca76e02e
Fixed #2200 (MathLib: Calculation overflow)
2010-11-20 10:05:33 +01:00
Daniel Marjamäki
378e83e73d
Fixed #2201 (false positive: Uninitialized variable: __v0)
2010-11-14 17:35:22 +01:00
Daniel Marjamäki
71c1ce71ce
Tokenizer::simplifyKnownVariables: Simplify known variables for struct members
2010-11-13 18:45:35 +01:00
Daniel Marjamäki
667cc8f6e5
Tokenizer: Skip debug warnings in Tokenizer::simplifyKnownVariables for loop variable
2010-11-13 16:40:04 +01:00
Robert Reif
07f4067fa8
typedef: better handling of __typeof__
2010-11-11 17:02:04 +01:00
Robert Reif
a09c221014
typedefs: handle __typeof__
2010-11-11 06:40:49 +01:00
Daniel Marjamäki
21ec772e31
Tokenizer: Only show 'failed to instantiate template' debug messages if the --debug-warnings has been given
2010-11-08 18:01:28 +01:00
Daniel Marjamäki
586f4992d8
Tokenizer::simplifyKnownVariables: Fixed TODO test cases in TestBufferOverrun
2010-11-07 17:42:32 +01:00
Daniel Marjamäki
47e9fcb5a8
Revert "Tokenizer: More specific bailout in simplifyKnownVariables for loop variable"
...
This reverts commit 7e9bb62dff
.
2010-11-07 17:40:27 +01:00
Daniel Marjamäki
7e9bb62dff
Tokenizer: More specific bailout in simplifyKnownVariables for loop variable
2010-11-07 17:20:03 +01:00
Daniel Marjamäki
cd94fa89e0
Tokenizer: More specific bail outs in simplifyKnownVariables
2010-11-07 11:07:56 +01:00
Daniel Marjamäki
b881718d9f
Tokenizer: better bailout in simplifyKnownVariables when there is loop
2010-11-07 10:42:08 +01:00
Daniel Marjamäki
bd2b1b2914
Tokenizer: better handling of const variables
2010-11-07 08:43:30 +01:00
Daniel Marjamäki
25391cb562
Tokenizer: Bailout simplifyKnownVariables for loop variables
2010-11-07 08:10:09 +01:00
Daniel Marjamäki
2833a5ebb5
Tokenizer: Refactoring the simplifyKnownVariable
2010-11-06 20:23:49 +01:00
Daniel Marjamäki
5be12a1d27
Tokenizer: improved simplifyKnownVariables
2010-11-06 19:43:32 +01:00
Daniel Marjamäki
53fc0ca5e6
Tokenizer: Refactoring. Merged two patterns into one pattern.
2010-11-06 15:55:37 +01:00
Daniel Marjamäki
afcc28e9ee
Tokenizer: Added debug warning that is shown when bailing out in simplifyKnownVariables
2010-11-06 15:42:41 +01:00
Robert Reif
8a379d4826
Fixed #2176 (Tokenizer::simplifyTypedef function pointer bug)
2010-11-06 15:15:50 +01:00
Robert Reif
c49a8a99a3
Fixed #2175 (Tokenizer::simplifyTypedef : wrong simplification of 'typedef float vec_t[3];')
2010-11-06 13:28:44 +01:00
Daniel Marjamäki
c39fbb86db
Tokenizer::simplifyKnownVariables : Fixed TODO test case when simplifying pointer alias in function call
2010-11-06 13:24:33 +01:00
Daniel Marjamäki
13c2a73d3f
Tokenizer::simplifyKnownVariables: Fixed TODO test case.
2010-11-06 11:38:58 +01:00
Daniel Marjamäki
314e5b838b
Tokenizer: removed redundant assignments such as 'x+=0;'. Ticket: #2173
2010-11-06 07:23:35 +01:00
Robert Reif
431201dd67
Fixed #2174 (Tokenizer::simplifyFunctionReturn bug)
2010-11-06 06:53:09 +01:00
Daniel Marjamäki
52faadda89
Tokenizer: simplify calculations with zero better
2010-11-05 20:35:31 +01:00
Daniel Marjamäki
4fdb420454
Tokenizer: simplifyknownvariables, improved handling of string constant
2010-11-05 20:05:57 +01:00
Daniel Marjamäki
d21974777c
Fixed #2161 (false positive: assigned a value that is never used)
2010-11-04 20:16:17 +01:00
Daniel Marjamäki
0984a0be47
Tokenizer: Fixed 'a[b-1]+=1'
2010-11-04 19:38:19 +01:00
Daniel Marjamäki
fce6f11ed8
Tokenizer: simplify 'a[b-1]+=1' better
2010-11-04 19:02:54 +01:00
Daniel Marjamäki
1323cbdb6d
Fixed #2160 ( #2160 (Invalid unused variable report (style)))
2010-11-03 19:30:00 +01:00
Daniel Marjamäki
dd4b2b8b46
Tokenizer: simplify 'x[0] += 1;'
2010-11-02 19:22:48 +01:00
Daniel Marjamäki
c4452effa3
Tokenizer: simplify 'x.y += 1;'
2010-11-01 20:33:55 +01:00
Daniel Marjamäki
1b9de20f9b
Tokenizer: simplify 'case 0: x += y;'
2010-11-01 19:31:30 +01:00
Daniel Marjamäki
3fb17baa12
Fixed #2158 (False positive: value is not unused when using +=)
2010-11-01 17:36:54 +01:00
Daniel Marjamäki
6c19ea7b53
Tokenizer: Added a few comments
2010-10-31 09:58:44 +01:00
Daniel Marjamäki
23d3fd3a5a
Fixed #2147 (uninitialized variable: false negative for 'x += y;')
2010-10-31 08:47:13 +01:00
Kimmo Varis
9627b667a1
Move simplifyPath method from FileLister to Path class.
...
simplifyPath() "fits" better to Path class conceptually. It handles
paths, not lists them. Also this way we get rid of few unneeded
dependencies to FileLister class.
2010-10-29 22:21:27 +03:00
Daniel Marjamäki
9435fde551
Tokenizer: Added function for checking if code is Java/C#
2010-10-28 18:51:55 +02:00
Pete Johns
8022baec2a
Removed unnecessary code duplication.
2010-10-27 19:34:06 +11:00