<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><br><div><div>On Jan 15, 2014, at 2:48 PM, Sean Silva wrote:</div><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jan 15, 2014 at 4:12 PM, <a href="mailto:kledzik@apple.com">kledzik@apple.com</a> <span dir="ltr"><<a href="mailto:kledzik@apple.com" target="_blank">kledzik@apple.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; position: static; z-index: auto; "><br>
<br>
================<br>
Comment at: include/llvm-c/lto.h:201<br>
@@ -201,2 +201,2 @@<br>
<br>
<br>
----------------<br>
When you add new APIs to <llvm-c/lto.h> be sure to bump up LTO_API_VERSION, so that clients to do compile time configuration checks if the API exists.<br></blockquote><div><br></div><div>We don't seem to document when features were introduced, so I don't see the point in this (do we expect clients to go searching through our version control history?). In practice, ./configure scripts and CMake use "does this function exist" checks to directly test the existence of the function (maybe you were talking about doing this purely inside an #ifdef in the source code?).</div></div></div></div></blockquote><br></div><div>Yes.  ld64 has lots of:</div><div>  #If LTO_API_VERSION > 5</div><div>    // use new lot api</div><div>  #endif</div><div>in its source code to enable it to build with lots of different versions of libLTO.dylib</div><div><br></div><div>-Nick</div><div><br></div></body></html>