Skip to content
Snippets Groups Projects
Commit c6d8f3af authored by Virgile Prevosto's avatar Virgile Prevosto
Browse files

[doc] update README for new options

parent 189169af
No related branches found
No related tags found
No related merge requests found
......@@ -40,16 +40,16 @@ with `.cpp`, `.C`, `.cxx`, `.c++` or `.cc` will be treated as C++ files.
Files ending with `.ii` will be considered as already pre-processed C++ files.
Options of the plug-in are the following.
- `-cxx-demangling-full` tells Frama-C to display C++ global
identifiers with their fully-qualified name (e.g. `::A::x`)
- `-cxx-demangling-short` tells Frama-C to display global
C++ identifiers with their unqualified name (e.g. `x`)
- `-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. Pretty-printing
the AST with this option should result in compilable C code.
- `-cxx-unmangling key` indicates what to do when outputting a C++ symbol name.
`key` can be one the following:
- `help`: outputs a list of existing `key` with a short description
- `fully-qualified`: displays the fully qualified name (e.g. `::A::x`)
- `without-qualifier`: only display the unqualified name (e.g. `x`)
- `none`: do not any transformation, displays the name as it is stored
in Frama-C's AST (e.g. `_Z1A1x`)
- `-cxx-parseable-output` indicates that the pretty-printed code resulting
from the translation should be able to be parsed again by Frama-C.
implies `-cxx-unmangling none`
- `-cxx-cstdlib-path <path>` specifies where to look for standard
C library headers (default is the path to Frama-C's headers)
- `-cxx-c++stdlib-path <path>` specifies where to look for
......@@ -62,6 +62,12 @@ Options of the plug-in are the following.
This should only be needed if the front-end as a whole has not been installed
properly.
Older versions of the plug-in used specific options for unmangling.
These are now obsolete:
- `-cxx-demangling-full`: use `-cxx-unmangling fully-qualified`
- `-cxx-demangling-short`: use `-cxx-unmangling without-qualifier`
- `-cxx-keep-mangling`: use `-cxx-unmangling none`
In addition, any command-line option taking a function name as
argument (e.g. `-main`, `-eva-slevel-function`, ...) will accept a
fully qualified C++ name (provided it refers to an existing function
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment