Commit Graph

667 Commits

Author SHA1 Message Date
Daniel Marjamäki 648d492f94 daca2: don't skip insighttoolkit, it does not hang as far as I see. 2016-02-15 16:56:23 +01:00
Daniel Marjamäki a892e6eddc daca2: do not skip boost 2016-02-12 12:08:39 +01:00
Daniel Marjamäki 087b233ffd Daca2: don't skip flite anymore. Analysis without MAXTIME is still very slow. 2016-02-11 16:16:09 +01:00
Daniel Marjamäki ec9facb701 rundaca: allow that start folder is set on command line, can be used when restarting daca2. 2016-02-08 09:28:02 +01:00
Daniel Marjamäki b45c2851b0 daca2: changed checking of test code again. people might want to run cppcheck on their testcode to ensure there is not UB. we skip gcc testsuite because the torture tests are not meant to be valid. 2016-02-05 08:39:29 +01:00
Daniel Marjamäki 1d9537b259 daca2: don't run cppcheck on test code, that is rarelly meant to be valid and proper code 2016-02-05 08:34:35 +01:00
Alexander Mai 7b68da3017 Set max file size to 1MB 2016-02-02 17:44:52 +01:00
PKEuS 4b9241f643 Removed support for patterns like |a|b and a||b (equal to a|b|)
-> Improved performance by 1,3% (non-matchcompiled build)
2016-02-02 11:46:42 +01:00
Alexander Mai f8de6a66ca Raise file size limit for daca2 from 100kb to 1mb 2016-01-31 21:18:50 +01:00
Robert Reif 0ddb2f1ce1 Fixed #7298 (reduce doesn't support --library= and --std= on the command line) 2016-01-31 12:45:17 +01:00
Daniel Marjamäki 8ef17e70ca reduce: try removing codeblocks below ';{}' 2016-01-28 08:05:43 +01:00
Daniel Marjamäki 477d02bbe7 reduce: fix
[ci skip]
2016-01-27 15:30:10 +01:00
Daniel Marjamäki 4d2caff360 reduce: try to reduce blocks better 2016-01-27 15:03:52 +01:00
Daniel Marjamäki ef1dd89d72 reduce: cleanups 2016-01-27 08:20:58 +01:00
Daniel Marjamäki cb6c9e1a71 reduce.py: fix hang 2016-01-25 16:25:50 +01:00
Daniel Marjamäki 620c6e8f1c reduce: improved removing of code blocks. loop until nothing is removed. 2016-01-25 13:41:27 +01:00
Daniel Marjamäki 7d8853d604 reduce: speed up the 'combinelines' pass 2016-01-21 14:42:10 +01:00
Daniel Marjamäki 49ff511324 Added script reduce.py that reduces code. It can complement the reduce tool. It can also be used with other tools and not just cppcheck. 2016-01-21 11:03:55 +01:00
Daniel Marjamäki 516f043a43 times-vs.py: Added usage instructions 2016-01-19 13:46:21 +01:00
Daniel Marjamäki 93dd3a21fd Add times script for windows that uses VS compiler 2016-01-19 13:35:38 +01:00
Albert ARIBAUD (3ADEV) 38e70dfb74 Preprocessor directives for addons
This patch augments the XML dumps with a 'directivelist'
subnode which lists all raw preprocessor directives met
while reading the source code in each configuration.

Also, the addons/cppcheckdata.py file has been extended
to give easy access to the list of directives and to
provide Python support for the --template (or short -t)
option.

Finally, an new addon, addons/y2038/y2038.py, is created
to detect when a glibc symbol might be Y2038-sensitive,
based on whether and how _TIME_BITS and _USE_TIME_BITS64
are defined when meeting the symbol.
2016-01-15 12:36:35 +01:00
Aleksandr Pikalev e92bbf6481 Fixed #7275 - Make GUI tests buildable
* Use -std=c++11 flag for gcc and clang
 * Use $$PWD variable in qmake files to have correct paths
 * Change tokenizer.simplifyTokenList() to tokenizer.simplifyTokenList2()
 * Add build-generated files to .gitignore
 * Link libpcre only if rules are enabled
