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

Matthieu Monrocq matthieu.monrocq at gmail.com
Wed May 30 11:31:39 PDT 2012


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.


> - David
>

So the only outstanding point is the anonymous namespaces, this could
warrant a bug report to EKOPath.

-- Matthieu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20120530/734f644b/attachment.html>


More information about the cfe-dev mailing list