/**************************************************************************** ** ** Copyright (C) 2016 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Creator documentation. ** ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see https://www.qt.io/terms-conditions. For further ** information use the contact form at https://www.qt.io/contact-us. ** ** GNU Free Documentation License Usage ** Alternatively, this file may be used under the terms of the GNU Free ** Documentation License version 1.3 as published by the Free Software ** Foundation and appearing in the file included in the packaging of ** this file. Please review the following information to ensure ** the GNU Free Documentation License version 1.3 requirements ** will be met: https://www.gnu.org/licenses/fdl-1.3.html. ** ****************************************************************************/ // ********************************************************************** // NOTE: the sections are not ordered by their logical order to avoid // reshuffling the file each time the index order changes (i.e., often). // Run the fixnavi.pl script to adjust the links to the index order. // ********************************************************************** /*! \contentspage {Qt Creator Manual} \previouspage creator-running-valgrind-remotely.html \page creator-clang-static-analyzer.html \nextpage creator-cpu-usage-analyzer.html \title Using Clang Static Analyzer \QC integrates the \l{http://clang-analyzer.llvm.org} {Clang Static Analyzer} for finding problems in C, C++, and Objective-C programs. \image qtcreator-clang-static-analyzer.png The Clang Static Analyzer runs with all the default checkers enabled. For more information about the checkers, see \l{http://clang-analyzer.llvm.org/available_checks.html}{Available Checkers}. To suppress diagnostics, select \uicontrol {Suppress This Diagnostic} in the context menu. To view the suppression list for a project and to remove diagnostics from it, select \uicontrol {Clang Static Analyzer} in the \uicontrol Projects mode. \section1 Supported Project Types and Tool Chains The Clang Static Analyzer relies on the data (specific macros and include directories) from the projects and tool chains. Not all projects and tool chains can provide enough data for reasonable results. Currently, only Qbs and qmake projects together with the GCC, MinGW, Clang and Microsoft Visual Studio tool chains are supported. \section1 Setting Up Clang Static Analyzer As a tested version of Clang is shipped together with Qt Creator, no manual setup is required. To profit from improved checkers in newer Clang versions, \QC can be set up to use those. However, only the shipped version of Clang is tested and known to work. Other versions might not work at all. To set up a particular Clang version for the Clang Static Analyzer, select \uicontrol Tools > \uicontrol Options > \uicontrol Analyzer > \uicontrol {Clang Static Analyzer} and check that the path to the Clang executable is set correctly in the \uicontrol {Clang executable} field. \image qtcreator-clang-static-analyzer-options.png \section1 Running Clang Static Analyzer To run the Clang Static Analyzer to analyze an open project, select \uicontrol Analyze > \uicontrol {Clang Static Analyzer} on the menu bar. The Clang Static Analyzer starts automatically. However, if you select \uicontrol Debug in the mode selector to open the \uicontrol Debug mode and then select \uicontrol {Clang Static Analyzer}, you must start the Clang Static Analyzer by selecting the \inlineimage qtcreator-analyze-start-button.png (\uicontrol Start) button. */