2016-01-08 15:21:36 +01:00
Martin Ettl 7cb27d91c4 dmake: Added -Wno-multichar flag. 2016-01-08 11:40:54 +01:00
Albert ARIBAUD (3ADEV) 97b43c78ce Run all Python code through autopep8
Run all Python code through autopep8 as follows:

    autopep8 -ri --ignore=E261,E262,E302 --max-line-length 1000 .

E261 or E262 would cause spaces after a comment's hash sign
to be squashed. Since some of the comments in cppcheck's
Python code have space-indented code examples, not ignoring
E261 or E262 would wreck the formatting of those examples.

E302 prevents autopep8 from adding some blank lines.

setting --max-line-width ensures no line will be wrapped.
2016-01-05 13:30:32 +01:00
Albert ARIBAUD (3ADEV) 4b247c94dd Remove tools/argparse.py
As cppcheck only supports Python 2.7 and 3, and as
both provide argparse already, we can remove the
one in cppcheck.

build/*.cpp, as generated with "make SRCBUILD=build",
is strictly unchanged by this removal.
2016-01-05 10:25:12 +01:00
Matthias Krüger d3093a6ca5 reduce: fix build 2016-01-03 17:29:40 +01:00
Daniel Marjamäki ca4f55ec4c Cleanup Copyrights. Now all should be just for Cppcheck team. 2016-01-01 23:04:16 +01:00
Lauri Nurmi 996c9244d8 Update copyright year to 2007-2016. 2016-01-01 15:34:45 +02:00
Daniel Marjamäki 8171154e12 Fixed #7230 (Confusing code snippet in error message) 2015-12-31 01:15:49 +01:00
Matthias Krüger 315d50271a add small script which converts code to a format for testrunner testcases. 2015-12-17 14:25:24 +01:00
Frank Zingsheim e0e8c3fe60 Fix #7210 (Compiled match versus parsed match "|a|b") 2015-12-11 20:21:38 +01:00
Daniel Marjamäki 392cda8bce Remove qmake pro files. qmake is just for cppcheck-gui nowadays. 2015-12-11 15:20:57 +01:00
Alexander Mai f762affea0 Small refactoring: replace NULL by nullptr, remove redundant static keyword, Tokenizer::setVarId() uses const variable 'notstart' 2015-11-30 22:13:49 +01:00
Daniel Marjamäki a5149d68ab daca2: fix compilation of cppcheck 2015-11-23 11:19:44 +01:00
Daniel Marjamäki 0f9d90d2be Changed Copyrights. Removed my name. 2015-11-18 20:04:50 +01:00
Daniel Marjamäki d0e1583f20 daca2: compile with debug info, when there is exception write info on stderr 2015-11-18 13:36:23 +01:00
Alexander Mai 6cf7ff4243 Try to get error information upon crash in daca2 into log output 2015-11-15 20:38:55 +01:00
Alexander Mai 65666a1ba4 Makefile: explicit list directories which should be used with ctags. Run astyle. 2015-11-15 19:03:18 +01:00
Simon Martin 14d2830e49 Restore build on OSX, where make defines CXX as "c++" by default. 2015-11-14 07:53:34 +01:00
orbitcowboy ab90a7eb49 Fixed broken HAVE_RULE support. Updated Makefile. Added override keyword when HAVE_RULES is set. 2015-11-13 11:38:06 +01:00
Matthias Krüger 11915f84e2 dmake: force-add -std=c++0x if we compile with g++ or clang++ 2015-11-10 21:07:06 +01:00
Alexander Mai ab296fa93f 7111 segmentation fault (invalid code) in Tokenizer::simplifyRedundantParentheses 2015-11-08 13:45:55 +01:00
Alexander Mai 445907d930 Makefile: Move -std=c++0x to CXXFLAGS to allow using other compilers 2015-11-08 12:52:56 +01:00
Boris Egorov c74529ae08 Add git pre-commit hook script 2015-10-19 11:23:01 +02:00
Matthias Krüger 73b088a6dd dmake: don't compile clang build with -D_GLIBCXX_DEBUG since it breaks the build. 2015-10-05 09:50:18 +02:00
Daniel Marjamäki 7f4d39270c Updated DACA2 scripts 2015-09-28 09:08:37 +02:00
Daniel Marjamäki b7ee08ea65 remove unused script aws.py 2015-09-10 07:29:42 +02:00
Alexander Mai 0d7d1e8350 Add 'run-dmake' as PHONY target to Makefile to avoid linking dmake always 2015-09-05 17:12:15 +02:00
Daniel Marjamäki 1b29a99e45 tools: refactoring daca2 2015-08-21 15:46:10 +02:00
XhmikosR 7d0075357e PEP8 fixes.
[ci skip]
2015-08-21 11:59:52 +03:00
Daniel Marjamäki cde7f48feb push my rundaca2.py script I use 2015-08-20 12:57:45 +02:00
Daniel Marjamäki e5308a105a daca2-addons: fix scripts 2015-08-19 15:02:09 +02:00
Daniel Marjamäki 153ac90663 daca2: added scripts for running addons 2015-08-19 14:45:42 +02:00
Dmitry Marakasov 3bf737acbd Make DB2MAN overridable
On different systems it may point to different locations, e.g. FreeBSD uses ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl
2015-08-17 19:31:08 +03:00
PKEuS 4d80df2f4a Added pointer to Type to Token (similar to Token::Variable() and Token::function()):
- Accessible via Token::type()
- Renamed former Token::type() to Token::tokType()
- Removed SymbolDatabase::isClassOrStruct()
2015-08-15 11:19:21 +02:00
Alexander Mai a4e0a8bf54 daca2: enable exception-handling and drop valgrind from list of skipped packages 2015-08-01 17:41:26 +02:00
Daniel Marjamäki 8d3b5bb95e generate_and_run_more_tests: Add testuninitvar 2015-07-26 11:29:02 +02:00
Daniel Marjamäki 856d496c71 fix dmake 2015-07-23 15:02:32 +02:00
PKEuS 91c7361034 Fixed dmake and travis build 2015-07-23 14:53:18 +02:00
Frank Zingsheim 907dea92b1 Fixed #6844 (CMake with matchcompiler) 2015-07-23 10:49:53 +02:00
Daniel Marjamäki f37c6b9e76 generate_and_run_more_tests: add testnullpointer 2015-07-22 18:17:04 +02:00
Daniel Marjamäki 1df46140c1 generate_and_run_more_tests.sh: Refactoring 2015-07-22 13:44:08 +02:00
Daniel Marjamäki 4039e231a5 Add test scripts for 'Extra tests' 2015-07-22 13:07:17 +02:00
Daniel Marjamäki bb95bc9fc5 Travis: run extra tests 2015-07-22 12:55:39 +02:00
Daniel Marjamäki b2b4bb49fa Refactoring handling of comparisons 2015-07-22 12:31:18 +02:00
Daniel Marjamäki c67776c04d Testing: extract testcases, edit comparisons, run cppcheck, compare results 2015-07-22 09:52:24 +02:00
Daniel Marjamäki 678d755ce5 disable -Woverloaded-virtual warnings to avoid a few FPs 2015-06-30 20:38:15 +02:00
Daniel Marjamäki d0e6b77fd1 cppcheckdata.py: moved file from tools to addons 2015-06-21 09:47:52 +02:00
Daniel Marjamäki 0bdd355fac cppcheckdata.py: update ValueFlow handling 2015-06-20 21:58:23 +02:00
Frank Zingsheim 6ba2534f32 Fixed #6716 (Performance: Alternative String Representation in Match Compiler)
Quickfix of tools/test_matchcompiler.py for Alternative String Representation
_matchStrs does not exist in Match Compiler anymore.
2015-06-07 20:24:33 +02:00
Frank Zingsheim bac5aac92a Fixed #6716 (Performance: Alternative String Representation in Match Compiler) 2015-06-07 16:18:40 +02:00
Daniel Marjamäki 42e82eda96 dmake: suppress Wsign-compare warnings in release builds 2015-05-02 10:29:52 +02:00
Daniel Marjamäki 54ecf8af82 daca2-report: handle \r also 2015-04-29 17:23:24 +02:00
XhmikosR c090ed2fc9 PEP8 fixes.
[ci skip]
2015-04-20 21:11:45 +03:00
Daniel Marjamäki 066b24dc9c dmake: disable -Wconversion to avoid false positives when compiling 2015-04-15 11:32:52 +02:00
Matthias Krüger f714f38089 reduce: fix cppcheck style remark about CppcheckExecutor not being explicit.
[tools/reduce.cpp:47]: (style) Class 'CppcheckExecutor' has a constructor with 1 argument that is not explicit.
2015-04-07 01:58:10 +02:00
Matthias Krüger 80be769912 matchcompiler: pep8 fixes 2015-03-20 09:32:56 +01:00
Alexander Mai b5f0eec44a #6559 Regression/ false positive: Return value of allocation function OpenFile is not stored. Add required definitions to windows.cfg, include afx_msg. Add test file test/cfg/windows.cpp to check windows configuration. Fix for gnu.cfg. FileLister now features a non-recursive mode. 2015-03-05 06:48:44 +01:00
Daniel Marjamäki 9b874b97f0 add parse-glibc script that match annotations in system headers against cppcheck cfg files 2015-02-26 20:40:40 +01:00
PKEuS 688d5d5c54 matchcompiler.py: Added missing parantheses 2015-01-31 12:36:22 +01:00
PKEuS b2835051df Refactorization: Renamed Token::Match pattern %var% to %name%, implement new pattern %var% which is true if varId > 0. 2015-01-31 12:32:04 +01:00
Matthias Krüger e56671101e tests: add a script which runs test/cfg tests.
add new make target (checkcfg) which builds cppcheck and executes the script
       make travis run checkcfg
2015-01-27 19:46:52 +01:00
Thomas Jarosch 0c21f77873 MC: Add ability to show skipped (=non-compiled) patterns 2015-01-09 22:50:42 +01:00
Thomas Jarosch 5b4f543c3b Match compiler: Support match patterns with escaped quotes
This allows us to compile patterns like 'extern "C"'.
Fixes long standing open issues in the MC unit test.
2015-01-09 22:41:40 +01:00
Thomas Jarosch 027ce0e81f Match compiler: Add unit test for C string replacements 2015-01-09 20:20:54 +01:00
Thomas Jarosch 07231c832c Match compiler: Allow multiple spaces / no space at all when searching for C-strings
This catches 32 more C strings.
2015-01-09 01:18:50 +01:00
Thomas Jarosch 965775423b Remove useless forward declarations
Instead move the 'static' keyword to the function implementation.
2015-01-08 23:58:00 +01:00
Daniel Marjamäki ff11ba9847 Updated copyright year to 2015 2015-01-03 12:14:58 +01:00
Thomas Jarosch 95940ff0ef python3 compatibility 2014-12-22 16:04:29 +01:00
Thomas Jarosch 91e45ba8d7 pep8 fix
pep8 reported:
extracttests.py:233:16: E713 test for membership should be 'not in'
2014-12-22 14:27:47 +01:00
Daniel Marjamäki 051d42ae6b astyle formatting 2014-11-20 14:20:09 +01:00
orbitcowboy f5d804f71a running astyle 2014-11-20 10:13:03 +01:00
Alexander Mai b8224edaac Remove iceowl from list of skipped packages. Document the remaining skipped packages with a reference to accoding trac ticket 2014-11-15 12:10:18 +01:00
Daniel Marjamäki 33f384c48e daca2: allow -j option 2014-10-11 18:04:53 +02:00
Daniel Marjamäki b96f4f53ad daca2: removed the bailout for wxwidgets. the varid fix for typedefs seem to fix the hangs. 2014-10-11 16:48:00 +02:00
Daniel Marjamäki a33f01a2df daca2: skip wxwidgets for now to avoid hang 2014-10-11 14:05:11 +02:00
Daniel Marjamäki 748e3a4ba3 daca2: skip valgrind for now because it's extremely slow. see #6151 2014-10-11 07:54:41 +02:00
Gianfranco Costamagna 3eafb2b5c4 Makefile: Fix DESTDIR handling 2014-09-25 18:50:48 +02:00
Daniel Marjamäki e875146060 ci.py: minor refactoring 2014-09-09 05:35:11 +02:00
Daniel Marjamäki da3e8606ec ci.py: sleep 2014-09-08 17:39:18 +02:00
Daniel Marjamäki 5fecd4c194 ci.py: Cleanup, DACA2 will be executed on other computers 2014-09-08 17:25:57 +02:00
Matthias Krüger 7784bbfa86 times.sh: create a variable which can be changed to alter the iterations/how often we run cppcheck on one commit (default: 4). 2014-08-31 11:10:55 +02:00
Daniel Marjamäki fbf09f11a0 reduce: simplify multiline #define statements 2014-08-01 13:35:31 +02:00
Daniel Marjamäki 3d8ac3d0a1 astyle formatting
[ci skip]
2014-07-30 17:53:41 +02:00
Daniel Marjamäki 1144384242 reduce: simplify multiline function declarations better 2014-07-30 17:43:24 +02:00
Daniel Marjamäki c5e9da2984 xml dump: add more token attributes 2014-07-21 12:44:53 +02:00
Daniel Marjamäki 57a05bc341 xml dump: added 'astIsFloat' utility function in cppcheckdata.py 2014-07-20 15:24:40 +02:00
Daniel Marjamäki 54dbb5f832 cppcheckdata.py: Added Token.getValue() 2014-07-18 18:10:52 +02:00
Daniel Marjamäki 4a784ce2e9 cppcheckdata.py: My intention is that it will be possible to use this module from any code no matter if it's open source or closed source etc. And for any purposes. Added a comment at the top. 2014-07-18 17:57:02 +02:00
Daniel Marjamäki d003a47826 xml dump: Fixed ValueFlow handling in cppcheckdata.py 2014-07-18 17:29:39 +02:00
Daniel Marjamäki d3425d5c61 xml dump: fixed cppcheckdata loader so previous/next will work 2014-07-17 07:39:19 +02:00
Daniel Marjamäki 27829383a5 xml dump: Read scope-type attribute in cppcheckdata.py module 2014-07-16 16:15:28 +02:00
Daniel Marjamäki d734a98c89 xml dump: Added tools/cppcheckdata.py that loads the dump. 2014-07-16 15:26:59 +02:00
Matthias Krüger bfb2ebedec daca: keep files that we can check (see path.cpp). 2014-07-09 18:47:44 +02:00
PKEuS 62d07878d7 Fixed two issues in matchcompiler:
- Use correct findmatch or findsimplematch for verification
- Print failing pattern also for findmatch/findsimplematch
2014-07-02 15:25:54 +02:00
PKEuS ec59f1d9df matchcompiler.py: Check Token::type() before comparing Token::str() against "||" or "|" 2014-06-30 14:04:18 +02:00
PKEuS 78f0a47170 matchcompiler.py: Show pattern that caused the InternalError 2014-06-30 14:04:18 +02:00
Daniel Marjamäki 1bcb22e4a4 ci.py: run daca2 in alphabetical order again 2014-06-28 20:11:46 +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 e2b77a33dd Fixed test_matchcompiler.py 2014-06-18 18:51:24 +02:00
PKEuS 47a1122eb8 Updated matchcompiler to latest changes 2014-06-14 10:57:38 +02:00
orbitcowboy 5c2ed8450e Revert my previous fix 28763fa020 and suppress gcc false positive warnings. 2014-06-13 15:46:43 +02:00
Alexander Mai 16aa891da2 #5798 cfg files are not installed to CFGDIR. Extend patch to update dmake.cpp. Also fix some g++ compiler warnings 2014-05-17 11:05:42 +02:00
Alexander Mai fc592673a1 Fix gcc compiler warning by adding #ifdef GDB_HELPERS 2014-05-15 21:02:08 +02:00
Matthias Krüger 52ba857f8d dmake: make clean: also remove objects files inside tools/ (dmake.o, reduce.o) 2014-05-14 13:20:24 +02:00
Matthias Krüger f138bf004b dmake: make clean: remove dmake binary as well. 2014-05-09 08:45:25 +02:00
Alexander Mai 417a916ece Use CXXFLAGS upon linking dmake for consistency 2014-05-04 20:52:54 +02:00
Daniel Marjamäki 636a15ac55 Doublefree: Fixed FP when exit() is called 2014-05-04 12:02:55 +02:00
amai a5aac3b551 Add missing dependencies for dmake 2014-05-03 20:05:58 +02:00
amai 3bdfad0b73 reduce and dmake now use existing object files as dependencies whenever possible. Fix compilation for reduce on cygwin. 2014-05-03 18:54:48 +02:00
Alexander Mai 0b26a1f27a Fix compiler warnings 2014-04-27 18:56:54 +02:00
Alexander Mai 9e9bc1e457 Since reduce shares object files with cppcheck it should use the same compiler and linker flags 2014-04-27 18:56:30 +02:00
Alexander Mai 290f0ef022 #5644 Compilation failure on Cygwin - related to tinyxml2 (#undefine __STRICT_ANSI__ on cygwin). Patch by ir0nh34d 2014-04-24 22:22:43 +02:00
Daniel Marjamäki ea016d4d73 dmake: include lib/cxx11emu.h in release builds also 2014-04-20 12:30:05 +02:00
orbitcowboy bd242c07eb Fixed typo in travis script and tools/readme.md, no functional change. 2014-04-13 23:17:41 +02:00
Alexander Mai 9ac83d7624 reduce is linking against LIBS as well, to keep build scripts e.g. on travis working 2014-04-11 23:24:47 +02:00
Alexander Mai fb13c56ef0 Makefile: reduce now also depends on LIBOBJ: command not found 2014-04-11 22:27:29 +02:00
Daniel Marjamäki c27a482a84 Merge pull request #284 from matthiaskrgr/dmake
"make dmake" will now compile dmake and directly run it afterwards, bump kernel version checked by travis to 3.14
2014-04-05 08:23:15 +02:00
Daniel Marjamäki 749117a7ff daca2: we must bailout for now when checking insighttoolkit because there is some hang 2014-04-03 17:10:35 +02:00
Matthias Krüger 4481015bdc dmake: "make dmake" now also runs the binary after compilation. 2014-04-03 16:41:58 +02:00
Daniel Marjamäki 22c4d45ca0 astyle formatting 2014-03-31 03:06:57 +02:00
Alexander Mai 0242a3c188 -rdynamic cannot be used on mingw 2014-03-30 20:50:03 +02:00
Daniel Marjamäki 568b9677d7 daca2: Added script that downloads all packages and save reduced archives in the folder ~/daca2-packages 2014-03-23 11:45:29 +01:00
Alexander Mai 29165f3e5f Add -rdynamic to the linker flags to allow obtaining a bracktrace 2014-03-21 22:33:07 +01:00
XhmikosR 1df5ccf315 daca2-report.py: add missing new line in the generated HTML.
[ci skip]
2014-03-21 20:38:02 +02:00
XhmikosR fc54e6acc4 Trim tailing spaces and convert tabs to spaces. 2014-03-18 17:00:28 +02:00
XhmikosR 4928dc52bb daca2: Move style into daca2.css. 2014-03-18 16:50:38 +02:00