Commit Graph

1261 Commits

Author SHA1 Message Date
amai cea82c4ee9 Add validateCFG target to validate library files against RNG 2017-05-24 00:07:59 +02:00
Daniel Marjamäki a3c0eecccf Added --template=cppcheck2 output format 2017-05-23 12:19:11 +02:00
Daniel Marjamäki 19fb99d6e8 daca2-report: update counters for clang format 2017-05-22 10:54:17 +02:00
Daniel Marjamäki 882e1e6064 daca2: use 'clang' output template 2017-05-22 07:44:58 +02:00
Dmitry Marakasov 94d39f6e91 Fix matchcompiler failure in case of parallel build
During parallel build, multiple processes will try to create build_dir
in parallel, so the build will fail. Fix that by calling makedirs
unconditionally and ignoring errors from it. If there's actual
problem with directory creation, it'll be caught later by isdir()
check.
2017-05-20 23:25:52 +02:00
amai 8fa4a92ce1 Make tags target phony. Add entry to gitignore 2017-05-20 22:27:49 +02:00
tetsuo55 2d24d5ce01 dmake: Add support for mingw64
running dmake under mingw64 causes an error
the makefile will have to be recreated
under linux
2017-05-11 10:36:37 +02:00
Alexander Mai 9d54ffd521 Correct script 2017-05-03 21:09:20 +02:00
Matthias Krüger a26abfb8e4 reduce: fix build, adapt settings. 2017-04-11 12:09:18 +02:00
Matthias Krüger c65725cb1b matchcompiler: don't emmit '!true' or '!false'. Fold to 'false' or 'true'. 2017-04-02 16:35:39 +02:00
Matthias Krüger 1e5e32c4a2 testrunner: remove non-gcc-style output format 2017-02-26 21:39:06 +01:00
Matthias Krüger 9e2650db96 reduce: main(): replace "return false;" by "return EXIT_FAILURE;", clang 4 warned about this:
tools/reduce.cpp:771:17: warning: bool literal returned from 'main' [-Wmain]
                return false;
                ^      ~~~~~
tools/reduce.cpp:776:17: warning: bool literal returned from 'main' [-Wmain]
                return false;
                ^      ~~~~~
tools/reduce.cpp:782:17: warning: bool literal returned from 'main' [-Wmain]
                return false;
                ^      ~~~~~
2017-01-17 01:32:29 +01:00
PKEuS 0236f67454 Fixed matchcompiler with Python 3.6 on Windows by using UTF-8 as encoding 2017-01-01 10:27:48 +01:00
Matthias Krüger ecc91ba914 fix a couple of issues in shell scripts found by codacy. 2016-12-25 00:43:47 +01:00
Boris Egorov 743dcdd669 daca2: Use logging module instead of opening/closing results file 2016-12-08 21:18:16 +07:00
Boris Egorov c250e385d3 daca2: Use argparse instead of manual argument parsing 2016-12-08 21:14:13 +07:00
Matthias Krüger 27bd4a7f4c daca2: enable --inconclusive 2016-12-06 11:19:33 +01:00
Daniel Marjamäki 5426cfb15e daca2: output warning id to make it possible to write more statistics 2016-12-06 09:33:41 +01:00
Matthias Krüger 59bbe6cd42 matchcompiler: simplify some more code 2016-11-26 16:27:39 +01:00
Matthias Krüger 80cb350a6b matchcompiler: remove redundant variable 'neg' and do some minor reformatting 2016-11-26 15:41:59 +01:00
Matthias Krüger b687e011f2 matchcompiler: --show-skipped: print locations of skipped patterns in file:line notation. 2016-11-24 00:36:23 +01:00
Daniel Marjamäki 0e9bf9f0c6 daca: skip virtuoso-opensource for now since it hangs 2016-10-17 09:48:02 +02:00
Daniel Marjamäki fff8aa8590 dmake: pathmatch was moved from cli to lib 2016-10-02 13:32:39 +02:00
Daniel Marjamäki e8b6235e23 dmake: pathmatch was moved from cli to lib 2016-10-02 13:15:51 +02:00
Daniel Marjamäki 3605457cbe CLI: Fix exclude of absolute path. #4399 2016-10-02 12:38:44 +02:00
Daniel Marjamäki 652043fa22 daca2: allow setting cpu limit 2016-09-20 12:46:15 +02:00
Daniel Marjamäki fd6b18f759 daca2: changed removeLargeFiles and removeAllExceptResults. hopefully these will handle problems better. And hopefully the problems will be logged better. 2016-08-21 11:54:08 +02:00
Matthias Krüger 032d2e5cd1 CXXFLAGS: remove -Winline (ticket #7693)
The debug build (with -Winline) has no optimizations and when setting optimizations for a release builds, CXXFLAGS are overridden.
So we either do a non-optimized debug build (where no inlining takes place which makes -Winline redundant) or do a release build without -Warning flags which means we would never see -O2 and -Winline together.
2016-08-19 11:19:15 +02:00
Roberto Martelloni c7c10d0b43 added python script to list in CSV format all errors without a CWE 2016-08-09 23:21:03 +01:00
Daniel Marjamäki 15c1942a64 daca2: allow skipping packages and allow setting workdir 2016-08-01 11:29:04 +02:00
Daniel Marjamäki 016bcaf9fe dmake: Disable compiler warnings for external files 2016-07-28 13:54:08 +02:00
XhmikosR 07b43c6929 Ran autopep8. 2016-07-25 13:16:55 +03:00
Daniel Marjamäki 035a9a162a daca2: write current time in report 2016-07-22 08:31:00 +02:00
Daniel Marjamäki 03d2829fb9 Merge simplecpp branch 2016-07-20 12:21:00 +02:00
Daniel Marjamäki a87b4368cb Revert "Preprocessor: Start replacing our Preprocessor code with simplecpp"
This reverts commit 9820783b60.

There was Travis errors I'll need to look more at.
2016-07-07 23:45:42 +02:00
Daniel Marjamäki 9820783b60 Preprocessor: Start replacing our Preprocessor code with simplecpp 2016-07-07 22:58:56 +02:00
Daniel Marjamäki e795eef465 rundaca: don't link libstdc++ statically 2016-07-01 15:46:20 +02:00
Daniel Marjamäki 315f705f53 rundaca: statically link libstdc++ for now 2016-06-20 10:13:56 +02:00
Daniel Marjamäki fbc499d033 daca2-download.py: minor tweaks 2016-05-22 16:39:02 +02:00
Daniel Marjamäki 98626e5a46 rundaca2.py: The START is an index 2016-05-10 11:00:57 +02:00
Matthias Krüger 9bcb36e0bb dmake: disable -Wsign-promo 2016-05-07 19:38:40 +02:00
Jérémy Lefaure 08d8b2da38 git-pre-commit-cppcheck: check only added or modified source files
The regexp is written according to git-diff-index manual.
2016-05-07 19:09:13 +02:00
Frank Zingsheim f5bf0ff824 Fixed #7392 (matchcompiler fails with python 3.5) 2016-05-04 11:19:07 +02:00
Alexander Mai 0442764467 Skip another package in daca2 (gcc-arm) to avoid timeouts 2016-04-25 20:48:11 +02:00
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
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
Daniel Marjamäki dddd9848b8 daca2: remove ../clang/INPUTS/.. files since these take so long time to scan 2014-03-06 20:36:52 +01:00
Daniel Marjamäki 5eb79f0fa5 Merge pull request #252 from matthiaskrgr/dmake_externals
Dmake externals
2014-03-04 06:04:11 +01:00
Matthias Krüger c108321329 dmake: when building cppcheck. do not include "externals" dir, there are no files in there (only the tinyxml dir which is already handled via -Iexternals/tinyxml). 2014-03-03 12:09:21 +01:00
Matthias Krüger a9df4a3288 man, htdocs, gui, test, tools: bump a few more copyrights to 2014 2014-03-03 11:03:17 +01:00
Daniel Marjamäki 43d48574c5 ci.py: fixed daca2folder() when results is empty 2014-02-23 10:26:01 +01:00
Daniel Marjamäki 1d801ce7b1 daca2: fixed wget function 2014-02-23 10:21:00 +01:00
Daniel Marjamäki 6273a270c7 daca2: tell wget to overwrite file. We want that the correct file is used. 2014-02-22 07:52:51 +01:00
Lauri Nurmi 91340d4043 Emulate the C++11 'nullptr' and 'static_assert' 2014-02-15 07:52:17 +01:00
Daniel Marjamäki fd3a8a2a18 Update copyright 2014-02-15 07:45:39 +01:00
Daniel Marjamäki b88fbb9857 CI: run daca2 on oldest folder 2014-02-07 06:37:42 +01:00
Matthias Krüger ec7e54c123 daca2: count crashes of cppcheck in index table. 2014-01-29 12:54:52 +01:00
Daniel Marjamäki a7146916b1 Makefile: added -Wno-sign-compare. I don't like this warning 2014-01-18 09:51:48 +01:00
Ryan Pavlik 065db3d9f6 Add a rule to the cli makefile to actually build TinyXML2 2014-01-17 15:52:05 -06:00
Matthias Krüger 0cfd60aa34 travis: rewrite config file.
Uses CXXFLAGS -O2 instead of default flags to speed up self checking.

Testing is done with the following settings:

1) gcc    CXXFLAGS=-O2
2) gcc    CXXFLAGS=-O2  SRCDIR=build VERIFY=1
3) gcc    CXXFLAGS=-O2  MAKEFLAGS="HAVE_RULES=yes"
4) gcc    CXXFLAGS=-O2  SRCDIR=build VERIFY=1  MAKEFLAGS="HAVE_RULES=yes"
5) clang  CXXFLAGS=-O2
6) clang  CXXFLAGS=-O2  SRCDIR=build VERIFY=1
7) clang  CXXFLAGS=-O2  MAKEFLAGS="HAVE_RULES=yes"
8) clang  CXXFLAGS=-O2  SRCDIR=build VERIFY=1  MAKEFLAGS="HAVE_RULES=yes"

