[LLVMdev] Changes in FunctionPassManager constructor
Christophe de Dinechin
christophe at taodyne.com
Wed Feb 3 09:25:21 PST 2010
Yes. What is the guideline for code that builds against 2.6 and 2.7?
Thanks
Christophe
On 3 févr. 2010, at 18:14, Garrison Venn wrote:
> So, it looks like I mis-read this. You were referring to backward compatibility.
>
> Garrison
>
> On Feb 3, 2010, at 12:11, Garrison Venn wrote:
>
>> Hi Christophe,
>>
>> So this is a pain, but we are dealing with a pre-release. Until the 2.7 freeze the source should continue to churn.
>>
>> Regards
>>
>> Garrison
>>
>> On Feb 3, 2010, at 11:34, Christophe de Dinechin wrote:
>>
>>> What guarantees does LLVM try to provide regarding source code compatibility?
>>>
>>> Case in point: rev 94686 (http://llvm.org/viewvc/llvm-project?view=rev&revision=94686) breaks any code that creates a JIT. For example, we used to construct a FunctionPassManager with a ModuleProvider, it's now to be done with a Module. I cannot ship source code for my own project that is compatible with both pre-94686 and post-94686.
>>>
>>> This seems to be relatively frequent in LLVM. My project is not very active, and it's relatively young, but I think this is the third time it hits us. At some point i had to add InitializeNativeTarget(). At some other point, I had to add "context" everywhere. And then there was another issue with globals that eludes me right now. Anyway, I have to assume that preserving source-code compatibility is a non-objective.
>>>
>>> I could not find any documentation about what the "policy" for C++ is. The check-in for 94686 seems to suggest that the C bindings are somewhat preserved, but doesn't it make sense to provide some guarantees regarding the most frequently used C++ code?
>>>
>>> Also note that the documentation is unintentionally misleading. It's very confusing for http://llvm.org/docs/tutorial/LangImpl4.html to show "Last modified: $Date: 2007-10-17 11:05:13 -0700 (Wed, 17 Oct 2007) $" at the bottom, as if nothing had changed since then, when the code it displays is actually less than a week old... I guess the source code snippets are updated automagically. As a result, the code shown there as an example will NOT compile on anything but a most recent LLVM, i.e. it will not work if you install LLVM with apt-get or MacPorts. I don't think that's desirable.
>>>
>>> Opinions?
>>>
>>>
>>> Christophe de Dinechin
>>>
>>>
>>> _______________________________________________
>>> LLVM Developers mailing list
>>> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
>>
>
More information about the llvm-dev
mailing list