X-Git-Url: https://git.hcoop.net/bpt/coccinelle.git/blobdiff_plain/5636bb2c2537506718da74f85a2b81a5ff3df16f..4dfbc1c2559051afaa06fbd7f7be19276d24bf44:/docs/manual/spatch_options.tex diff --git a/docs/manual/spatch_options.tex b/docs/manual/spatch_options.tex index fd2eb5c..09fe72e 100644 --- a/docs/manual/spatch_options.tex +++ b/docs/manual/spatch_options.tex @@ -80,6 +80,9 @@ isomorphisms to the specified integer. \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 @@ -129,6 +132,13 @@ $\langle$file$\rangle$:$\langle$function$\rangle$}{ Print a control-flow 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.} @@ -171,6 +181,13 @@ specified. The index may be created using the script {\tt 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'' @@ -263,11 +280,13 @@ stored in a cache. \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} @@ -286,15 +305,18 @@ other \#ifdef.} \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 @@ -302,8 +324,15 @@ one of these options can be specified.} \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}