Changes made to before_install:
installe libpcre3

Changes made to script:
* make and make test are now called seperately
* cppcheck also checks "build" folder (created by SRCDIR=build) if existing.
* gui is built twice, one time with HAVE_RULES=yes as qmake argument and one time without it.
* a script has been added and run which returns false if cppcheck --showtime=top5 does not return 7 lines indicating that something is broken
2014-01-12 22:47:21 +01:00
Daniel Marjamäki 424675982a dmake: use -std=c++0x instead of -std=c++11 as it's supported by earlier gcc 2014-01-12 15:38:51 +01:00
Daniel Marjamäki 50c8075b15 dmake: use -std=c++11 even if CXXFLAGS is redefined 2014-01-12 13:47:53 +01:00
Daniel Marjamäki 4224f873fd dmake: added -std=c++11 flag 2014-01-12 13:14:46 +01:00
Daniel Marjamäki d618730c96 Merge pull request #211 from matthiaskrgr/filemodes
make tools/times-tags.sh and tools/times.sh executable (mode 755).
2014-01-05 22:17:55 -08:00
Daniel Marjamäki af8f5ef57c daca2: remove aws code from daca2-report 2014-01-06 06:51:04 +01:00
Matthias Krüger bf34a0aafa make tools/times-tags.sh and tools/times.sh executable (mode 755). 2014-01-05 13:58:59 +01:00
Daniel Marjamäki 0851408a26 times.sh: Use SRCDIR to get more accurate results 2014-01-05 13:07:32 +01:00
Daniel Marjamäki cb40e83261 daca2: added --tries and --timeout in wget command 2014-01-02 16:50:12 +01:00
Daniel Marjamäki 5d31385161 daca2: fixed exitcode handling 2013-12-31 20:56:16 +01:00
Daniel Marjamäki 56a5b0d55f daca2: If cppcheck crash, the exitcode is nonzero. Write message in the report when the exitcode is nonzero. 2013-12-31 18:24:32 +01:00
Daniel Marjamäki a3a8edc00d ci: use CFGDIR flag 2013-12-28 12:17:30 +01:00
Daniel Marjamäki 9e0d7d86e9 dmake: Improved handling of CFGDIR 2013-12-28 12:15:08 +01:00
Lucas Manuel Rodriguez 4a46029ba6 Add readme.md for 'tools' directory 2013-12-27 13:58:08 -02:00
Daniel Marjamäki d3a848f2e6 Makefile: Added optional CFGDIR parameter that allows user to specify where Cppcheck will look for cfg files. 2013-12-26 18:41:51 +01:00
Daniel Marjamäki 31368d946b daca2-report: insert spaces between 'Most recently updated' items 2013-12-15 12:33:06 +01:00
Daniel Marjamäki 825174d394 ci.py: changed scp commands 2013-12-13 06:57:08 +01:00
Daniel Marjamäki 77a5ad03a6 ci: minor updates 2013-12-12 21:08:15 +01:00
Daniel Marjamäki 17099d74d6 ci.py: copy std.cfg to daca2 folder to get better results. 2013-12-12 20:10:46 +01:00
Daniel Marjamäki 663f5a14b0 daca2: avoid hang for iceowl package 2013-11-30 16:16:11 +01:00
Daniel Marjamäki 2b7835c5f9 daca2-report: Removed text about hardware running daca2 2013-11-28 19:27:37 +01:00
Daniel Marjamäki a4eeddd0f6 daca2-report: handle when datestr is None 2013-11-28 17:44:50 +01:00
Daniel Marjamäki 6b4016be42 daca2-report: get results from aws and show most recent results on web 2013-11-27 19:17:22 +01:00
Daniel Marjamäki d60c885f08 Daca2: use proper build flags in ci.py 2013-11-24 14:57:54 +01:00
Daniel Marjamäki 4e626d0907 daca2: update aws script. copy results for raspberry. 2013-11-24 14:55:49 +01:00
Daniel Marjamäki d5bb5d6b77 daca2: Change date field to date when analysis ends. 2013-11-24 10:50:16 +01:00
Daniel Marjamäki 02c299405b daca2: write number of error,warning,performance,portability,style in report 2013-11-24 10:47:12 +01:00
Daniel Marjamäki 514218da31 Daca2: Updated aws compilation flags 2013-11-23 16:38:52 +01:00
Daniel Marjamäki 0be5caf48d Daca2: updated aws script 2013-11-23 16:35:52 +01:00
Daniel Marjamäki a62a46c010 DACA2: little cleanup of aws script 2013-11-23 16:25:04 +01:00
Daniel Marjamäki a35a3236d6 Daca2: Added aws.py for secondary daca2 script 2013-11-23 16:22:11 +01:00
Daniel Marjamäki 992f61d911 ci.py: refactoring 2013-11-23 16:00:28 +01:00
Daniel Marjamäki 007e2d9dd5 daca2: handle links better 2013-11-18 17:59:47 +01:00
XhmikosR ff4cf68338 Improve daca2-report.py.
* remove empty <td>
* add meta charset
* remove double space
* remove unneeded escapes
2013-11-10 17:35:31 +02:00
Daniel Marjamäki e73acbaab6 daca2-report: graphical updates. write date when each 'folder' is updated. write some more description about the project. try to fix problem that & is not displayed properly 2013-11-04 13:18:01 +01:00
Daniel Marjamäki 46b4a19bd3 Added CI script to repo 2013-11-02 17:39:42 +01:00
Daniel Marjamäki e948f4c9ee daca2: don't remove large text files. there was some strange problem that results.txt was removed when a results.txt in a subfolder was removed. 2013-11-02 12:03:25 +01:00
Daniel Marjamäki b577b12660 daca2: skip boost to avoid hang 2013-10-28 18:09:05 +01:00
Daniel Marjamäki 9faaef840b daca2: check all extracted files 2013-10-27 07:53:23 +01:00
Daniel Marjamäki aaf5bbb7ad daca2: minor tweaks of wget and removeLargeFiles 2013-10-26 11:47:15 +02:00
Daniel Marjamäki 45e7c488a0 daca2: dont terminate when a package fails. try to continue. 2013-10-25 06:43:08 +02:00
Daniel Marjamäki 2f864dec49 daca2: fixes 2013-10-24 18:36:08 +02:00
Daniel Marjamäki ab2864e1cb daca2: use ls-lR file 2013-10-24 18:22:15 +02:00
Daniel Marjamäki fc9998e439 daca2: bailout if download fails 2013-10-24 17:39:37 +02:00
Daniel Marjamäki b15eeb0aa8 autopep8 formatting 2013-10-20 18:36:33 +02:00
Daniel Marjamäki 47766736fc daca2: handle xz compression 2013-10-20 12:45:05 +02:00
Daniel Marjamäki f58b4b61e2 daca2: improved command line flags 2013-10-20 11:28:16 +02:00
Daniel Marjamäki 17f8edfada daca2: tried to improve getpackages to be more robust 2013-10-20 11:25:31 +02:00
Daniel Marjamäki 4debaa2b92 daca2: alloc passing rev to script 2013-10-20 10:49:54 +02:00
Daniel Marjamäki 7f9f624215 daca2: more reliable ftp 2013-10-19 13:46:15 +02:00
Daniel Marjamäki c9491f952b daca2: skip flite, quick fix of possible hang 2013-10-19 09:53:23 +02:00
XhmikosR 0dba668661 daca2-report.py: use a doctype. 2013-10-18 17:37:03 +02:00
Daniel Marjamäki 88447385c2 autopep8 formatting 2013-10-18 17:35:59 +02:00
Daniel Marjamäki 072c80bde8 daca2: cleanup large files before cppcheck starts 2013-10-18 05:31:00 +02:00
Daniel Marjamäki 91e23c0660 daca2: don't check large files 2013-10-18 04:53:14 +02:00
Daniel Marjamäki 2d38245ea7 daca2-report: rephrazed 'Most recently updated' 2013-10-16 22:31:33 +02:00
Daniel Marjamäki c593092611 daca2-report.py: Added script that generates daca2 report 2013-10-16 18:15:51 +02:00
Daniel Marjamäki 94f91f20e1 daca2: improved cleanup 2013-10-16 17:22:00 +02:00
Daniel Marjamäki cee40beee1 daca2: removing readonly files/folders 2013-10-14 15:49:11 +02:00
Daniel Marjamäki 554790afcf daca2: refactoring. gather list of archives from ftp server then disconnect. 2013-10-13 14:13:10 +02:00
Daniel Marjamäki a305698442 daca2: catch EOFError exceptions 2013-10-13 13:10:25 +02:00
Daniel Marjamäki cb56db5f21 daca2: import missing datetime module 2013-10-13 11:47:51 +02:00
Daniel Marjamäki a61ccf2e9a daca2: write date in results 2013-10-13 11:43:05 +02:00
Daniel Marjamäki 69ec624ea5 daca2: refactoring 2013-10-13 11:10:22 +02:00
Daniel Marjamäki 398ed973f4 matchcompiler: autopep8 formatting 2013-10-13 11:01:50 +02:00
Daniel Marjamäki a7e925283a daca2: autopep8 formatting 2013-10-13 10:51:18 +02:00
Daniel Marjamäki 9aee165650 daca2: catch exception when generating daca2 report 2013-10-13 10:40:01 +02:00
Daniel Marjamäki b1470dc36e daca2: choose folder from command line 2013-10-13 08:35:20 +02:00
Daniel Marjamäki 95138dbead daca2: generate report 2013-10-13 08:07:39 +02:00
Daniel Marjamäki aa1b77f45d daca2: removed -j2 to reduce cpu load 2013-10-12 20:40:04 +02:00
XhmikosR e6e6335473 Revert 568a49c409 and do the changes properly. 2013-10-12 19:44:07 +03:00
XhmikosR 568a49c409 daca2.py: PEP8 fixes 2013-10-12 18:50:54 +03:00
Daniel Marjamäki d30ebe268a daca2: refactorings and fix of indentlevel that might have screwed up the script. 2013-10-12 16:49:37 +02:00
Daniel Marjamäki 0b9d0e48cf daca2: added script that runs cppcheck on debian source code 2013-10-12 14:02:03 +02:00
Daniel Marjamäki ee325008c4 dmake: install htmlreport 2013-10-12 12:26:27 +02:00
Daniel Marjamäki 3f1e074846 reduce: Fixed compiler error (MathLib::longToString() doesnt exist) 2013-10-06 19:07:47 +02:00
Robert Reif bf8a786265 reduce: add more settings from cppcheck cli 2013-08-19 06:06:53 +02:00
Daniel Marjamäki 982f63d58e reduce: update #include order 2013-08-18 18:19:24 +02:00
Robert Reif 784a8a1fcb reduce: refactorings 2013-08-18 18:15:46 +02:00
Daniel Marjamäki 6a369f0841 astyle formatting 2013-08-18 09:01:26 +02:00
Robert Reif 865ff82425 reduce: add -D 2013-08-18 07:24:30 +02:00
Daniel Marjamäki 99cb04306d reduce: allow -I command flag to specify include paths 2013-08-17 19:46:56 +02:00
Daniel Marjamäki d41e0f82cf reduce: Fix compilation problems 2013-08-17 19:20:47 +02:00
Daniel Marjamäki cb73a1d0c7 tools/times: modified script to allow longer dataseries 2013-07-21 13:16:34 +02:00
Daniel Marjamäki 8ba14edb51 dmake: fixed lib.pri for gui (tinyxml) 2013-07-08 21:56:09 +02:00
Daniel Marjamäki d96fb577cd CLI: Added --environment flag 2013-07-02 07:18:19 +02:00
Andreas Bießmann 90a6472af9 dmake: fix for local includes
When building cppcheck we may pull in conflicting global definitions before
local ones, rearrange include order to prevent this.

