Commit Graph

656 Commits

Author SHA1 Message Date
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
XhmikosR b608a8904a Minify sorttable.min.js and use that in daca2-report.py. 2014-03-18 16:48:03 +02:00
Matthias Krüger 76fb3903ff tools: times.sh: show more information in stdout (while still printing it to the log), compute averages of runs, automatically compile and run "times" binary after generating the log. 2014-03-17 02:12:37 +01:00
XhmikosR 66e448f0fd daca2-report.py: tweak style more.
[ci skip]
2014-03-16 13:27:24 +02:00
XhmikosR 9e80080738 Add sorttable.js to the repository. 2014-03-16 13:22:22 +02:00
XhmikosR c7b2f08782 daca2-report.py: move script inclusion after any style.
[ci skip]
2014-03-16 13:14:19 +02:00
XhmikosR bfd388dc15 daca2-report.py: fix CSS style.
[ci skip]
2014-03-16 12:19:52 +02:00
XhmikosR 98fcaa7a9e daca2-report.py: remove unneeded end tags.
[ci skip]
2014-03-16 12:08:58 +02:00
Matthias Krüger ea18e4b245 daca: count varid 0 occurences per file. 2014-03-12 12:49:06 +01:00
XhmikosR aabee422e0 PEP8 fixes. 2014-03-11 17:42:14 +02:00
Alexander Mai b44c1b52ee daca2: made mainpage report sortable 2014-03-09 08:33:27 +01:00
Simon Martin a3d1cac79c Ticket #5373: Keep track whether tokens come from a C or C++ file to properly handle %type% in Token::Match with "delete" 2014-03-08 21:26:06 +01:00