[LLVMdev] Undocumented API changes

Óscar Fuentes ofv at wanadoo.es
Wed Jun 17 13:24:57 PDT 2009

Chris Lattner <clattner at apple.com> writes:

>> 1.
>> For JIT applications, please include llvm/Target/TargetSelect.h and
>> call the llvm::InitializeNativeTarget() function before creating an  
>> EE.
> This fixes long standing linkage problems and helps us move forward  
> with cmake.

Just to clarify: the cmake build was not impeded by this issue at
all. Now we can get rid of some cmake nasty scripts, but the
implementation that managed partially linked objects was already there.

OTOH, as a LLVM user, I think it is a good thing that the partially
linked objects are gone.


> I'm sorry about API changes, but change is an inherent part of making  
> LLVM better.  We will aim to document them in the 2.6 release notes.

Speaking as a LLVM user, API changes should be thoroughly documented on
the release notes. For instance, just dropping a one-line note
mentioning that certain API changed is not enough. The change itself
shall be described with hints for migrating the existent code, if
needed. Writing a really descriptive note does not require more than a
few minutes for the author, but it may save hours of browsing the
doxygen docs and compile-run-crash cycles to all LLVM users.

The issue about LLVM being on a constant API flux is a more complex
matter that would deserve a full thread by itself.


More information about the llvm-dev mailing list