Signed-off-by: Andreas Bießmann <andreas@biessmann.de>
2013-06-03 19:45:29 +02:00
Daniel Marjamki 45cf562212 matchcompiler: fixed find(simple)match compiler problems. 2013-06-02 13:57:25 +02:00
Daniel Marjamki 35b13da3a5 matchcompiler: find(simple)match doesn't work well. the compiled functions are not static => the wrong function can be executed. this is a quick fix that just disable find(simple)match compiled patterns. 2013-06-02 12:41:34 +02:00
Frank Zingsheim 650027a07a Fixed #4797 (matchcompiler.py cannot handle overloaded findsimplematch and findmatch) 2013-05-15 18:18:58 +02:00
Daniel Marjamäki e1fd003e2d makefile: make it possible to turn on matchcompiler verifications with 'VERIFY=1' 2013-05-15 13:04:19 +02:00
XhmikosR ae73466f97 Python scripts: PEP8 fixes 2013-03-03 09:59:16 +01:00
PKEuS 2ad38c8701 Updated matchcompiler to support %cop% 2013-03-01 02:52:44 -08:00
Daniel Marjamäki c07576e07e dmake: generating unix makefile from windows. Ticket: #3887
When you commit the generated Makefile from windows you must probably be careful about the line endings.
2013-02-24 03:30:58 -08:00
Stefan Naewe 26ddf07366 tools/dmake: update with MINGW32 support
Signed-off-by: Stefan Naewe <stefan.naewe@googlemail.com>
2013-02-08 12:15:41 +01:00
Daniel Marjamäki 0a88a136ca Reduce: Added --cfg command 2013-01-27 03:20:24 +01:00
Daniel Marjamäki 89b54cb2c9 reduce: reduce structs/enums/etc better 2013-01-20 09:05:50 +01:00
Daniel Marjamäki d87d54339d reduce: fix output 2013-01-17 21:02:52 +01:00
Thomas Jarosch 4fb6751d08 MC: Enable compiled matches for Token::findmatch() and Token::findsimplematch()
Speed is exactly the same and the --verify mode of the
match compiler ensured everything works as expected.
2013-01-16 21:50:32 +01:00
Thomas Jarosch 9f9c654621 MC: Implement verify mode for compiled Token::findmatch patterns 2013-01-14 11:18:33 +01:00
Thomas Jarosch 63e18d6b1c MC: Split _replaceTokenFindMatch() into two small functions 2013-01-14 11:06:59 +01:00
Thomas Jarosch 017783a77e MC: Save one indentation level 2013-01-14 11:06:55 +01:00
Thomas Jarosch 06a7d301e2 MC: Switch to assertEqual function from python's unittest 2013-01-14 11:06:40 +01:00
Thomas Jarosch 3bb8237cdc MC: Turn MatchCompiler tests into python unit test 2013-01-14 11:06:33 +01:00
Thomas Jarosch c0044122f4 Add self test for _replaceTokenFindMatch 2013-01-12 15:28:38 +01:00
Thomas Jarosch ff9e864a07 Add self test for replaceTokenMatch 2013-01-12 15:28:38 +01:00
Thomas Jarosch a7377f180a Quote output of _assertEquals()
It's easier to detect trailing spaces this way.
2013-01-12 15:28:38 +01:00
Thomas Jarosch 4038d4b562 Place main code into own function 2013-01-12 15:28:38 +01:00
Thomas Jarosch fdcfbd5ff9 Add missing copyright header 2013-01-10 11:10:45 +01:00
Thomas Jarosch 6bd7463c54 Add local copy of argparse module to support python 2.6 / python 3.0 2013-01-09 21:30:53 +01:00
Edoardo Prezioso 6236e1dc38 Token::Match: removed harmless special code for initial '!!foo' patterns. 2013-01-09 20:13:33 +01:00
Thomas Jarosch de36324d62 Match compiler: Add cmdline handling 2013-01-09 19:41:03 +01:00
Thomas Jarosch 97e1e50139 Match compiler: Workaround broken code generation for "!!foo" patterns
This is just meant for the upcoming release.
2013-01-09 19:25:24 +01:00
Thomas Jarosch e1be85a552 Match compiler: Be more user friendly on how to invoke it 2013-01-09 19:22:40 +01:00
Thomas Jarosch ade0b741b7 Match compiler: Create 'build' directory if needed 2013-01-09 19:15:13 +01:00
Thomas Jarosch 982503f457 Match compiler: Workaround broken optimizations in verify mode
If the match compiler uses the 'verify' mode and we
compile with -O2, some tests comparing the on-the-fly-parser
to the compiled match fail.

