this code does not work properly with ms compiler.
Because of this buggy code PerfSupportTest.cpp of ClangModernizeTests project
from LLVM fails to compile when building it with Vs2008.
In short, this code resolves a map::iterator as if it was a container (error
message at the bottom).
The reason for that is because iterator inherits from const_iterator in
dinkumware lib, and for some reason typename C::iterator ends up resolving to
member function pointer (to constructor). Here's test that demonstrates this
error:
http://pastie.org/8484886
Here's the error when compiling ClangModernizeTests:
1>C:\work\llvm\utils\unittest\googletest\include\gtest/gtest-printers.h(275) :
error C2039: 'begin' : is not a member of 'std::_Tree<_Traits>::iterator'
1> with
1> [
1>
_Traits=std::_Tmap_traits<std::string,std::vector<PerfItem>,std::less<std::strin
g>,std::allocator<std::pair<const std::string,std::vector<PerfItem>>>,false>
1> ]
1> C:\vs\2008\VC\include\xtree(426) : see declaration of
'std::_Tree<_Traits>::iterator'
1> with
1> [
1>
_Traits=std::_Tmap_traits<std::string,std::vector<PerfItem>,std::less<std::strin
g>,std::allocator<std::pair<const std::string,std::vector<PerfItem>>>,false>
1> ]
Original issue reported on code.google.com by pavlov.p...@gmail.com on 16 Nov 2013 at 2:05
Original issue reported on code.google.com by
pavlov.p...@gmail.com
on 16 Nov 2013 at 2:05