|
Boost Testing : |
From: Christopher Cambly (ccambly_at_[hidden])
Date: 2007-09-05 14:29:18
> > This is a recent addition. This problem occurred when I first
> > uploaded it. I've made modifications and uploaded again.
> > I've tested it on both vc-7.1 as well as gcc-3.4.
> >
> > What compiler is used by your AIX system? What is the error message?
> >
> > Robert Ramey
> >
>
> The compiler is IBM XL C/C++ V9, but the issue appears with V6, V7 and V8
> as well.
>
> I should have looked at this a little closer. The compile problem
appears
> to be an actual compiler
> bug with ibmxl.
>
> In library_status.cpp, if I change the typedef in struct col_node to
remove
> the const qualifier on std::string ie)
>
> struct col_node {
> ...
> //typedef std::map<const std::string, col_node> subcolumns_t;
> typedef std::map<std::string, col_node> subcolumns_t;
> ..
> };
>
> the compile error disappears.
>
> The compile error is that std::allocator<...>::address(const_reference)
> const is not matched correctly.
> I'll open a bug report internally to track this particular problem.
Do other compilers accept this code?
I was looking into this further today and now think that we are correct in
diagnosing this as an error in
library_status.cpp. The key type for a specialization of std::map must be
assignable, and
const std::string is not assignable.
Chris Cambly
XL C++ Compiler Development