Small functions are inlined by the -O2 compile flag.
If we disable function inlining and still compile with -O2,
everything is back to normal.

gdb didn't show anything useful during the mismatch
since the needed variables are optimized out. Once
we start printing them, the problem vanishes, too.
-> Can only be diagnosed at the x86 assembly level.

The problem vanished by switching the invocation order
of Token::Match() and the compiled match, so just swap them.

Also add commented out helper code
to better diagnose mismatch problems.
2013-01-09 19:03:42 +01:00
Daniel Marjamäki 9ecc74e845 tools/reduce: change default timeout to 5 minutes no matter if --hang is used or not. 2013-01-08 07:10:14 +01:00
Thomas Jarosch 9970414a2f Match compiler: Implement 'verify mode' for Token::Match
Verify mode runs the same ::Match pattern on a token
using the on-the-fly parser and the compiled match parser.
The result is compared and we abort on mismatch.

Already detected an error in our test suite, needs investigation.
2013-01-07 22:27:57 +01:00
Thomas Jarosch 9b51d81e99 Match compiler: Split _replaceTokenMatch() into two small functions 2013-01-07 21:39:49 +01:00
Daniel Marjamäki 7657b84c44 reduce: rename stdout to print to avoid name clash 2013-01-07 18:45:29 +01:00
Thomas Jarosch 3918948dd5 Match compiler: Aggregate match functions with the same pattern / function call signature
Reduces the number of generated functions from 2290 to 1916.
2013-01-04 04:47:01 +01:00
Thomas Jarosch 5f09cb2e4d Match compiler: Store matchFunctions and matchStrs in the class instead of passing it around 2013-01-04 03:56:21 +01:00
Thomas Jarosch 542c6e82d3 Match compiler: Cosmetic changes after running pylint 2013-01-04 03:44:04 +01:00
Thomas Jarosch 71a236b3df Match compiler: Turn code into a python class
This will make passing around internal states a lot easier
2013-01-04 03:38:40 +01:00
Thomas Jarosch f9c752667e Match compiler: Inline generated pattern match code for Token::findmatch
Verified the output in build/ stayed the same
if Token::findmatch support is disabled.
2013-01-04 03:13:22 +01:00
Thomas Jarosch 4b386986fc Match compiler: Check varid on first use like Token::Match does 2013-01-04 01:14:52 +01:00
Thomas Jarosch 5d5efdf99f Match compiler: Add support for Token::findmatch
(still disabled for performance reasons)
2013-01-04 01:01:57 +01:00
Thomas Jarosch 241d23ba8e Remove reduce tool in 'make clean' 2013-01-03 21:59:28 +01:00
Thomas Jarosch 4a2d2f78ef tools/reduce: Remove unused variable detected by cppcheck
[reduce.cpp:475]: (style) Variable 'decl' is assigned a value that is never used.
2013-01-03 21:38:47 +01:00
Thomas Jarosch 7417144784 Match compiler: Compile Token::findsimplematch() calls
Disabled for now as it runs slowers than before.
2013-01-03 19:33:37 +01:00
Daniel Marjamäki 76c8887f5f tools/reduce: remove cast in function parameter 2013-01-03 18:28:20 +01:00
Daniel Marjamäki 16612d010d tools/reduce: improvements to make it possible to reduce code that hangs 2013-01-03 15:22:54 +01:00
Daniel Marjamäki ed803b302b reduce: remove more stuff. unneeded #define , unneeded constructors, unneeded #ifndef etc 2013-01-02 17:08:04 +01:00
Daniel Marjamäki 1f3628a2fe reduce: remove more code blocks 2013-01-02 15:37:41 +01:00
Daniel Marjamäki 28d5ad9d21 dmake: fixed reduce compilation 2013-01-02 15:36:17 +01:00
Daniel Marjamäki 7f2d9cb7eb dmake: fixed compilation of reduce 2013-01-02 14:43:31 +01:00
Daniel Marjamäki 9877b77291 dmake: use 'make reduce' to compile the reduce program 2013-01-02 13:30:06 +01:00
Daniel Marjamäki e0a902e071 tools/reduce: various improvements to remove more code 2013-01-01 20:18:31 +01:00
Reijo Tomperi 5d5f7085bf Updating year 2012 -> 2013 to .cpp and .h files and man page. 2013-01-01 18:29:08 +02:00
Daniel Marjamäki f2f8780504 tools/reduce: better handling of #include 2013-01-01 16:18:06 +01:00
Daniel Marjamäki e824f76ed7 tools/reduce: removing blocks of code that contain #if,#else,#endif 2013-01-01 14:33:32 +01:00
Daniel Marjamäki 6ee32943f2 tools/reduce: speedup, terminate checking when error is found 2013-01-01 13:56:37 +01:00
Thomas Jarosch 62b05193c4 MC: Split convertFile() function into smaller pieces
Output of build/ stayed the same.
2012-12-31 15:30:27 +01:00
Thomas Jarosch 311630ac1c Match compiler: Python syntax simplification
Output in build/ stayed the same
2012-12-31 15:03:00 +01:00
Thomas Jarosch 51cff0cb9b Match compiler: Speed up Token comparison with string literals. Ticket #4451
"Cache" string literals as C++ std::string objects.
The string length gets cached and so we don't need to
call strlen() on the literals at runtime.
2012-12-31 14:45:16 +01:00
Daniel Marjamäki 676b5a15a6 reduce: Added simple command line tool that reduces code for a false positive. 2012-12-31 12:41:36 +01:00
Thomas Jarosch 3c915b534d Match compiler: Collect and cache plain C-strings
Profiler runs with gperftools showed we were spending
a lot of time in strlen() even with compiled match patterns.

If you compare a std::string with a plain C-string,
the comparison operator needs to calculate the length
of the C-string via strlen().

We can avoid this by turning all C-strings into C++ strings,
which cache the string length internally.

The match compiler has been adapted to collect all
C-strings during compilation and aggregate them.

Benchmark on the 'rpm' code base on a Core i7 920 box:

cppcheck without matchcompiler:
real    0m30.977s

cppcheck with previous matchcompiler:
real    0m28.157s

