Commit Graph

600 Commits

Author SHA1 Message Date
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