diff options
-rw-r--r-- | deheader.xml | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/deheader.xml b/deheader.xml index 8db4ed0..4e227ee 100644 --- a/deheader.xml +++ b/deheader.xml @@ -49,14 +49,6 @@ directives are left alone, because trying to reason about potential combinations of -D and U options would be too complicated and prone to weird errors.</para> -<para>Test-compiling after running with <option>-r</option> will -sometimes show that this tool removed some headers that are actually -required for your build. This happens because -<command>deheader</command> doesn't know about all the strange thungs -your build system gets up to, and the problem of analyzing it to -undertand them would be Turing-complete. Simply revert the altered -files and continue.</para> - <para>It is recommended that you arrange to compile with options that will stop the compiler on warnings when using this tool; otherwise it will be report headers that only declare prototypes and return types @@ -127,6 +119,26 @@ Takes a Python regular expression.</para> </variablelist> </refsect1> +<refsect1 id='bugs'><title>BUGS</title> + +<para>Test-compiling after running with <option>-r</option> will +sometimes show that this tool removed some headers that are actually +required for your build. This happens because +<command>deheader</command> doesn't know about all the strange thungs +your build system gets up to, and the problem of analyzing it to +undertand them would be Turing-complete. Simply revert the altered +files and continue.</para> + +<para>Sufficiently perverse C++ can silently invalidate the simple +algorithm this tool uses. Example: if an overloaded function has +different overloads from two different files, removing one may expose +the other, changing runtime semantics without a compile-time warning. +Similarly, removing a later file containing a template specialization +may lead to undefined behavior from a template defined in an earlier +file. Use this with caution near such features, and test carefully.</para> + +</refsect1> + <refsect1 id='author'><title>AUTHOR</title> <para>Eric S. Raymond <email>esr@snark.thyrsus.com</email>; (home page at <ulink url='http://www.catb.org/~esr/'>http://www.catb.org/~esr/</ulink>).</para> |