[cfe-dev] Building LLVM and Clang with EKOPath 4

Konstantin Tokarev annulen at yandex.ru
Thu May 31 06:32:57 PDT 2012


30.05.2012, 22:31, "Matthieu Monrocq" <matthieu.monrocq at gmail.com>:
> On Wed, May 30, 2012 at 8:29 PM, David Blaikie <dblaikie at gmail.com> wrote:
>> On Wed, May 30, 2012 at 11:20 AM, Matthieu Monrocq <matthieu.monrocq at gmail.com> wrote:
>>> On Wed, May 30, 2012 at 9:56 AM, Konstantin Tokarev <annulen at yandex.ru> wrote:
>>>
>>>> Hi all,
>>>>
>>>> I've managed to build LLVM and Clang with EKOPath 4.0.12.1 compiler. Here are patches I had to introcduce
>>>> to make it compiling.
>>>>
>>>> Patch for clang moves some classes from anonymous namespaces which otherwise caused linker
>>>> errors. Probably it's a bug in compiler producing symbols with incorrect visibility.
>>>>
>>>> --
>>>> Regards,
>>>> Konstantin
>>>>
>>>> _______________________________________________
>>>> cfe-dev mailing list
>>>> cfe-dev at cs.uiuc.edu
>>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>>
>>> I must admit it seems weird to be tweaking the code just to get it to compile with an exotic compiler.
>>>
>>> Adding includes occurs regularly because the standard does not define which standard includes include which others, so you often miss one or two.
>>>
>>> On the other hand, it seems strange that you had to add the "std::" qualifiers,
>>
>> This one's not actually that surprising - if a std::vector's iterators are implemented as raw pointers, rather than as a type in the std namespace, then unqualified find(vec.begin(), vec.end(), ...) won't compile, since 'find' won't be found via ADL.
>
> Right, I had thought they would be wrapped in "proper" classes and not just typedef.
>
>>> remove the anonymous namespace in some places (all ?)
>>
>> This I can't explain - what errors are given that motivate this change?
>>
>>> and change *--S.end() into S[S.size()-1].
>>
>> Again, if the iterators are truly raw pointers, -- doesn't work on them, only on user defined types with an op-- overload. The simpler form is "S.back()".
> Unfortunately as James pointed out .back is not available on strings, I would still prefer *S.rbegin() but that is bike-shedding here.


So could anybody commit llvm_ekopath.patch?

-- 
Regards,
Konstantin



More information about the cfe-dev mailing list