[llvm-bugs] [Bug 28125] New: Erroneous line not mentioned in error messages
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Jun 14 07:37:00 PDT 2016
https://llvm.org/bugs/show_bug.cgi?id=28125
Bug ID: 28125
Summary: Erroneous line not mentioned in error messages
Product: clang
Version: unspecified
Hardware: PC
OS: Linux
Status: NEW
Severity: normal
Priority: P
Component: Frontend
Assignee: unassignedclangbugs at nondot.org
Reporter: csaba_22 at yahoo.co.uk
CC: llvm-bugs at lists.llvm.org
Classification: Unclassified
Created attachment 16538
--> https://llvm.org/bugs/attachment.cgi?id=16538&action=edit
preprocessor output
Compiling the following program:
#include <unordered_map>
#include <memory>
struct ED {};
struct AWI {
std::unordered_map<int, std::unique_ptr<ED>> ed_;
};
int main() {
AWI a;
AWI b{a};
}
with clang version 3.9.0 (trunk 272655) -save-temps -std=c++11
where_is_the_error.cc
results in the following error messages:
In file included from where_is_the_error.cc:1:
In file included from
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/unordered_map:41:
In file included from
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/tuple:39:
In file included from
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/array:39:
In file included from
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/stdexcept:39:
In file included from
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/string:41:
In file included from
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/bits/allocator.h:46:
In file included from
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/x86_64-pc-linux-gnu/bits/c++allocator.h:33:
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/ext/new_allocator.h:120:23:
error: call to implicitly-deleted copy constructor of 'std::pair<const int,
std::unique_ptr<ED, std::default_delete<ED> > >'
{ ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/bits/alloc_traits.h:455:8:
note: in instantiation of function template specialization
'__gnu_cxx::new_allocator<std::pair<const int, std::unique_ptr<ED,
std::default_delete<ED> > > >::construct<std::pair<const int,
std::unique_ptr<ED, std::default_delete<ED> > >, const std::pair<const int,
std::unique_ptr<ED, std::default_delete<ED> > > &>' requested here
{ __a.construct(__p, std::forward<_Args>(__args)...); }
^
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/bits/hashtable_policy.h:1953:28:
note: in instantiation of function template specialization
'std::allocator_traits<std::allocator<std::pair<const int, std::unique_ptr<ED,
std::default_delete<ED> > > > >::construct<std::pair<const int,
std::unique_ptr<ED, std::default_delete<ED> > >, const std::pair<const int,
std::unique_ptr<ED, std::default_delete<ED> > > &>' requested here
__value_alloc_traits::construct(__a, __n->_M_valptr(),
^
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/bits/hashtable.h:1118:18:
note: in instantiation of function template specialization
'std::__detail::_Hashtable_alloc<std::allocator<std::__detail::_Hash_node<std::pair<const
int, std::unique_ptr<ED, std::default_delete<ED> > >, false> >
>::_M_allocate_node<const std::pair<const int, std::unique_ptr<ED,
std::default_delete<ED> > > &>' requested here
{ return this->_M_allocate_node(__n->_M_v()); });
^
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/bits/unordered_map.h:172:7:
note: in instantiation of member function 'std::_Hashtable<int, std::pair<const
int, std::unique_ptr<ED, std::default_delete<ED> > >,
std::allocator<std::pair<const int, std::unique_ptr<ED, std::default_delete<ED>
> > >, std::__detail::_Select1st, std::equal_to<int>, std::hash<int>,
std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash,
std::__detail::_Prime_rehash_policy, std::__detail::_Hashtable_traits<false,
false, true> >::_Hashtable' requested here
unordered_map(const unordered_map&) = default;
^
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/bits/stl_pair.h:224:17:
note: explicitly defaulted function was implicitly deleted here
constexpr pair(const pair&) = default;
^
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/bits/stl_pair.h:153:11:
note: copy constructor of 'pair<const int, std::unique_ptr<ED,
std::default_delete<ED> > >' is implicitly deleted because field 'second' has a
deleted copy constructor
_T2 second;
^
/usr/local/bin/../lib/gcc/x86_64-pc-linux-gnu/6.1.0/../../../gcc/x86_64-pc-linux-gnu/6.1.0/include/c++/bits/unique_ptr.h:356:7:
note: 'unique_ptr' has been explicitly marked deleted here
unique_ptr(const unique_ptr&) = delete;
^
1 error generated.
Unfortunately, line 9 of where_is_the_error.cc (the one which tries to invoke
the copy constructor) is never mentioned. Without this information, it's
virtually impossible to correct the program.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20160614/518bcb69/attachment-0001.html>
More information about the llvm-bugs
mailing list