<div dir="ltr"><div class="gmail_extra">Hi,<br><br><div class="gmail_quote">On Fri, Mar 15, 2013 at 4:56 PM, David van der Spoel <span dir="ltr">&lt;<a href="mailto:spoel@xray.bmc.uu.se" target="_blank">spoel@xray.bmc.uu.se</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">All C header files that can in principle be included by C++ code need to have the extern &quot;C&quot; included. I guess we need a strict 1:1 correspondence language wise (i.e. .c file with .h header and .cpp file with .hpp header) and .cpp files can include .h files (which therefore need to be adapted), but .c files can not include .hpp files.<br>
</div></blockquote><div><br></div><div style>This probably needs to be relaxed a bit: for the foreseeable future, we will probably need some files where the implementation is (partly) C++, but the interface is callable from C. Right now, e.g., statutil.cpp/.h are such a pair. </div>
<div style><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I&#39;m ready to do the renaming if we agree.</blockquote><div><br></div><div style>As I said earlier, I don&#39;t care that much about the extension, so if you manage to reach a consensus on what to do (or are happy with &quot;silent approval&quot;), I won&#39;t object. Just note that #include statements are not the only thing that are affected by the rename, so some care is needed. At least the following come to mind:</div>
<div style><ul style><li style>Include guards are derived from the name of the header, and would be best renamed for consistency.<br></li><li style>Build system contains references to the headers (e.g., listing installed headers).</li>
<li style>Doxygen documentation may reference headers by file name, and this may silently break if the referenced header gets renamed.</li><li style>Several scripts may have dependencies/references on the extensions: at least admin/includedeps.* and src/gromacs/selection/regenerate_parser.sh (and the .y, .l files).</li>
</ul><div style>Teemu</div></div></div></div></div>