Menu

Cppcheck-1.70

Cppcheck-1.70 has been released

General changes:
- New version of .cfg file format, adding support for namespaces and declaring several functions at once
- Support building x64 installer for Windows; Both x64 and x86 builds are now provided
- Warn about deprecated options --suppressions and --exitcode-suppressions. They will be removed in future
- Added debugging option --debug-normal, which prints out debug output before second stage simplification

New checks:
- Warn about modifying string literals
- Detect declaration of variable length arrays with negative size
- Warn about implicit type conversion from int to long
- Warn about redundant code in conditions like (y || (!y && z))
- Detect conditions with known result
- Race condition: non-interlocked access after InterlockedDecrement()
- Detect unused 'goto' labels

Removed checks:
- Do no longer warn about a bug in scanf implementation of ancient glibc versions
- Multifile analysis (added in 1.69) has been removed because it did not work
- Removed ExecutionPath checker, which has been superseeded by ValueFlow analysis

Improvements:
- Support hexadecimal floating point numbers (C99)
- Support [[deprecated]] (C++14)
- Improved handling of sizeof()
- Improved handling of reserved keywords
- Better handling of C declaration specifiers; support complex/_Complex (C99)
- Better handling of ternary operator in ValueFlow analysis
- Lots of improvements to .cfg files, especially std.cfg, which now supports namespace std
- Improved performance and memory usage of Preprocessor
- Improved performance of matchcompiler
- Reduced Disk IO when ignoring paths
- Removed several obsolete simplifications
- Added python addons: naming.py, threadsafety.py and cert.py

GUI:
- Support printing
- Added item "Open containing folder" to context menu

Additionally, lots of false positives and bugs have been fixed and several existing checks have been improved.

Posted by Daniel Marjamäki 2015-09-04
  • Bassam Abdul-Baki

    Unzipping this and running it without an install does not work on Win 7 32-bit OS. I've installed it at home on Win 10 64-bit OS and it works great. However, I do not have admin rights at work and in the past, I've had to unzip it and run it manually and it worked. I currently get the error message:

    [Window Title]
    ...\cppcheck-1.70\cppcheckgui.exe

    [Content]
    The version of this file is not compatible with the version of Windows you're running. Check your computer's system information to see whether you need an x86 (32-bit) or x64 (64-bit) version of the program, and then contact the software publisher.

    [OK]

     
  • Bassam Abdul-Baki

    Thanks! That did the trick.

    For NON-ADMIN Users:

    Download the correct OS version executable instead of just downloading the default MSI executable.

    Unzip somewhere and rename all DLLs to their right names. Rename "_" to "-" for the API DLLs and remove their GUI extensions to make them DLLs.

    Move qwindows.dll to a folder named "platforms" right under root.

    Running the GUI executable (after renaming) should tell you wish DLLs it hasn't found and need to be renamed. One DLL needs a hyphen in the name.

    For bulk renaming, I use BRU (Bulk Renaming Utility).

     

    Last edit: Bassam Abdul-Baki 2015-09-09
  • Colin D Bennett

    Colin D Bennett - 2015-09-09

    On Windows 7 (64-bit), I found that after installing the Cppcheck 1.70 MSI, the Cppcheck.exe program would note start. A dialog box was displayed, saying the program can't start [...] msvcp140.dll

    Install the Microsoft Visual C++ Redistributable for Visual Studio 2015 to fix this. https://www.microsoft.com/en-us/download/details.aspx?id=48145

     
  • Daniel Marjamäki

    Thanks! It should be installed automatically by the installer. If you're good at Wix feel free to take a look at our script and see if you can tell us why that did not work.

     
  • Daniel Marjamäki

    This is not a good place to report installation problems. Use the Cppcheck issue tracker instead: http://trac.cppcheck.net

     
  • John Hagen

    John Hagen - 2016-01-03

    For others, this appears to be the open ticket for this issue: http://trac.cppcheck.net/ticket/6980

     

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.