cppcheck with cached C-strings:
real    0m17.823s
2012-12-30 23:24:28 +01:00
Thomas Jarosch fe5ee76165 Match compiler: No need to handle %num% twice 2012-12-30 20:33:49 +01:00
Thomas Jarosch 33f4bd0298 Silence cppcheck warning 2012-12-25 15:28:58 +01:00
Thomas Jarosch 3d0b4a9f7e Add execute permissions to matchcompiler.py on linux 2012-12-25 13:18:24 +01:00
Thomas Jarosch a2885a1759 Python 3 compatibility for the helper scripts
print() is a function in python 3.
Works with pyhton 2.x, too.
2012-12-25 13:12:58 +01:00
Daniel Marjamäki 3b3fe1c616 matchcompiler: throw InternalError if Token::Match is called with the varid 0 2012-12-19 06:45:05 +01:00
XhmikosR 9f11c01450 apply astyle 2012-12-15 09:46:02 +01:00
Daniel Marjamäki b6786c87b4 matchcompiler: handle %varid% 2012-12-14 16:59:37 +01:00
Daniel Marjamäki 7c931960bd Merge pull request #123 from Keruspe/master
build: Fix sources location
2012-12-11 11:13:39 -08:00
Marc-Antoine Perennou cd9782472f build: rename LIBDIR to SRCDIR
Signed-off-by: Marc-Antoine Perennou <Marc-Antoine@Perennou.com>
2012-12-11 09:30:37 +01:00
Daniel Marjamäki 2d8ed65d43 compiled Token::Match patterns: refactorings,improvements 2012-12-10 20:28:11 +01:00
Daniel Marjamäki a11ec4a5ee matchcompiler: replaced regular expression with simple code that parses the code better 2012-12-08 19:29:16 +01:00
Daniel Marjamäki 9fcfb38a1c matchcompiler: merged regular expressions to a single expression 2012-12-08 16:22:55 +01:00
Daniel Marjamäki bef0cf149b matchcompiler: reverted changes so the 'make test' works again 2012-12-08 07:41:18 +01:00
Daniel Marjamäki 9bd222970e matchcompiler: fixed hang. don't know why it hangs. 2012-12-04 23:38:49 +01:00
Daniel Marjamäki ae7846bf7e matchcompiler: added some selftests for findMatchPattern 2012-12-04 22:57:52 +01:00
Daniel Marjamäki 514d06b015 Makefile: minor cleanup 2012-12-03 06:34:43 +01:00
Daniel Marjamäki 94930c3bd7 Compiled Token::Match patterns: let 'make clean' cleanup compiled patterns 2012-12-02 13:42:48 +01:00
Daniel Marjamäki ef5eece286 Compiled Token::Match patterns: extended match patterns and refactored the script a little 2012-12-02 13:39:59 +01:00
Daniel Marjamäki d630d34b62 Compiled Token::Match patterns. Added python script solution. Python is required to build with compiled patterns. To build cppcheck with compiled patterns use 'make LIBDIR=build'. 2012-12-02 12:36:55 +01:00
Daniel Marjamäki 29263e63fe times: added shell script that executes previous tags 2012-11-30 12:12:04 +01:00
Daniel Marjamäki ea9f0718b0 tools/times: minor tweaks 2012-11-27 12:20:23 +01:00
Daniel Marjamäki b200e1c430 tools/times: tweaked shell script to work better 2012-11-27 07:24:18 +01:00
Daniel Marjamäki 1ebab4a442 tools/times: added simple scripts to generate time stats for cppcheck 2012-11-27 06:08:26 +01:00
XhmikosR 941945bf42 missing tab to space 2012-09-29 18:02:34 +02:00
XhmikosR 9b5c245899 tabs to spaces, remove trailing spaces and extra empty lines at the end of files 2012-09-29 13:49:16 +02:00
Daniel Marjamäki ce862e02aa dmake: New version of TinyXml needs -DTIXML_USE_STL define in linux 2012-09-09 13:08:04 +02:00
Edoardo Prezioso 826d5bb00b Since the GCC -Wconversion warnings are fixed (at least on a x86-64 environment), enable it in the Makefile. 2012-07-18 00:50:30 +02:00
Kimmo Varis fe9e6130cf Add general PRO file for console builds.
It is easier to maintain PRO files when we keep all the console-
build specific general options in one file. For example changes to
compiler options affect to all console builds.
2012-06-18 09:28:32 +03:00
Daniel Marjamäki f98179a835 astyle formatting 2012-06-18 06:41:04 +02:00
Kimmo Varis 7b603813d7 dmake: Apply small fix from Dan.
This fixes the potential (but not likely to happen) case when
file list is empty. Dan suggested this change when reviewing my
earlier patch.
2012-06-11 22:09:09 +03:00
Kimmo Varis 734d4af007 Tests: Generate test file listing with dmake.
Use dmake to generate a test/testfiles.pri with all the files
containing tests. The testfiles.pri is included by the test/test.pro,
which compiles the test runner. This automates the test file listing
instead of former way to hand-edit the file list.

Fixes ticket #3885 (dmake needs to create a list of test files for qmake)
2012-06-11 22:05:55 +03:00
Kimmo Varis be21a44dd2 Tools: Adding a tools.pro to build dmake. 2012-06-11 14:45:32 +03:00
Daniel Marjamäki 16427b40b9 dmake: move . this fixes compiler errors when compiling with some old gcc 3.X compiler 2012-02-26 10:18:21 +01:00
Edoardo Prezioso f37f13c3ad Fixed typo in make file generation. 2012-02-17 20:12:41 +01:00
Daniel Marjamäki f183954150 dmake: keep some dummy debug code in release Makefiles to make the debug/release more similar 2012-02-12 03:30:58 +01:00
Edoardo Prezioso f20e88fcc5 tools/dmake.cpp: nitpicky reorder of commented warnings in alphabet order with uncommented ones. 2012-01-03 15:10:32 +01:00
Reijo Tomperi 8cae17fda8 Update year to 2012 2012-01-01 01:05:37 +02:00
Daniel Marjamäki 5cc5330d95 extracttests.py: reverted last change. see comments on github. 2011-12-07 21:49:34 +01:00
Daniel Marjamäki ab348387b5 extracttests.py: python 3 compatibility updates 2011-12-07 17:05:24 +01:00
Daniel Marjamäki e9546c5042 extracttests.py: create output folders if they dont exist 2011-12-04 21:46:56 +01:00
Daniel Marjamäki 8e9097bce7 extractpython.py: cleanup 2011-12-02 19:08:04 +01:00
Daniel Marjamäki 712ca42985 extracttests: refactorings. dont include dynamic strings in the listing 2011-12-02 18:33:17 +01:00
Daniel Marjamäki ca9dbfc031 extracttests.py : improved errors.txt output 2011-11-29 21:35:57 +01:00
Akio Idehara baa97d53fc Fixed #3346 (cygwin detection for _GLIBCXX_DEBUG in Makefile) 2011-11-29 20:35:56 +01:00
Daniel Marjamäki 932680994d removed old extracttests.cpp 2011-11-29 17:43:23 +01:00
Daniel Marjamäki 16ae2f49ca extracttests.py: minor code fixes of --code handling 2011-11-29 10:13:37 +01:00
Daniel Marjamäki 7624313808 extracttests.py: added option to output test files 2011-11-28 22:17:06 +01:00
Daniel Marjamäki c0770f0823 extracttests.py: improved command line parser 2011-11-27 17:11:38 +01:00
Daniel Marjamäki ac06f34627 extracttests.py: cleaned up the code for parsing of command line 2011-11-27 15:24:13 +01:00
Daniel Marjamäki 681e4ba314 extracttests.py: exit if wrong command line is given 2011-11-27 14:11:15 +01:00
Daniel Marjamäki ce2be7cbe3 extracttests.py: reduce line lengths 2011-11-27 13:49:20 +01:00
Daniel Marjamäki 370018d313 extracttests.py: close input file 2011-11-27 11:43:13 +01:00
Daniel Marjamäki 54eeb76a71 extracttests.py: renamed 'str' to 'string' 2011-11-27 11:40:23 +01:00
Daniel Marjamäki 0c54f88dd0 extracttests.py: added docstrings. added navigation links. 2011-11-27 11:35:01 +01:00
Daniel Marjamäki db186b2c25 extracttests.py: allow user to see 'error cases only' 2011-11-27 10:26:35 +01:00
Daniel Marjamäki 315ce1db40 extracttests.py: added function 'trimname' 2011-11-27 08:32:07 +01:00
Daniel Marjamäki 52caadf957 extracttests.py: Added a little help info 2011-11-27 08:13:11 +01:00
Daniel Marjamäki 9c626b941a extracttests.py: Added tool for extracting test information 2011-11-27 08:06:11 +01:00
Edoardo Prezioso 433f4640a9 Fix some GCC warnings regarding the sign conversion. 2011-10-30 18:34:49 +01:00
Ville Skyttä b69ad0fefc Makefile: Use pcre-config to get include/lib paths etc 2011-10-28 21:20:19 +02:00
Daniel Marjamäki 17aea0a997 dmake: disabled -Wunreachable-code because there was too many warnings 2011-10-24 07:09:14 +02:00
Edoardo Prezioso df5d26901c Add new warning option to check for dead code and change the order of some struct members to reduce structure padding. 2011-10-24 03:02:00 +02:00
Edoardo Prezioso 12f6ce46f8 Add more warnings and fix the ones reported by them. 2011-10-22 15:05:43 +02:00
Daniel Marjamäki 34e2a2ad66 Makefile: Disable rules by default 2011-10-17 20:18:36 +02:00
Daniel Marjamäki 6f8e42a5af changed the astyle formatting flags 2011-10-13 20:53:06 +02:00
Kimmo Varis 80ba3d6a92 Merge pull request #32 from rpavlik/qmake-configure-rules
Qmake configure rules
2011-08-19 13:00:34 -07:00
Edoardo Prezioso f62d1d0122 Fixed #3017 (set HAVE_RULES to yes only if HAVE_RULES is undefined when executing make.) 2011-08-19 00:28:31 +02:00
Ryan Pavlik 50b0e95314 put the rules logic in its own .pri file, and allow easier override 2011-08-18 15:42:19 -05:00
Ryan Pavlik 33b5970c91 use the qmake config setting HAVE_RULES to enable/disable pcre rules support,
defaulting to on except on Windows.
2011-08-18 12:13:21 -05:00
Daniel Marjamäki d336e91049 Makefile: Added the -D_GLIBCXX_DEBUG flag again to get checked stl during debug 2011-08-14 18:57:48 +02:00
Kimmo Varis d698e24746 dmake: Fix build in Windows. 2011-08-11 23:41:35 +03:00
Kimmo Varis 3eb11e7bdf Tools: Update VS project file. 2011-08-11 23:40:10 +03:00
Kimmo Varis a382a6938b Tools: fix Makefile
tools/ Makefile contained errmsg target whose source does not
exist anymore. And it didn't have a target for extracttests.
Removed the errmsg target and added new target for extracttests.

