Boost logo

Boost :

Subject: [boost] Friend class with namespace gives compiler error for C6000 TI
From: Alin Popa (alin.popa_at_[hidden])
Date: 2015-02-25 06:15:30


Hi,

I compile my project with boost header only files, the compiler is C6000
Texas Instruments.

The compile errors occurs for example in
"boost/algorithm/string/find_iterator.hpp"

I have extracted the cause of the problem in the next example code:

namespace boost {
  namespace iterators {
    class iterator_core_access {
    public:
      iterator_core_access(){}
      ~iterator_core_access(){}
    };
  }
using iterators::iterator_core_access;
}
class testFriend {
private:
  // don't work, compiler error: error: namespace "boost" has no actual
member "iterator_core_access"
  friend class ::boost::iterator_core_access; // here is the problem
  // it works, compiles ok, this was my cure
  //friend class ::boost::iterators::iterator_core_access;
};

int main ()
{
    // it works
    ::boost::iterator_core_access a;
    return 0;
}

Do you guys know what is the reason of this ?
With msvc and g++ works fine.

Thanks and best regards,
Alin


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk