Commit Graph

588 Commits

Author SHA1 Message Date
shaneasd 8f7996211b
remove nullScope from TestSymbolDatabase (#3679) 2022-01-06 15:23:43 +01:00
Daniel Marjamäki e6ccf299b9 Fixed #10598 (SymbolDatabase: final class is not parsed properly) 2021-12-22 21:48:01 +01:00
Daniel Marjamäki 77434d093e SymbolDatabase: Do not set wrong type for std::map etc items in range for loop 2021-12-11 15:16:54 +01:00
chrchr-github ca311ebcdf
ASSERT() on calls to Tokenizer::tokenize() in test code (#3501) 2021-11-29 07:34:39 +01:00
Rikard Falkeborn 085d25f1b1
SymbolDatabase: Fix valuetype with constexpr and auto (#3577) 2021-11-24 16:51:40 +01:00
chrchr-github 51d0f128a5
Add test for #10126 (#3568) 2021-11-17 19:28:15 +01:00
Daniel Marjamäki 8b5865055a SymbolDatabase: Fix Variable pointer property for 'std::string x(*p)' 2021-11-17 08:22:49 +01:00
Ken-Patrick Lehrmann b3b3b6b2a1
Fix handling of namespace scope with several bodystarts (#3438)
Follow up to 0093452bed.
Give the proper end to getVariableList, since it might not be bodyEnd.

Before that, getVariableList would add the same variables in several
unrelated scopes, and all kind of false positive would follow.

For instance, with the case I added in the unit-tests, I had:
```
../code.cpp:15:18: warning: The struct 'is_A' defines member variable with name 'foo' also defined in its parent struct 'is_A_impl'. [duplInheritedMember]
static const int foo = 8;
                 ^
../code.cpp:15:18: note: Parent variable 'is_A_impl::foo'
static const int foo = 8;
                 ^
../code.cpp:15:18: note: Derived variable 'is_A::foo'
static const int foo = 8;
                 ^
../code.cpp:15:18: style: struct member 'has_A::foo' is never used. [unusedStructMember]
static const int foo = 8;
                 ^
../code.cpp:15:18: style: struct member 'is_A::foo' is never used. [unusedStructMember]
static const int foo = 8;
                 ^
```
2021-09-04 11:09:33 +02:00
Daniel Marjamäki 83270a6c52 Fixed #10376 (Cppcheck does not add some function arguments to the dump file) 2021-08-15 07:48:01 +02:00
Paul Fultz II fdaeaacc40
Symboldatabase: Improve valuetypes for containers, iterators, and smart pointers (#3398) 2021-08-14 19:00:58 +02:00
Daniel Marjamäki 0093452bed SymbolDatabase; Better handling of namespace that is defined in several scopes 2021-08-10 07:00:11 +02:00
Daniel Marjamäki 820256d10f Revert "testsymboldatabase: remove INDENT-OFF and INDENT-ON"
This reverts commit 623461fc9c.
2021-08-09 07:42:16 +02:00
Daniel Marjamäki 623461fc9c testsymboldatabase: remove INDENT-OFF and INDENT-ON 2021-08-08 21:18:56 +02:00
Paul Fultz II 7f358b2bed
Format with uncrustify (#3388) 2021-08-07 20:51:18 +02:00
Daniel Marjamäki 27a4df06d2 Revert "SymbolDatabase; First fix to handle when a namespace have many scopes"
This reverts commit e6cc7201b0.
2021-08-04 22:30:39 +02:00
Daniel Marjamäki e6cc7201b0 SymbolDatabase; First fix to handle when a namespace have many scopes 2021-08-04 20:36:43 +02:00
Paul Fultz II 00eb71fd49
Remove constexpr -> const simplification (#3346) 2021-07-22 07:22:26 +02:00
Daniel Marjamäki d1fe34e167 misra; implement rule 8.10 2021-07-18 21:18:07 +02:00
Robert Reif c7be967769
fix #10295 (false negatives by inconsistent 'void' in argument list (declaration vs definition)) (#3274)
Co-authored-by: Robert Reif <reif@FX6840>
2021-05-24 19:32:15 +02:00
Daniel Marjamäki bd97b8eb8a SymbolDatabase; Add variables when structured binding is used 2021-04-26 18:21:07 +02:00
Daniel Marjamäki 4f43dbf954 Parser; fixed ast and auto type deduction for c++17 braced init lists 2021-04-25 10:38:33 +02:00
Daniel Marjamäki eacc9e552e Function::returnsReference: handle type scope better 2021-04-10 14:31:50 +02:00
Paul Fultz II 5cf2f7e633
Fix issue 10087: false positive: error: Reference to temporary returned. (#3205) 2021-04-09 07:44:20 +02:00
Paul Fultz II f8dc9862da
Fix issue 10202: FP: constParameter (#3202) 2021-04-08 16:02:11 +02:00
Oliver Stöneberg 6397e29f84
cleaned up includes based on include-what-you-use (#3141) 2021-04-03 21:30:50 +02:00
Daniel Marjamäki 42437277dc Update Copyright year 2021-03-21 20:58:32 +01:00
Daniel Marjamäki 51564504a8 astyle formatting 2021-03-20 18:54:46 +01:00
Tetrix 9b7f1f6280
simplifyCPPAttribute tokenizer strips alignas (#3171) 2021-03-20 10:38:47 +01:00
PKEuS cf1937294a Refactorization: Removed unnecessary \n and spaces in strings
Merged from LCppC.
2021-02-20 12:58:42 +01:00
IOBYTE 5810171336
fix daca crashes in Type::findDependency() (#3101) 2021-01-31 10:07:03 +01:00
IOBYTE 6914f375e1
fix #10135 ("debug: Executable scope 'what' with unknown function." with custom std::exception) (#3089) 2021-01-28 12:38:36 +01:00
IOBYTE a4953575f1
fix #10127 (debug: Executable scope 'x' with unknown function.) (#3077) 2021-01-23 17:55:25 +01:00
Paul Fultz II d80f2fb46f
Reapply f1cc3ad and fix performance regression (#3076) 2021-01-23 08:47:39 +01:00
Daniel Marjamäki 0fa89ff2ba Revert 14365ffc7 and f1cc3ada8, there was a performance regression 2021-01-22 10:51:46 +01:00
Paul Fultz II f1cc3ada86
Refactor valueFlowTerminatingCondition to handle inner conditions and complex conditions (#3060) 2021-01-21 20:18:53 +01:00
IOBYTE d39956414f
fix #10122, #10124 and #10125 (debug: Executable scope 'x' with unknown function.) (#3073) 2021-01-21 19:47:51 +01:00
IOBYTE 952857195b
fix out of line member functions using global namespace (#3063) 2021-01-19 18:52:47 +01:00
IOBYTE fde5994cc3
fix #10061 (debug: Executable scope 'x' with unknown function.) (#3062) 2021-01-18 19:01:04 +01:00
Rikard Falkeborn bedf3118ef
library: Refactor to use enum class (#3026) 2021-01-08 10:29:01 +01:00
IOBYTE c085151eb0
fix exprengine.cpp:2833:18: debug: Executable scope 'executeAllFunctions' with unknown function. (#3019) 2021-01-06 17:29:23 +01:00
IOBYTE 22b10f8987
fix token.cpp:745:19: debug: Executable scope 'getStrSize' with unknown function. (#3015) 2021-01-05 22:07:53 +01:00
IOBYTE 23da5c9815
fix #9885 (SymbolDatabase: function lookup fails calling variadic method) (#3002)
Co-authored-by: Robert Reif <reif@FX6840>
2021-01-03 11:17:32 +01:00
Ken-Patrick Lehrmann aad723bf3a
Fix false positive AssignmentIntegerToAddress (#2971) 2020-12-24 19:57:02 +01:00
IOBYTE 2ecab32fbe
fix debug printing of valuetype name with namespaces (#2968) 2020-12-21 19:47:54 +01:00
Wolfgang Stöggl 079255d913
Fix gcc11 build errors (#2963) 2020-12-19 21:54:19 +01:00
IOBYTE f2cf11682a
fix #10040 (symbolDatabaseWarning: debug: Executable scope 'x' with unknown function.) (#2955) 2020-12-18 07:46:01 +01:00
Daniel Marjamäki cb7eee2aa9 SymbolDatabase: Improved types for 'std::string + x' 2020-12-05 13:24:21 +01:00
Daniel Marjamäki 009ad11b3e SymbolDatabase: set proper valuetype for string addition result (#9161) 2020-12-01 20:16:39 +01:00
Daniel Marjamäki 2cd8ea83a7 Fixed #9860 (unused template not removed properly by default) 2020-11-22 16:43:36 +01:00
Daniel Marjamäki 22d6160624 Improve handling of decltype 2020-11-16 20:11:26 +01:00