Ticket: #2988 (In tools, make error: no rule to make target `errmsg.cpp', needed by `errmsg'.)
2011-08-10 23:58:54 +03:00
Felix Geyer e49763b14f Ticket: #2823 (cppcheck fails to build with system tinymxl and -Wl,--as-needed) 2011-06-19 20:56:12 +03:00
Kimmo Varis a6c35cb828 Fix tools/Makefile permissions. 2011-06-18 11:08:40 +03:00
seb777 c73506009b Merge branch 'master' of http://github.com/danmar/cppcheck 2011-05-02 19:55:34 +02:00
Kimmo Varis c7d99fe9a7 Remove ErrorLogger::reportStatus() method.
The ErrorLogger::reportStatus() is not lib code interface. The CLI
code does the looping through file list and gives one file at a
time for the core code. Hence lib has no any idea about the
progress and it can't provide such information.

Also the recent commit (6d858b6) caused a GUI build failure by
adding CLI code dependency to GUI. Which is big no-no.

This is admittedly a hack. But it allow us to build all modules
again.
2011-04-27 23:27:02 +03:00
Daniel Marjamäki 29a7b3bafd dmake: fixed compiler error 2011-04-27 17:57:03 +02:00
Greg Hewgill 7ae4896703 Makefile: handle case where LDFLAGS is already defined (in dmake) 2011-04-23 00:20:38 +12:00
Daniel Marjamäki 712e285bd6 Makefile: added option for compiling with/without rules 2011-04-19 20:53:40 +02:00
Reijo Tomperi 485ff0b472 "#ifndef" can't be used in Makefile (it is considered a commented line). Replaced it with "ifndef". 2011-04-11 22:54:29 +03:00
Daniel Marjamäki 5058cc6aa1 Reverted non-CMake changes in previous 'Added CMake files' commit 2011-03-25 07:59:48 +01:00
Markus Elfring 9301ee28a8 Added CMake files 2011-03-25 07:14:53 +01:00
Sebastien Debrard 48cc875bdf fix compilation error 2011-03-23 01:27:08 +01:00
Sebastien Debrard 8f6af5c6da fix compile error 2011-03-23 01:25:47 +01:00
Daniel Marjamäki 8caf96be63 FileLister: Moved back the code into a single cpp file 2011-03-20 14:25:11 +01:00
Daniel Marjamäki f5ebd779f8 GCC: Disabled the -Wsign-conversion. It is quite noisy. 2011-02-17 22:28:36 +01:00
Daniel Marjamäki 805773663e Build: Renamed HAVE_DEPENDENCIES to HAVE_RULES 2011-02-14 19:37:58 +01:00
Daniel Marjamäki 27febb062b cppcheck: Added HAVE_DEPENDENCIES define. Cppcheck cli can be compiled without dependencies. 2011-02-12 08:06:59 +01:00
Daniel Marjamäki 227a6100f7 astyle formatting 2011-02-11 19:31:37 +01:00
Reijo Tomperi a71204b8e3 Change "tinyxml/tinyxml.h" includes into <tinyxml.h> and modify dmake to work with it.
This should allow usage of libtinyxml-dev or such libraries without modifications to code or makefile.
2011-02-10 22:35:48 +02:00
Robert Reif 90495d52d2 fix dmake.cpp cppcheck message: Include file: ../cli/fileLister_win32.h not found. 2011-02-09 21:32:20 -05:00
Reijo Tomperi 73e746cfd8 Change Makefile to allow another external library to be used instead of bundled one.
E.g. make TINYXML="-ltinyxml" can be used to compile with libtinyxml-dev instead of
externals/tinyxml (but won't compile yet, because of #include "tinyxml/tinyxml.h" in the code).
2011-02-09 01:06:51 +02:00
Kimmo Varis 3fc0d0f03e Run dmake to update Makefile. 2011-02-02 14:36:45 +02:00
Kimmo Varis 800d8d1e05 Cleanup makefile a bit.
Align object file lists first line. Remove excessive use of tabs.
2011-01-31 09:18:35 +02:00
Daniel Marjamäki 07e097561c dmake and Makefile updates 2011-01-21 20:51:01 +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
Reijo Tomperi 226b605774 Change year 2010 -> 2011 in license texts. 2011-01-09 21:33:36 +02:00
Daniel Marjamäki a9aa6375b7 gcc: disabled -Wconversion again - too many warnings 2011-01-01 09:16:31 +01:00
Daniel Marjamäki eb59bd5fd6 Added -Wconversion compiler flag. The ASSERT_EQUALS_DOUBLE was added that can be used when comparing double values. 2010-12-30 22:56:53 +01:00
Peter Pentchev 121cb043a7 Makefile: honor the C preprocessor flags in CPPFLAGS. Ticket: #2254 2010-12-26 18:12:14 +01:00
Kimmo Varis 4ebdbec621 Update dmake to use basepath in lib.pri. 2010-12-18 17:11:19 +02:00
Ettl Martin 7d1b2254d3 fixed mistake from previous commit. changes path from test/tinyxml to external/tinyxml; Thanks to kimmov. 2010-12-13 14:47:53 +01:00
Ettl Martin 515b4cce1c dmake: added test/tinyxml path to make clean 2010-12-13 13:44:40 +01:00
Daniel Marjamäki 48241c81f8 dmake: add include path '../externals' to lib.pri in case the pcre.h is placed there. 2010-12-12 17:26:13 +01:00
Daniel Marjamäki 2d3865a671 Add support for user defined rules 2010-12-12 11:56:22 +01:00
Daniel Marjamäki 81cac166d6 FileLister: minor cleanup 2010-11-09 19:11:43 +01:00
Lauri Nurmi 91e66e74d0 Fixed #2099 (Show an error if none of the given paths was found) 2010-10-22 17:09:50 +02:00
Pete Johns 4f0cda235a Added tags file for faster code navigation.
[Helpful for newbies like me]
2010-10-12 23:08:34 +11:00
Pete Johns 97a68bdcee Added `check` target.
Runs the test as per `make test`, but with less verbosity.

    -g GCC-style errors
    -q quiet tests
2010-09-26 13:29:23 +10:00
Reijo Tomperi 8a7989c824 Makefile improvements related to clean, dmake and man targets. 2010-09-22 21:25:27 +03:00
Pete Johns 4934cfa622 Wrapped variables in conditions
This allows CXX and CXXFLAGS to be overridden without patching. Added PREFIX for MacPorts compatibility, allowing staging to $(DESTDIR)$(PREFIX)/bin, leaving original behaviour unchanged.

Exit early if run in incorrect directory or if Makefile cannot be written.
2010-09-20 21:16:09 +10:00
Kimmo Varis ed656e02e4 Fix compiling tests in Linux.
For Linux I needed to add cmdlineparser object file to test target
linking definitions in dmake.
2010-09-06 22:45:29 +03:00
Daniel Marjamäki f476cc12f8 Disabled the -Wconversion. There are too many compiler warnings currently when using it. 2010-08-15 08:58:27 +02:00
Daniel Marjamäki 5e1168fc5c dmake: removed _GLIBCXX_DEBUG because it doesn't work in cygwin. added -Wconversion 2010-08-13 21:31:04 +02:00
Daniel Marjamäki adc47f1820 Fixed #1487 (fix gcc compiler warnings) 2010-08-06 21:02:43 +02:00
Daniel Marjamäki 1a5a1002b6 updated dmake. updated Makefile (includes cleanup). 2010-07-27 15:25:03 +02:00
Reijo Tomperi 0c61454b3f Added test case deadlock_with_many_errors() for ticket #1650
http://sourceforge.net/apps/trac/cppcheck/ticket/1650
The test case is currently commented out, because it would cause tests to hang also.
2010-06-18 00:42:01 +03:00
Daniel Marjamäki 8504863636 dmake: updated compiler flags in release mode. only -Wall. 2010-05-08 12:57:44 +02:00
Daniel Marjamäki c718a7c595 astyle: Update to astyle 1.24 2010-04-15 20:08:51 +02:00
Reijo Tomperi 35d2a27b9c Update copyright year in all source files 2010-04-13 22:23:17 +03:00
Reijo Tomperi eb79e5f918 Enable -Wshadow in Makefile 2010-04-11 14:57:03 +03:00
Daniel Marjamäki 0cad22314e Reverted 'astyle fix'. Those changes are not in sync with my astyle configuration/setup. 2010-04-02 07:30:58 +02:00
Martin Ettl 193aa7d1d3 astyle fix 2010-04-02 02:21:53 +02:00
Daniel Marjamäki 9e393fd92e Makefile: Added flag -Wno-long-long compiler flag to suppress warnings about long long 2010-03-31 21:47:51 +02:00
Daniel Marjamäki f7662b094d astyle formatting 2010-03-13 08:05:07 +01:00
Daniel Marjamäki 48a63e4c35 gcc: removed -Wlogical-op that is not supported by old GCC 2010-03-13 08:03:30 +01:00
Kimmo Varis 66448b41ac Restore and fix tools Makefile. Fix include lines. 2010-03-11 22:55:31 +02:00
Kimmo Varis b746e9d4be Fix dmake for Windows. 2010-03-11 22:30:06 +02:00
Kimmo Varis a7996ab252 Fix compiling in Linux. Fix compiling dmake. 2010-03-11 22:15:15 +02:00
Daniel Marjamäki 2c210b8ff9 dmake,qmake: temporarily removed -Wsign-conversion 2010-03-09 11:10:34 +01:00
Daniel Marjamäki 2ba3f59fc8 dmake, qmake: more sensitive compiler and runtime 2010-03-09 08:24:52 +01:00
Daniel Marjamäki cffe20a440 dmake: debug/release mode, more gcc warnings 2010-03-09 08:10:05 +01:00
Kimmo Varis 5b2c6129df Add VS project file for building dmake. 2010-03-04 21:09:37 +02:00
Reijo Tomperi 01c5bdfc68 Add TODO test case for #1452 (Simplify goto better)
http://sourceforge.net/apps/trac/cppcheck/ticket/1452
2010-02-24 22:55:16 +02:00
Daniel Marjamäki 5254822bed dmake: generate the lib/lib.pri file 2010-02-23 21:27:01 +01:00
Daniel Marjamäki 209024adcb tools/Makefile: fixed so the dmake can be built 2010-02-23 18:43:10 +01:00
Daniel Marjamäki 56e67d38ff Readded man/install to the Makefile 2010-02-23 18:37:46 +01:00
Daniel Marjamäki 2befb74a07 astyle formatting 2010-02-20 09:14:15 +01:00
Daniel Marjamäki a9bd7296b7 dmake: simplified a little 2010-02-19 17:35:38 +01:00
Daniel Marjamäki 744c385097 Revert "removed tools/dmake and Makefile. Please use cmake from now on."
This reverts commit cfacd5fe10.
2010-01-23 09:54:51 +01:00
Daniel Marjamäki cfacd5fe10 removed tools/dmake and Makefile. Please use cmake from now on. 2010-01-22 20:57:30 +01:00
Reijo Tomperi 7596e76a79 Added 'make man' to Makefile 2009-11-22 16:43:55 +02:00
Daniel Marjamäki 293631745a extracttests: astyle formatting 2009-11-09 20:40:58 +01:00
Daniel Marjamäki 45c3ba3c28 extracttests: minor updates 2009-11-09 20:36:13 +01:00
Daniel Marjamäki ed9ee554da extracttests: extract more tests 2009-11-08 08:00:22 +01:00
Daniel Marjamäki c98976cc9b extracttests: extract to cpp instead and don't generate the Makefile - it's easier to use a simple standard Makefile instead. 2009-11-07 19:52:10 +01:00
Daniel Marjamäki b9ebdee2f5 extracttests: Added a simple program for extracting testcode from our unit testing 2009-11-07 18:04:45 +01:00
Reijo Tomperi 3be9f2e6cc astyle fix 2009-10-27 11:10:59 +02:00
Daniel Marjamäki 27761a6edc Restructuring: Updated the dependency walker 2009-10-26 22:36:36 +01:00
Daniel Marjamäki 09859c1019 refactoring the folder structure 2009-10-25 12:49:06 +01:00
Reijo Tomperi fdde2182b9 Fix GPL comments in all files. ">." was missing from the end. 2009-09-27 18:08:31 +03:00
Daniel Marjamäki 03f3ee62a0 cleanup: removed deprecated files. security checking and errmsg 2009-07-12 19:18:38 +02:00
Reijo Tomperi 8b0e481d46 Refactoring: Rename member functions to follow naming guidelines. 2009-07-05 23:16:43 +03:00
Reijo Tomperi 58eda6e978 Fix ticket #325 (Replace developer names in source files with AUTHORS file)
http://apps.sourceforge.net/trac/cppcheck/ticket/325
2009-05-30 08:48:12 +03:00
Slava Semushin 4bd1c3fb00 Propagate static and const modifiers.
No functional change.
2009-05-22 21:20:32 +07:00
Daniel Marjamäki 3c1c33669e refactoring: The errmsg is no longer supposed to generate the errorLogger code 2009-03-21 10:15:46 +01:00
Daniel Marjamäki 33df121567 added and integrated checkautovariables that gscacco created 2009-03-19 20:55:50 +01:00
Vesa Pikki 3d6e3d38bb Applied a patch by Mike Frysinger
The proper variable to use for the C++ compiler is $(CXX).  Also, when
linking objects, $(LDFLAGS) should be used.
2009-03-09 19:35:43 +02:00
Reijo Tomperi 017e10e10b Fix ticket #141 (changed the makefile), changing compiler is now easier in the makefile.
http://apps.sourceforge.net/trac/cppcheck/ticket/141
2009-03-07 01:45:27 +02:00
Reijo Tomperi 015143b56c Copyright fixes 2009-03-01 19:59:13 +00:00
Reijo Tomperi fc8f47145a Copyrights updated 2009-03-01 19:52:33 +00:00
Reijo Tomperi f6848f14ad Fixed another --style problem with our code 2009-03-01 19:38:17 +00:00
Reijo Tomperi d098b62975 Use reference instead of string copy (fixes some --style warnings from our code) 2009-03-01 19:30:51 +00:00
Reijo Tomperi 033a82d3f2 Members of ErrorLogger::ErrorMessage made public for better access to them. 2009-02-22 11:29:33 +00:00
Daniel Marjamäki 15e86db3ed buffer overrun: Added checking of strncat 2009-02-20 21:00:59 +00:00
Reijo Tomperi 61587c42ae Fix ticket #113 (Add support for multi core CPUs and -w parameter to specifify amount of worker threads) 2009-02-20 19:40:42 +00:00
Reijo Tomperi 4fc774deda Multicore cpu support for Linux (currently disabled and compiling produces warnings)
"no errors" output removed.
2009-02-19 22:21:18 +00:00
Daniel Marjamäki efeaac736d security: added simple gui checking 2009-02-19 17:57:27 +00:00
Daniel Marjamäki 4e1f19a366 input validation: added checking 2009-02-19 08:03:14 +00:00
Daniel Marjamäki 2b04c94b95 stl push_back: Added check (invalid iterator) 2009-02-18 19:57:43 +00:00
Reijo Tomperi 7ef9e870cd Code comments updated 2009-02-14 22:00:19 +00:00
Reijo Tomperi d1e9efc66a Fix ticket #104 (Change (error) Uninitialized member variable -> (style) Member variable not initialized in the constructor) 2009-02-14 08:52:03 +00:00
Daniel Marjamäki eda1290e40 dangerous usage of erase: added check 2009-02-11 05:08:29 +00:00
Reijo Tomperi 9b9223480d Refactoring: reportErr takes now only one parameter, ErrorLogger::ErrorMessage, which contains all required information and also some help
functions for formatting it for output.
2009-02-10 21:51:52 +00:00
Daniel Marjamäki c1638996f9 STL: added check for iterator usage 2009-02-10 19:40:21 +00:00
Reijo Tomperi 5721e4469b stlOutOfBounds error message created 2009-02-10 19:36:49 +00:00
Reijo Tomperi 1373e14bc9 Fix ticket #93 (Write xml results into error stream instead of results.xml file.) and also refactor the
code to use ErrorLogger::reportErr() for all errors, for both xml and plain text. And move xml formatting 
from Cppcheck to CppcheckExecutor.
2009-02-09 20:51:04 +00:00
Reijo Tomperi fb3c81dcd9 Fix ticket #80 (refactoring: classes ErrorMessage and ErrorLogger), note that errormessage and errorlogger were merged, errormessage.* is no more. 2009-02-08 21:20:35 +00:00
Daniel Marjamäki 1637e867de mismatching allocation size: moved to error suite 2009-02-08 18:34:04 +00:00
Daniel Marjamäki 3c289e52c5 memory allocation: check for mismatching size 2009-02-07 10:54:39 +00:00
Daniel Marjamäki 03acc12977 mismathing allocation and deallocation: moved to error checks 2009-02-06 18:24:01 +00:00
Reijo Tomperi a06861948b Fixed: Ticket #78 Change (always) into (error) in error messages 2009-02-05 21:06:32 +00:00
Daniel Marjamäki aeb573d529 returning pointer to local array 2009-02-04 18:49:19 +00:00
Daniel Marjamäki 385c28a02e xml: generating better xml output 2009-02-01 18:00:47 +00:00
Daniel Marjamäki eb9563faed astyle formatting 2009-02-01 16:39:29 +00:00
Daniel Marjamäki d29d7e60a9 errmsg: refactoring the error messages 2009-02-01 15:47:36 +00:00
Daniel Marjamäki 2784faab42 removed unused function definition for stringifySeverity 2009-01-31 19:05:17 +00:00
Daniel Marjamäki 81174a4817 mismatching allocation / deallocation: moved to --all 2009-01-31 17:54:31 +00:00
Daniel Marjamäki f6f72fc022 errmsg: output severity in messages. a fix to track severity in the memory leaks check 2009-01-31 13:57:27 +00:00
Daniel Marjamäki 3457b38d7a errmsg: write severity in the message 2009-01-31 08:33:31 +00:00
Daniel Marjamäki 6ce23670e5 sprintf overlapping data: added extra text that is shown if --verbose is given 2009-01-26 19:14:46 +00:00
Daniel Marjamäki 3d61334a8c errmsg: Moved 'function parameter parname is passed by value' to the style checks 2009-01-26 18:32:00 +00:00
Daniel Marjamäki e691ade8e6 Build: Enabled the Wextra flag when building cppcheck 2009-01-22 21:16:50 +00:00
Nicolas Le Cam 42c608b6f0 Remove checks that are already covered well by most compilers (Unreachable Code; Assignment in Condition; Unused Variable). 2009-01-21 21:31:47 +00:00
Reijo Tomperi 176dd41306 Fixed Ticket #40, Check copyright texts in files, now that we have new developers. 2009-01-21 20:04:20 +00:00
Nicolas Le Cam cec57b76d3 errmsg: Don't create unused parameters 2009-01-19 19:50:00 +00:00
Daniel Marjamäki 8780fbf8bb bounds checking: Added error message "snprintf size is out of bounds" 2009-01-17 13:09:02 +00:00
Daniel Marjamäki a5e2787f72 errmsg: added varname to the message "deallocating a deallocated pointer" 2009-01-17 11:15:46 +00:00
Daniel Marjamäki 4cfb8ad1cb memory leaks: Added checking of deallocate to see that the pointer isn't deallocated already 2009-01-15 20:34:39 +00:00
Daniel Marjamäki 8bbd4b9401 str plus char: Added check and error message for str + ch 2009-01-15 16:57:51 +00:00
Daniel Marjamäki 03cfe18c9b errmsg: Added 'condition is always true/false' 2009-01-14 19:43:28 +00:00
Daniel Marjamäki c8a5bd16a1 errmsg: Added 'assignment in if-condition' 2009-01-13 17:56:45 +00:00
Daniel Marjamäki aa592387e6 errmsg: refactoring 2009-01-13 06:25:36 +00:00
Daniel Marjamäki cc65242626 errmsg: added message about bad usage of char variable 2009-01-12 18:52:43 +00:00
Daniel Marjamäki fdf5b215f9 errmsg: Added message for 'incomplete statement' 2009-01-12 17:46:24 +00:00
Daniel Marjamäki a5eb8894d4 errmsg: Added messages for 'variable is not used / not read / not assigned' 2009-01-12 17:40:20 +00:00
Daniel Marjamäki 13e2396345 errmsg: Added message 'function parameter is passed by value' 2009-01-12 17:32:53 +00:00
Daniel Marjamäki df689b454c errmsg: added message 'unreachable code below return' 2009-01-12 17:28:04 +00:00
Daniel Marjamäki a0ef840138 errmsg: Added 'unused struct member' 2009-01-12 17:21:25 +00:00
Daniel Marjamäki 03888046d8 errmsg: Made the 'unsigned division' a style error 2009-01-12 17:14:03 +00:00
Daniel Marjamäki 980b10bfc9 errmsg: Added 'unsigned division' 2009-01-12 17:12:14 +00:00
Daniel Marjamäki 17d4c2b980 errmsg: Added message 'Overlapping data buffer' 2009-01-12 06:52:50 +00:00
Daniel Marjamäki ae861852e2 errmsg: Added "found redundant if - 'if (condition);' 2009-01-12 06:44:47 +00:00
Daniel Marjamäki 9d8af10583 errmsg: the "unused function" message shall not take any Tokenizer nor Token parameters 2009-01-11 08:10:51 +00:00
Daniel Marjamäki 3d8791eebd errmsg: added "unused function" 2009-01-11 06:44:32 +00:00
Daniel Marjamäki 631e202027 dmake: Minor updates. Moved target "all" a little. Handle the change 937 where "make test" also executes testrunner 2009-01-11 06:17:54 +00:00
Daniel Marjamäki 1e6b54b2c5 errmsg: added "mismatching allocation and deallocation" 2009-01-10 19:30:41 +00:00
Daniel Marjamäki 47a7c915fa errmsg: Added error messages for "Array index out of bounds" and "Buffer overrun" 2009-01-10 19:23:21 +00:00
Daniel Marjamäki 897c02e3ed errmsg: added error message about virtual destructors 2009-01-10 18:03:56 +00:00
Daniel Marjamäki 6acb123f1d errmsg: Added "operator= should return something 2009-01-10 17:57:31 +00:00
Daniel Marjamäki 1fc5f5485f errmsg: Added "Using 'memset' on class" 2009-01-10 17:51:03 +00:00
Daniel Marjamäki 7b10b0ff4d errmsg: Added "Unused private function ..." 2009-01-10 17:35:41 +00:00
Daniel Marjamäki dc6317878e errmsg: Added "uninitialized member variable" 2009-01-10 17:11:47 +00:00
Daniel Marjamäki a2a8378749 astyle: updated the code style 2009-01-10 14:29:59 +00:00
Daniel Marjamäki 0c3c00daec errmsg: Added errormessage for 'the class 'classname' doesn't have a constructor' 2009-01-10 13:08:44 +00:00
Daniel Marjamäki 41a73e3b1e errmsg: bug fix 2009-01-10 12:03:18 +00:00
Daniel Marjamäki 8842172821 errmsg: reformatted with astyle 2009-01-10 11:17:00 +00:00
Daniel Marjamäki 713b0c7cdd errmsg: The generated code is compliant with the astyle formatting 2009-01-10 07:43:15 +00:00
Daniel Marjamäki 01ec1b15fe dmake: minor fixes. The tools binaries will be put in the tools folder 2009-01-10 07:38:11 +00:00
Daniel Marjamäki f83741503e make: updated the make so that the tools are built with "make all". And added the errormessage.h generator to the makefile also 2009-01-09 19:28:55 +00:00
Daniel Marjamäki 7851b1042f errormessage: added error message ErrorMessage::dangerousUsageStrtol 2009-01-09 19:15:54 +00:00
Daniel Marjamäki 38286a7d57 dmake: don't generate Makefile if there are no src files 2009-01-09 18:13:00 +00:00
Reijo Tomperi 66547e7ddf Fixed make install from the generated makefile 2009-01-08 21:02:03 +00:00
Daniel Marjamäki 5d0f8f0cfa errormessage: Added a few more messages for checkother.cpp 2009-01-08 20:56:51 +00:00
Reijo Tomperi 4dfc3a9c3d Added license text to errormessage.h (via code tha generates it) and also mention that it is generated by machine 2009-01-08 20:51:07 +00:00
Daniel Marjamäki 3bdb3064b0 tools/errmsg: some refactoring 2009-01-08 17:29:44 +00:00
Daniel Marjamäki 80c7e00e84 tools: Added headers to source files 2009-01-08 06:22:14 +00:00
Daniel Marjamäki 5b86188c45 tools: updated the code style 2009-01-07 15:17:02 +00:00
Daniel Marjamäki 149ab87931 tools/dmake: A few simple fixes. Commited the new Makefile 2009-01-06 20:12:59 +00:00
Daniel Marjamäki 2b671fef16 tools: dmake added a tool for maintaining the Makefile 2009-01-06 20:04:20 +00:00
Daniel Marjamäki 0ac9d34d70 tools/errmsg: minor fixes 2009-01-06 17:22:35 +00:00
Daniel Marjamäki a62d3da857 tools/errmsg: code correction 2009-01-06 17:20:19 +00:00
Daniel Marjamäki 934b251ec6 tools/errmsg: generate documentation 2009-01-06 17:09:27 +00:00
Daniel Marjamäki 59a644b4b1 tools/errmsg: generate the function to use when determining if a check should be done or not 2009-01-06 16:25:42 +00:00
Daniel Marjamäki 31f95aeec9 tools: Added a folder where we can keep small usable utilities 2009-01-06 15:02:34 +00:00