You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by "Leif Hedstrom (Commented) (JIRA)" <ji...@apache.org> on 2012/02/19 05:23:59 UTC

[jira] [Commented] (TS-1116) Fix build issues with clang (particularly on OSX)

    [ https://issues.apache.org/jira/browse/TS-1116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13211200#comment-13211200 ] 

Leif Hedstrom commented on TS-1116:
-----------------------------------

I got most of it to compile, with the exception of this in IpMap.cc:

{code}
IpMap.cc:850:11: error: call to function 'operator<' that is neither visible in the template definition nor found by argument-dependent lookup
    if (x < n->_min) n = left(n);
          ^
IpMap.cc:1236:24: note: in instantiation of member function 'ts::detail::IpMapBase<ts::detail::Ip6Node>::contains' requested here
    zret = _m6 && _m6->contains(ink_inet_ip6_cast(target), ptr);
                       ^
IpMap.cc:1164:13: note: 'operator<' should be declared prior to the call site or in the global namespace
inline bool operator<(sockaddr_in6 const* lhs, sockaddr_in6 const& rhs) {
            ^
IpMap.cc:665:17: error: call to function 'operator==' that is neither visible in the template definition nor found by argument-dependent lookup
    if (n->_min == min) {
                ^
IpMap.cc:1260:21: note: in instantiation of member function 'ts::detail::IpMapBase<ts::detail::Ip6Node>::mark' requested here
    this->force6()->mark(ink_inet_ip6_cast(min), ink_inet_ip6_cast(max), data);
                    ^
IpMap.cc:1172:13: note: 'operator==' should be declared prior to the call site or in the global namespace
inline bool operator==(sockaddr_in6 const& lhs, sockaddr_in6 const* rhs) {
            ^
IpMap.cc:736:19: error: call to function 'operator<=' that is neither visible in the template definition nor found by argument-dependent lookup
      if (n->_max <= max_plus) { // completely covered, drop span, continue
                  ^
IpMap.cc:1188:13: note: 'operator<=' should be declared prior to the call site or in the global namespace
inline bool operator<=(sockaddr_in6 const& lhs, sockaddr_in6 const& rhs) {
            ^
IpMap.cc:514:16: error: call to function 'operator<' that is neither visible in the template definition nor found by argument-dependent lookup
    if (target < n->_min) n = left(n);
               ^
IpMap.cc:640:16: note: in instantiation of member function 'ts::detail::IpMapBase<ts::detail::Ip6Node>::lowerBound' requested here
  N* n = this->lowerBound(min); // current node.
               ^
IpMap.cc:1260:21: note: in instantiation of member function 'ts::detail::IpMapBase<ts::detail::Ip6Node>::mark' requested here
    this->force6()->mark(ink_inet_ip6_cast(min), ink_inet_ip6_cast(max), data);
                    ^
IpMap.cc:1164:13: note: 'operator<' should be declared prior to the call site or in the global namespace
inline bool operator<(sockaddr_in6 const* lhs, sockaddr_in6 const& rhs) {
            ^
4 errors generated.
{code}

I'll commit the other changes (after I test them on Linux), but I'll need assistant from some C++ propeller head with the template madness above :).
                
> Fix build issues with clang (particularly on OSX)
> -------------------------------------------------
>
>                 Key: TS-1116
>                 URL: https://issues.apache.org/jira/browse/TS-1116
>             Project: Traffic Server
>          Issue Type: Improvement
>            Reporter: Leif Hedstrom
>            Assignee: Leif Hedstrom
>             Fix For: 3.1.3
>
>
> We should get it to compile with clang again, specially since on OSX, clang is the 'future'.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira