Commit Graph

1352 Commits

Author SHA1 Message Date
Frank Zingsheim 614a78084f Fixed : Improved quickfix from 0943fecf03
(Segmentation fault in K&R simplification inside lambda expression)
2013-05-21 19:43:07 +02:00
Frank Zingsheim 0943fecf03 Fixed (Segmentation fault in K&R simplification inside lambda expression) 2013-05-14 20:56:31 +02:00
PKEuS 1903585ea3 Fixed bug in handling rvalue references: Scope has to be set everywhere. () 2013-05-14 01:43:32 -07:00
Frank Zingsheim 0076ebe08d More general fix to (False positive: Variable inside a lambda is reported as uninitialized)
Travis: Problems with matchcompiler.py
2013-05-12 11:19:10 +02:00
Frank Zingsheim 511f8a4c1f More general fix to (False positive: Variable inside a lambda is reported as uninitialized) 2013-05-12 10:19:43 +02:00
Daniel Marjamäki cbe0a0825c Fixed (Tokenizer: Replace block declaration (^{}) with asm()) 2013-05-09 14:47:18 +02:00
Daniel Marjamäki 4659745106 Fixed (segfault with one LibreOffice file) 2013-05-06 16:56:34 +02:00
Zachary Blair de8ee5b042 Fixed (false negative: buffer access out of bounds) 2013-05-02 21:50:48 -07:00
Daniel Marjamäki 9f8ce6f77f Fixed (Tokenizer::setVarId: Varid not tracked properly after function declaration with 'shadow' parameter name) 2013-04-19 18:36:16 +02:00
PKEuS cf5d8fa3df Use Token::link() instead of Token::findClosingBracket() whereever possible 2013-04-15 13:48:28 -07:00
Daniel Marjamäki a49fc57e00 Tokenizer: don't simplify 'a!=(b!=0)' to 'a!=b'. Ticket: 2013-04-11 07:19:32 +02:00
XhmikosR 8ac9b8e7a9 remove duplicate ";" and fours dots 2013-04-09 17:49:09 +02:00
PKEuS fd7c90f68d Forgot to commit a file in eb2962792f. 2013-04-04 10:57:35 -07:00
PKEuS 188096665c Implemented support for rvalue references (C++11):
- Split up && when it is part of an rvalue reference declaration
- Added support into symbol database
- Current implementation sets Variable::isReference() to true also for rvalue references - they can probably be treated like normal references in many checks.

Changed behaviour of symbol database: Insert argument Variable of functions that are not implemented into SymbolDatabase::_variableList
2013-04-04 09:47:44 -07:00
Daniel Marjamäki 2d70af2c82 Reverted fix. It might be possible to make a better fix 2013-03-25 19:55:35 +01:00
Daniel Marjamäki 2b02013fa7 Fixed (False positive: uninitialized Variable after unknown macro) 2013-03-25 19:52:33 +01:00
Daniel Marjamäki cc3139cf39 Tokenizer: Fixed 'variableScope' message. 2013-03-18 19:32:40 +01:00
Daniel Marjamäki 1b18bfc93c Fixed (errors not recognized when class has extra specification) 2013-03-18 19:09:04 +01:00
Robert Reif c600479c20 Symbol database: Tweaked debug printing of unknown types 2013-03-15 06:48:57 +01:00
PKEuS 796c3e101f Implemented better fix for 2013-03-12 08:05:03 -07:00
PKEuS b3a9ac5c3b Fixed : Don't assign varid to template parameter when 'typename' is used 2013-03-10 06:11:25 -07:00
Daniel Marjamäki 1f40af2ae2 Fixed (false positive: (error) Uninitialized member variable (missing function inlining)) 2013-03-09 17:55:49 +01:00
PKEuS 99a73fe1d3 Don't assign a varid to a variadic function 2013-03-05 08:32:52 -08:00
PKEuS d49f4a611a Reduced code duplication in tokenizer 2013-03-02 09:19:53 -08:00
PKEuS bf9aa102f2 Fixed possible nullptr dereference warning 2013-03-01 03:53:47 -08:00
PKEuS 0105f8223c Simplified several Token::Match/simpleMatch calls when match string consists of a single pattern
Fixed two CheckInternal error messages
2013-03-01 03:42:04 -08:00
PKEuS f899e6ca30 Changed behaviour of %op% pattern accordingly to changes to Token::isOp(). Added %cop% as replacement for old %op% 2013-03-01 02:43:59 -08:00
PKEuS 670c4de8a9 Changed behaviour of Token::is*Op() functions:
- Rename Token::isOp() to Token::isConstOp() (indicating that the operator does _not_ modify the input variables)
- Create new Token::isOp(), returning true also for ++, -- and assignment operators
- Make Token::isExtendedOp() returning also true for all assignment and ++/-- operators
2013-02-28 12:50:29 -08:00
Daniel Marjamäki 94da3bd57f Fixed (False positive (style): noexcept for constructors) 2013-02-28 06:38:57 +01:00
Daniel Marjamäki 71b66209b7 Fixed (segmentation fault of cppcheck (invalid code)) 2013-02-20 06:58:27 +01:00
Alexander Mai b892d2e14c Fixed (segmentation fault of cppcheck (invalid code)) 2013-02-16 18:31:43 +01:00
Daniel Marjam�ki 635b7d5a0e Fixed (Variable is assigned a value that is never used.) 2013-02-16 16:07:05 +01:00
Robert Reif c5ee083c82 Fixed (false positive 'noConstructor' in 1.57) 2013-02-15 06:44:07 +01:00
Daniel Marjamäki 1e550f9fdf Reverted fix for : It causes fp. See 2013-02-12 16:13:08 +01:00
Ettl Martin c192e4d669 spellfixes 2013-02-12 15:21:27 +01:00
Daniel Marjamäki 48e194dc56 Fixed (Analysis failed: sizeof final) 2013-02-10 23:54:15 +01:00
Stefan Naewe 46fb31f9e5 lib/tokenize: fix two compiler warnings about emtpy while loop
Fixes these warnings:
  lib/tokenize.cpp: In member function ‘bool Tokenizer::tokenize(std::istream&, const char*, const std::string&)’:
  lib/tokenize.cpp:1962: warning: suggest a space before ‘;’ or explicit braces around empty body in ‘while’ statement
  lib/tokenize.cpp: In member function ‘bool Tokenizer::tokenizeCondition(const std::string&)’:
  lib/tokenize.cpp:2174: warning: suggest a space before ‘;’ or explicit braces around empty body in ‘while’ statement

Signed-off-by: Stefan Naewe <stefan.naewe@googlemail.com>
2013-02-08 12:15:42 +01:00
Daniel Marjamäki 463121be71 Fixed (cppcheck 1.58 crashes on empty signals block in headerfile) 2013-02-07 17:03:08 +01:00
Frank Zingsheim 5144307642 Raise syntax error for if-condition without parentheses according to 2013-02-05 21:13:57 +01:00
Frank Zingsheim b531195e08 Fixed (Improve check: Duplicate conditions in 'if' and related 'else { if'.)
Change tokenizer: "else if" -->> "else { if"
2013-02-04 21:12:12 +01:00
Frank Zingsheim 89560564ed Refactoring: Add braces to an if-block, for-block, etc. in tokenizer.
Fixed  (Tokenizer: Wrong braces for triple if else)
2013-02-02 16:01:34 +01:00
Robert Reif ec1c86c152 Symbol database: more function/variable cleanup. Ticket: 2013-01-31 06:41:18 +01:00
Robert Reif 859793731d SymbolDatabase: Refactor findFunction handling. Ticket: 2013-01-28 06:47:48 +01:00
Daniel Marjamäki 4391f0880f Tokenizer: Add special tokenize method for the Preprocessor with only basic simplifications 2013-01-27 17:58:54 +01:00
Erik Lax c2608108dd Fixed (Tokenizer: Wrong simplification of inner if-else 'if (a) while (b) if (c) x; else y;') 2013-01-24 16:53:20 +01:00
Thomas Jarosch f867d05d81 Use Token::simpleMatch() for simple pattern
Found by "internal" check
2013-01-21 10:14:39 +01:00
Daniel Marjamäki 67c9720299 Tokenizer: fixed simplification of static constants 2013-01-19 21:14:15 +01:00
Daniel Marjam�ki 6d5532980e Tokenizer: Set proper variable ID when simplifying return statement. Ticket: 2013-01-19 13:42:54 +01:00
Daniel Marjam�ki bff6ed7af0 Fixed (false negative: (error) Returning pointer to local array variable) 2013-01-19 13:39:23 +01:00
Thomas Jarosch e22b1f7740 Adapt Tokenizer::simplifyCallingConvention() and Tokenizer::simplifyKeyword() for the match compiler
This little change gives another 6% speed improvement on my box.
(tested with the testsuite and checking the 'rpm' codebase)

The profiler showed we were spending quite some time in
Tokenizer::simplifyCallingConvention(). The multi match
pattern in there is "complex", at least for the on-the-fly parser.
2013-01-16 20:33:01 +01:00