Open Quuxplusone opened 6 years ago
Bugzilla Link | PR35483 |
Status | NEW |
Importance | P enhancement |
Reported by | Veranika Liaukevich (veronika.levkevich@gmail.com) |
Reported on | 2017-11-30 12:05:34 -0800 |
Last modified on | 2017-12-20 16:12:13 -0800 |
Version | trunk |
Hardware | PC other |
CC | llvm-bugs@lists.llvm.org, rnk@google.com |
Fixed by commit(s) | |
Attachments | |
Blocks | |
Blocked by | |
See also |
I think this is a bug or peculiarity of the Visual C++ debug iterator
implementation, and not something clang is doing anything about. If I compile
that program with MSVC, this is what I get:
$ cl -MDd -c t.cpp
Microsoft (R) C/C++ Optimizing Compiler Version 19.11.25508.2 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
t.cpp
C:/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/14.11.25503/include\vector(555):
error C2664: 'fuzzer_allocator<Other>::fuzzer_allocator(fuzzer_allocator<Other>
&&)': cannot convert argument 1 from 'fuzzer_allocator<int>' to 'const
fuzzer_allocator<Other> &'
with
[
Other=std::_Container_proxy
]
C:/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/14.11.25503/include\vector(555):
note: Reason: cannot convert from 'fuzzer_allocator<int>' to 'const
fuzzer_allocator<Other>'
with
[
Other=std::_Container_proxy
]
C:/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/14.11.25503/include\vector(555):
note: No user-defined-conversion operator available that can perform this
conversion, or the operator cannot be called
C:/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/14.11.25503/include\vector(554):
note: while compiling class template member function 'void
std::_Vector_alloc<std::_Vec_base_types<_Ty,_Alloc>>::_Free_proxy(void)'
with
[
_Ty=int,
_Alloc=fuzzer_allocator<int>
]
C:/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/14.11.25503/include\vector(506):
note: see reference to function template instantiation 'void
std::_Vector_alloc<std::_Vec_base_types<_Ty,_Alloc>>::_Free_proxy(void)' being
compiled
with
[
_Ty=int,
_Alloc=fuzzer_allocator<int>
]
C:/PROGRA~2/MICROS~1/2017/PROFES~1/VC/Tools/MSVC/14.11.25503/include\vector(660):
note: see reference to class template instantiation
'std::_Vector_alloc<std::_Vec_base_types<_Ty,_Alloc>>' being compiled
with
[
_Ty=int,
_Alloc=fuzzer_allocator<int>
]
t.cpp(9): note: see reference to class template instantiation
'std::vector<int,fuzzer_allocator<int>>' being compiled