* Update cppcheckdata.py
- added links to cpp-file/function that writes this part of the dump-file
- updated documentation (Added list of possible return values for a number of variables)
- added MacroUsage isKnownValue
- added ValueType reference
- added Token isBoolean
- added Token isCast
- added Token externLang
- added Token isComplex
- added Token isRestrict
- added Token isAttributeExport
- added Token originalName
- added Scope functions
- added Scope definedType
- added Function hasVirtualSpecifier
- removed Function isVirtual
- added Function isAttributeNoreturn
- added Function overriddenFunction
- added Variable isVolatile
- class Container added
- added Value movedValue
- added Value uninit
- added Value bufferSize
- removed Value inconclusive and added it to valueKind
* Update cppcheckdata.py
removed encoding from open (needed to make python 2.7 check pass) where python 2.7 should not be used anymore
* Update cppcheckdata.py after feedback
made sure that attributes I added to the class always have a value
added some missing attributes in the print
* misra: fix misra-3_1 false positive for URIs in block comments
* added unit test, improved new misra 3.1 based on false positives
---------
Co-authored-by: Paul B <unconfigured@null.spigotmc.org>
* Speed up analyses of .ctu_info files
Use temporary dictionaries to eliminate duplicate typedefs,
tags and macros
* Consistency: use a cache key variable
Ensures that the get and add use the same key.
* CTU perf: use dict for macros, tags & types.
* donate_cpu_lib.py: use `os.path.join()`
* donate-cpu: removed remaining usage of `os.chdir()`
* donate_cpu_lib.py: moved library includes code into class
* donate_cpu_lib.py: pre-compile library include regular expressions
* donate_cpu_lib.py: pre-compile some more regular expressions
* donate_cpu_lib.py: small unpack_package() cleanup and optimization
* donate_cpu_lib.py: added some information about the extracted files to unpack_package()
* donate_cpu_lib.py: bumped version
* added test_donate_cpu_lib.py
* donate_cpu_lib.py: greatly improved `LibraryIncludes.get_libraries()` performance
only scan each file once for previously undetected libraries only
* test_donate_cpu_lib.py: fix for Python 3.5
* scriptcheck.yml: added `-v` to pytest calls so we get the complete diff on assertions
* fixed `test_arguments_regression()` Python tests with additional pytest arguments
* donate_cpu_lib.py: use `subprocess.check_call()`
* test_donate_cpu_lib.py: sort results to address differences in order with Python 3.5
* Fix misra 8.7 false positives on single function usage
When there is a single usage of a function, we should first check if the
file it is used in, is the same one it was defined in. When this is not the
case, there is no violatior to be reported.
* Fix misra rule 5.9 false positives for exception
The exception for rule 5.9 described in the guidelines allows for
multiple definitions of internal linkage obejcts when these regard a
static inlined function defined in the same header file.
* Fix neglecting of inline keyword flag upon simplifications
When the inline keyword is being "simplified" and the inline flag is
degated to the next token. However, this information might be lost if the next
token itself is simplified/deleted in a futher pass. Therefore, we must
propagated the flag to all the next named tokens, so we can make sure the
function name token itself is tagged with this property.
* add tests for misra addon rules 8.7 and 5.9