Forked from
pub / Frama Clang
487 commits behind the upstream repository.
-
Virgile Prevosto authoredVirgile Prevosto authored
mainpage.dox 3.40 KiB
/**************************************************************************/
/* */
/* This file is part of Frama-Clang */
/* */
/* Copyright (C) 2012-2022 */
/* CEA (Commissariat à l'énergie atomique et aux énergies */
/* alternatives) */
/* */
/* you can redistribute it and/or modify it under the terms of the GNU */
/* Lesser General Public License as published by the Free Software */
/* Foundation, version 2.1. */
/* */
/* It is distributed in the hope that it will be useful, */
/* but WITHOUT ANY WARRANTY; without even the implied warranty of */
/* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
/* GNU Lesser General Public License for more details. */
/* */
/* See the GNU Lesser General Public License version 2.1 */
/* for more details (enclosed in the file LICENSE). */
/* */
/**************************************************************************/
/**
\mainpage The Frama-Clang documentation
Frama-Clang is a Frama-C plug-in for parsing C++ files,
based on Clang, the C/C++/Objective-C front-end of the LLVM compiler
infrastructure. \n\n
Once installed, Frama-Clang will be automatically called by Frama-C's kernel
whenever a C++ source file is encountered. More precisely, files ending
with .cpp, .C, .cxx, .c++ or .cc will be treated as C++ files. \n
Options of the plug-in are the following.
\li -cxx-demangling tells Frama-C to display C++ global
identifiers with their fully-qualified name (e.g. ::A::x)
\li -cxx-demangling-short| tells Frama-C to display global
C++ identifiers with their unqualified name (e.g. x)
\li -cxx-keep-mangling tells Frama-C to display global C++
identifiers with the name they have in the C translation (e.g.
_Z1A1x, that allows to distinguish between overloaded symbols.
This mangled name is computed from the fully-qualified C++ name
according to the rules described in the Itanium C++ ABI.
\li -cxx-cstdlib-path <path> specifies where to look for standard
C library headers (default is the path to Frama-C's headers)
\li -cxx-c++stdlib-path <path> specifies where to look for
standard C++ library headers (default is the path to Frama-Clang headers,
which are very incomplete)
\li -cxx-nostdinc do not include in the search paths
Frama-C's C/C++ standard headers location
\li -cxx-clang-command <cmd> allows to change the name of the
command that launches clang and its plugin that outputs the intermediate AST.
This should only be needed if the front-end as a whole has not been installed
properly.
\n
Frama-Clang calls FramaCIRGen that automatically converts C++ translation units
into an AST CIL-compatible and so a Frama-C compatible AST. \n
The main classes of FramaCIRGen are FramaCIRGenAction and
FramaCIRGenAction::Visitor.
*/