[LLVMbugs] [Bug 12074] New: vector<bool> fails to compile its (iterator, iterator) constructor

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Feb 24 06:32:43 PST 2012


http://llvm.org/bugs/show_bug.cgi?id=12074

             Bug #: 12074
           Summary: vector<bool> fails to compile its (iterator, iterator)
                    constructor
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: Windows NT
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: C++
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: timurrrr at google.com
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified


$ clang++.exe --version
clang version 3.1 (trunk 150962)
Target: i686-pc-win32
Thread model: posix

$ more vector_bool.cpp
#include <vector>
int main() {
  std::vector<bool> foo(NULL, NULL);
}

-----------------------------------------
$ clang++.exe vector_bool.cpp
[3 errors including]
In file included from vector_bool.cpp:1:
In file included from c:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\vector:6:
In file included from c:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\memory:6:
In file included from c:\Program Files (x86)\Microsoft Visual Studio
9.0\VC\include\iterator:6:
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xutility:995:3:
error: template argument for template type parameter must be a type
                iterator_traits<_Iter1>::iterator_category,
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector:1044:19:
note: in instantiation of function template specialization
'stdext::unchecked_copy<unsigned
      int *, unsigned int *>' requested here
                        pointer _Ptr = _STDEXT
unchecked_copy(_VEC_ITER_BASE(_Last), _Mylast,
                                       ^
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\yvals.h:490:27:
note: expanded from macro '_STDEXT'
  #define _STDEXT               ::stdext::
                                ^
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector:1097:3:
note: in instantiation of member function 'std::vector<unsigned int,
std::allocator<unsigned
      int> >::erase' requested here
                erase(begin(), end());
                ^
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector:871:3:
note: in instantiation of member function 'std::vector<unsigned int,
std::allocator<unsigned
      int> >::_Assign_n' requested here
                _Assign_n(_Count, _Val);
                ^
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector:1946:10:
note: in instantiation of member function 'std::vector<unsigned int,
std::allocator<unsigned

      int> >::assign' requested here
                _Myvec.assign(_Num, (_Ty)_Val ? -1 : 0);
                       ^
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\vector:1932:3:
note: in instantiation of function template specialization 'std::vector<bool,
      std::allocator<bool> >::_BConstruct<int>' requested here
                _BConstruct(_First, _Last, _Iter_cat(_First));
                ^
vector_bool.cpp:3:21: note: in instantiation of function template
specialization 'std::vector<bool, std::allocator<bool> >::vector<int>'
requested here
  std::vector<bool> foo(NULL, NULL);
                    ^
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include\xutility:960:16:
note: template parameter is declared here
template<class _Cat1, class _Cat2>
               ^

-----------------
This prevents googletest from building under clang++

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list