\rare{-no\_iso\_limit} Put no limit on the number of times that
isomorphisms can be applied. This is the default.
+\rare{-disable\_iso}{Disable a specific isomorphism from the command line.
+ This option can be specified multiple times.}
+
\developer{-track\_iso}{ Gather information about isomorphism usage.}
\developer{-profile\_iso}{ Gather information about the time required for
graph for all of the functions in a file or for a specific function in a
file. This requires {\tt dot} (http://www.graphviz.org/) and {\tt gv}.}
+\rare{-control\_flow\_to\_file $\langle$file$\rangle$,
+ -control\_flow\_to\_file
+ $\langle$file$\rangle$:$\langle$function$\rangle$}{ Like -control\_flow
+ but just puts the dot output in a file in the {\em current} directory.
+ For PATH/file.c, this produces file:xxx.dot for each (selected) function
+ xxx in PATH/file.c.}
+
\rare{-type\_c $\langle$file$\rangle$}{ Parse a C file and pretty-print a
version including type information.}
http://webglimpse.net/. In conjunction with the option {\bf -patch\_cocci}
this option prints the regular expression that will be passed to glimpse.}
+\normal{-use\_idutils}{ Use an id-utils index created using lid to select
+ the files to which a semantic patch may be relevant. This option
+ requires that a directory is specified. The index may be created using
+ the script {\tt coccinelle/scripts/ idindex\_cocci.sh}. In conjunction
+ with the option {\bf -patch\_cocci} this option prints the regular
+ expression that will be passed to glimpse.}
+
\rare{-dir}{ Specify a directory containing C files to process. A trailing
{\tt /} is permitted on the directory name and has no impact on the
result. By default, the include path will be set to the ``include''
\normal{-macro\_file $\langle$file$\rangle$}{
Extra macro definitions to be taken into account when parsing the C
- files.}
+ files. This uses the provided macro definitions in addition to those in
+ the default macro file.}
\normal{-macro\_file\_builtins $\langle$file$\rangle$}{
Builtin macro definitions to be taken into account when parsing the C
- files.}
+ files. This causes the macro definitions provided in the default macro
+ file to be ignored and the ones in the specified file to be used instead.}
\rare{-ifdef\_to\_if,-no\_ifdef\_to\_if}{
The option {\bf -ifdef\_to\_if}
\subsubsection*{Include files}
-\normal{-all\_includes, -local\_includes, -no\_includes}{
-These options control which include files mentioned in a C file are taken into
-account. {\bf -all\_includes} indicates that all included files will be
-processed. {\bf -local\_includes} indicates that only included files in
-the current directory will be processed. {\bf -no\_includes} indicates
-that no included files will be processed. If the semantic patch contains
-type specifications on expression metavariables, then the default is {\bf
--local\_includes}. Otherwise the default is {\bf -no\_includes}. At most
-one of these options can be specified.}
+\normal{-recursive\_includes, -all\_includes, -local\_includes,
+ -no\_includes}{ These options control which include files mentioned in a
+ C file are taken into account. {\bf -really\_all\_includes} indicates
+ that all included files mentioned in the .c file(s) or any included files
+ will be processed. {\bf -all\_includes} indicates that all included
+ files mentioned in the .c file(s) will be processed. {\bf
+ -local\_includes} indicates that only included files in the current
+ directory will be processed. {\bf -no\_includes} indicates that no
+ included files will be processed. If the semantic patch contains type
+ specifications on expression metavariables, then the default is {\bf
+ -local\_includes}. Otherwise the default is {\bf -no\_includes}. At
+ most one of these options can be specified.}
\normal{-I $\langle$path$\rangle$}{ This option specifies a directory
in which to find non-local include files. This option can be used
\rare{-relax\_include\_path}{This option when combined with -all\_includes
causes the search for local
- include files to consider the directory specified using {\bf -I} if the
- included file is not found in the current directory.}
+ include files to consider the current directory, even if the include
+ patch specifies a subdirectory. This is really only useful for testing,
+ eg with the option {\bf -testall}}
+
+\rare{-c++}{Make an extremely minimal effort to parse C++ code. Currently,
+ this is limited to allowing identifiers to contain ``::'', tilde, and
+ template invocations. Consider testing your code first with spatch
+ -type\_c to see if there are any type annotations in the code you are
+ interested in processing. If not, then it was probably not parsed.}
\section{Application of the semantic patch to the C code}