Daniel Marjamäki
6c8558c112
CheckBufferOverrun: Removed old for-loop handling. This is handled through ValueFlow from now on.
2014-06-27 06:46:42 +02:00
Alexander Mai
b6a40fceb7
Fix some compiler warnings
2014-06-26 20:34:07 +02:00
Daniel Marjamäki
036b2f8ccf
CheckBufferOverrun: Added bufferOverrun2 that is based on ValueFlow/SymbolDatabase/Ast from the start. Replaced some old checking.
2014-06-26 17:36:20 +02:00
Daniel Marjamäki
72992c7973
AST: fixed ast for '++i;'
2014-06-26 17:31:57 +02:00
orbitcowboy
ff9a39d1f6
avr.cfg and posix.cfg: Added support for more functions.
2014-06-26 16:22:49 +02:00
PKEuS
7ea7ee0005
Store Token::_originalName on heap, since it is only used for a small amount of Tokens (reduce memory usage of TokenList by ~12% (x64))
2014-06-26 11:51:02 +02:00
PKEuS
ec1bd420a7
Refactorizations optimizing std::string usage:
...
1) Added global static const std::string emptyString; object:
-> Replaces some static variables in functions which might be not threadsafe
-> Avoids constructor call (std::string::string(""))
-> Even functions that return an empty string in some branches can return by reference now.
Added to config.h to ensure that it is available everywhere
2) Added overloads for TestFixture::assertEquals for the most common use cases:
-> Moves conversion from const char[] to std::string into a function, reducing code duplication in binary.
2014-06-26 11:51:02 +02:00
PKEuS
feefa4c626
Speedup checking large amounts of arrays ( #5615 ) by avoiding Token::Match calls in CheckBufferOverrun::checkScope(2).
...
-> Decreased entire checking time on a subset of the attached file by 66% (MSVC12, x64, non-matchcompiled)
2014-06-26 11:51:02 +02:00
Jay Sigbrandt
e7210521ac
Many platforms don't support backtraces. Fix compile for Solaris platform.
...
This change was tested with Solaris 10 on X86 and SPARC.
More information on Unix Backtrace Support
- http://www.gnu.org/software/libc/manual/html_node/Backtraces.html
It is not supported on the following platforms:
- https://www.gnu.org/software/gnulib/manual/html_node/execinfo_002eh.html
Mac OS X 10.3,
FreeBSD 6.0,
NetBSD 5.0,
OpenBSD 3.8,
Minix 3.1.8,
AIX 5.1,
HP-UX 11,
IRIX 6.5,
OSF/1 5.1,
Solaris 10,
Cygwin,
mingw,
MSVC 9,
Interix 3.5,
BeOS.
2014-06-26 11:41:16 +02:00
orbitcowboy
0b39fedd45
avr.cfg: Added support for more functions.
2014-06-26 11:35:28 +02:00
PKEuS
e13de2681e
SymbolDatabase: 'const' can't be the name of a variable - fix use after free #5882
2014-06-26 09:19:57 +02:00
PKEuS
e80104327a
AST: Fixed detection of operator new/delete - don't hang when C code is checked as C++ ( #5910 )
2014-06-26 09:19:57 +02:00
Daniel Marjamäki
5fc3e37842
Merge pull request #347 from toralf/timer
...
Timer
2014-06-26 05:45:08 +02:00
Toralf Förster
c1d8d1b26a
tools/times.sh: exit if prereq were not met
...
Signed-off-by: Toralf Förster <toralf.foerster@gmx.de>
2014-06-25 22:55:51 +02:00
Toralf Förster
4b135b935d
tools/times.sh: use always long-opts
...
Signed-off-by: Toralf Förster <toralf.foerster@gmx.de>
2014-06-25 22:49:47 +02:00
Toralf Förster
fa18adea6f
tools/times.sh: prefer a loop over repeating the same command
...
Signed-off-by: Toralf Förster <toralf.foerster@gmx.de>
2014-06-25 22:48:56 +02:00
Toralf Förster
da017d6888
tools/times.sh: adapt comment to the actual loops
...
left over from #ea9f0718
Signed-off-by: Toralf Förster <toralf.foerster@gmx.de>
2014-06-25 22:46:31 +02:00
PKEuS
b20f87faf2
Optimized Tokenizer::simplifyPlatformTypes() once more: Another 3% improvement on Windows.
...
-> All Token::Match strings are uppercase, so check Token::isUpperCaseName() to avoid comparisons with very slow long Token::Match strings (idea from amai)
Removed duplicate Token::Match call in symboldatabase.cpp
2014-06-25 20:42:59 +02:00
PKEuS
360fd4a565
Speedup Tokenizer::simplifyMathFunctions() and Tokenizer::simplifyPlatformTypes()
...
-> Speedup on entire checking time (TortoiseSVN code) by 3% (MSVC12, x64, not matchcompiled). Probably only measurable when checking code with Windows platform.
2014-06-25 17:00:59 +02:00
Daniel Marjamäki
5af96c2dd8
Fixed #5947 (valueFlowForward: forward conditions not handled properly)
2014-06-25 16:00:56 +02:00
orbitcowboy
d19b6f181d
Extended std.cfg, posix.cfg and avr.cfg
2014-06-25 15:09:03 +02:00
orbitcowboy
c7310c0ab0
std.cfg: Added support for more functions.
2014-06-25 14:27:01 +02:00
orbitcowboy
95c49ec5dc
Extended std.cfg about more missing functions. Moved POSIX functions to posix.cfg. Extended posix.cfg about more memory allocating functions.
2014-06-25 12:00:24 +02:00
Daniel Marjamäki
0023dec567
runastyle: don't strip trailing spaces in cfg files. After a 'runastyle;git commit;git push', I get changes if I run runastyle again.
...
[ci skip]
2014-06-25 06:20:04 +02:00
Daniel Marjamäki
c77786a745
valueFlowAfterCondition: wrong analysis for floats
2014-06-25 06:17:44 +02:00
PKEuS
ac4e727da7
Removed redundant code (replaced by libaries, should fix #5934 ).
2014-06-24 21:57:19 +02:00
PKEuS
3a89e5d65f
Fixed cppcheck warnings introduced by previous commit
2014-06-24 19:51:47 +02:00
Daniel Marjamäki
54aede9086
Fixed #5941 (ValueFlow: Wrong value in subfunction under ?)
2014-06-24 19:30:46 +02:00
PKEuS
1b5d127373
Cache results for TokenList::isC() and TokenList::isCPP() to avoid redundant calls to Path::isCPP()/isC(), which perform slow string operations (conversion to lowercase, substring, comparisons)
...
-> Speedup of 2% on self-checking cppcheck-core (MSVC12, x64, not matchcompiled)
2014-06-24 17:42:39 +02:00
orbitcowboy
731180b7dd
std.cfg: Added support for qsort and improved stro* functions.
2014-06-24 14:16:54 +02:00
Daniel Marjamäki
933832095d
Merge pull request #345 from toralf/html
...
cppcheck-htmlreport: print the cppcheck version in every footer
2014-06-24 07:11:59 +02:00
Toralf Förster
ee10def962
Merge branch 'html' of https://github.com/toralf/cppcheck into html
2014-06-23 19:14:28 +02:00
Toralf Förster
91fa452020
cppcheck-htmlreport: print the cppcheck version in every footer
...
missed in 2d4bae0
Signed-off-by: Toralf Förster <toralf.foerster@gmx.de>
2014-06-23 19:13:17 +02:00
Toralf Förster
824a1fbd5b
cppcheck-htmlreport: print the cppcheck version in every footer
...
missed in 2d4bae0
Signed-off-by: Toralf Förster <toralf.foerster@gmx.de>
2014-06-23 19:07:58 +02:00
PKEuS
2d54bace1b
Improved performance of CheckBufferOverrun::checkScope() ( #5944 ):
...
-> Speedup by 40% (MSVC12, x64, not matchcompiled) on the file attached to the ticket
2014-06-23 19:06:59 +02:00
Daniel Marjamäki
1ae6531c4c
Fixed #5923 (false positive: (error) Resource leak: fp (static file pointer))
2014-06-23 16:05:28 +02:00
orbitcowboy
0a17473962
std.cfg: Added support for bsearch.
2014-06-23 14:43:56 +02:00
orbitcowboy
f90445e947
Extended std.cfg and avr.cfg about more functions.
2014-06-23 14:15:47 +02:00
orbitcowboy
f57e875351
Astyle run; Extended std.cfg and avr.cfg about a few more functions.
2014-06-23 11:59:14 +02:00
Daniel Marjamäki
ae81b09b58
Refactoring: Move isScopeNoReturn implementation to library and reuse it both in ValueFlow and Tokenizer
2014-06-22 19:13:15 +02:00
Daniel Marjamäki
c19fc08a68
Merge pull request #344 from matthiaskrgr/travis_O
...
travis: change build optimization level back to -O2 (from -O3) as discussed
2014-06-22 19:10:52 +02:00
Matthias Krüger
b4630e03ab
travis: change build optimization level back to -O2 (from -O3) as discussed in
...
59077b06f9
2014-06-22 13:56:06 +02:00
Daniel Marjamäki
f78cbda2db
Refactoring: Removed CheckNullPointer::nullPointerByCheckAndDeRef and implemented needed analysis in ValueFlow instead.
2014-06-22 10:02:14 +02:00
XhmikosR
8d796519d9
Update .gitignore.
...
Remove accidentally added file.
[ci skip]
2014-06-21 19:56:26 +03:00
XhmikosR
88f8349a45
Clean up .gitignore and remove the currently unneeded .gitattributes file.
...
[ci skip]
2014-06-21 19:47:59 +03:00
Daniel Marjamäki
3e8cf81dbf
htdocs: removed files, they have been moved to the repo cppcheck-htdocs
2014-06-21 18:00:32 +02:00
Daniel Marjamäki
717b9f970f
htdocs: change link to trac
2014-06-21 17:29:00 +02:00
Martin Ettl
be51637c1c
avr.cfg: Added support for some stdio.h macros.
2014-06-20 09:49:06 +02:00
Daniel Marjamäki
ef81bc363a
ValueFlow: analysis in condition.
2014-06-19 17:29:41 +02:00
Daniel Marjamäki
dec251ac44
ValueFlow: Refactoring. Use utility function isVariableChanged.
2014-06-19 05:41:19 +02:00