[LLVMbugs] [Bug 23386] New: clang++ 3.7 compiler crash

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri May 1 05:22:17 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=23386

            Bug ID: 23386
           Summary: clang++ 3.7 compiler crash
           Product: new-bugs
           Version: unspecified
          Hardware: PC
                OS: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
          Assignee: unassignedbugs at nondot.org
          Reporter: jhi at iki.fi
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

Created attachment 14273
  --> https://llvm.org/bugs/attachment.cgi?id=14273&action=edit
the cpp and sh files in tar.gz

$ clang++-mp-3.7 -v
clang version 3.7.0 (trunk 235803)
Target: x86_64-apple-darwin14.1.0
Thread model: posix

Code is a hobby project of mine. After upgrading the macports clang, while
editing
it an error in the code now makes clang crash.  Attaching the files as
instructed.
The crash dump:

clang++-mp-3.7 -O -g -std=c++11 -Wall -Wextra -I/opt/local/include -c simil.cc
simil.cc:44:3: error: use of undeclared identifier 'results'; did you mean
      'result'?
  results[ia][ib][mut] = sim;
  ^~~~~~~
  result
simil.cc:25:47: note: 'result' declared here
                              map<const string&, double>>>& result) {
                                                            ^
In file included from simil.cc:1:
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1014:18: error: multiple
      overloads of 'operator[]' instantiate to the same signature 'mapped_type
      &(key_type &)'
    mapped_type& operator[](key_type&& __k);
                 ^
simil.cc:44:10: note: in instantiation of template class 'std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > > > >' requested here
  results[ia][ib][mut] = sim;
         ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1012:18: note: previous
      declaration is here
    mapped_type& operator[](const key_type& __k);
                 ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1191:19: error: multiple
      overloads of '__construct_node_with_key' instantiate to the same
signature
      '__node_holder (key_type &)'
    __node_holder __construct_node_with_key(const key_type& __k);
                  ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1185:19: note: previous
      declaration is here
    __node_holder __construct_node_with_key(key_type&& __k);
                  ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1014:18: error: multiple
      overloads of 'operator[]' instantiate to the same signature 'mapped_type
      &(key_type &)'
    mapped_type& operator[](key_type&& __k);
                 ^
simil.cc:44:14: note: in instantiation of template class 'std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > >' requested here
  results[ia][ib][mut] = sim;
             ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1012:18: note: previous
      declaration is here
    mapped_type& operator[](const key_type& __k);
                 ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1191:19: error: multiple
      overloads of '__construct_node_with_key' instantiate to the same
signature
      '__node_holder (key_type &)'
    __node_holder __construct_node_with_key(const key_type& __k);
                  ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1185:19: note: previous
      declaration is here
    __node_holder __construct_node_with_key(key_type&& __k);
                  ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1014:18: error: multiple
      overloads of 'operator[]' instantiate to the same signature 'mapped_type
      &(key_type &)'
    mapped_type& operator[](key_type&& __k);
                 ^
simil.cc:44:18: note: in instantiation of template class 'std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >' requested here
  results[ia][ib][mut] = sim;
                 ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1012:18: note: previous
      declaration is here
    mapped_type& operator[](const key_type& __k);
                 ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1191:19: error: multiple
      overloads of '__construct_node_with_key' instantiate to the same
signature
      '__node_holder (key_type &)'
    __node_holder __construct_node_with_key(const key_type& __k);
                  ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1185:19: note: previous
      declaration is here
    __node_holder __construct_node_with_key(key_type&& __k);
                  ^
simil.cc:21:27: warning: unused parameter 'len' [-Wunused-parameter]
                      int len, const map<string, double>& la,
                          ^
simil.cc:135:67: error: use of undeclared identifier 'result'
  ...[=, &ja, &jb] { cosineSimilarity(ia, ib, mut, len, ja, jb, result); }));
                                                                ^
simil.cc:146:90: error: no viable overloaded operator[] for type 'map<const
      string &, map<const string &, map<const string &, double> > >'
  ...ia.first.c_str(), ib.first.c_str(), mut.first.c_str(),
results[ia][ib][m...
                                                            ~~~~~~~^~~
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1012:18: note: candidate
      function not viable: no known conversion from 'const std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > >' to 'const
      std::__1::basic_string<char>' for 1st argument
    mapped_type& operator[](const key_type& __k);
                 ^
simil.cc:146:102: error: expected ']'
  ...ib.first.c_str(), mut.first.c_str(), results[ia][ib][mut);
                                                             ^
simil.cc:146:98: note: to match this '['
  ...ib.first.c_str(), mut.first.c_str(), results[ia][ib][mut);
                                                         ^
simil.cc:157:2: error: expected '}'
}
 ^
simil.cc:18:11: note: to match this '{'
namespace {
          ^
In file included from simil.cc:1:
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1240:16: error: 
      static_cast from '__node_pointer' (aka
      'std::__1::__tree_node<std::__1::__value_type<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > >, void *> *') to
      '__node_base_pointer' (aka 'std::__1::__tree_node_base<void *> *'), which
      are not related by inheritance, is not allowed
    __parent = static_cast<__node_base_pointer>(__tree_.__end_node());
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1382:36: note: in
      instantiation of member function 'std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > > >
>::__find_equal_key'
      requested here
    __node_base_pointer& __child = __find_equal_key(__parent, __k);
                                   ^
simil.cc:44:10: note: in instantiation of member function 'std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > > > >::operator[]'
      requested here
  results[ia][ib][mut] = sim;
         ^
In file included from simil.cc:1:
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1383:26: error: 
      static_cast from '__node_base_pointer' (aka
      'std::__1::__tree_node_base<void *> *') to '__node_pointer' (aka
      'std::__1::__tree_node<std::__1::__value_type<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > >, void *> *'), which are not
      related by inheritance, is not allowed
    __node_pointer __r = static_cast<__node_pointer>(__child);
                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
simil.cc:44:14: note: in instantiation of member function 'std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > >::operator[]' requested
      here
  results[ia][ib][mut] = sim;
             ^
In file included from simil.cc:1:
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1240:16: error: 
      static_cast from '__node_pointer' (aka
      'std::__1::__tree_node<std::__1::__value_type<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > >, void *> *') to
      '__node_base_pointer' (aka 'std::__1::__tree_node_base<void *> *'), which
      are not related by inheritance, is not allowed
    __parent = static_cast<__node_base_pointer>(__tree_.__end_node());
               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1382:36: note: in
      instantiation of member function 'std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > >::__find_equal_key'
      requested here
    __node_base_pointer& __child = __find_equal_key(__parent, __k);
                                   ^
simil.cc:44:14: note: in instantiation of member function 'std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > >::operator[]' requested
      here
  results[ia][ib][mut] = sim;
             ^
In file included from simil.cc:1:
In file included from
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:423:
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/__tree:742:23: error: 
      static_cast from '__node_pointer' (aka
      'std::__1::__tree_node<std::__1::__value_type<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > >, void *> *') to
      '__node_base_pointer' (aka 'std::__1::__tree_node_base<void *> *'), which
      are not related by inheritance, is not allowed
          __tree_next(static_cast<__node_base_pointer>(__ptr_)));
                      ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:761:41: note: in
      instantiation of member function
      'std::__1::__tree_const_iterator<std::__1::__value_type<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > >,
      std::__1::__tree_node<std::__1::__value_type<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > >, void *> *,
      long>::operator++' requested here
    __map_const_iterator& operator++() {++__i_; return *this;}
                                        ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:1067:59: note: in
      instantiation of member function
     
'std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > >,
      std::__1::__tree_node<std::__1::__value_type<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > >, void *> *, long>
      >::operator++' requested here
            for (const_iterator __e = cend(); __f != __l; ++__f)
                                                          ^
/opt/local/libexec/llvm-3.7/bin/../include/c++/v1/map:891:13: note: in
      instantiation of function template specialization 'std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > > >
     
>::insert<std::__1::__map_const_iterator<std::__1::__tree_const_iterator<std::__1::__value_type<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > >,
      std::__1::__tree_node<std::__1::__value_type<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > >, void *> *, long> >
>'
      requested here
            insert(__m.begin(), __m.end());
            ^
simil.cc:135:67: note: in instantiation of member function 'std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > >, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, std::__1::map<const
      std::__1::basic_string<char> &, double, std::__1::less<const
      std::__1::basic_string<char> &>, std::__1::allocator<std::__1::pair<const
      std::__1::basic_string<char> &, double> > > > > > > > >::map' requested
      here
  ...[=, &ja, &jb] { cosineSimilarity(ia, ib, mut, len, ja, jb, result); }));
                                                                ^
Assertion failed: (!D->isInvalidDecl() && "Cannot get layout of invalid
decl!"), function getASTRecordLayout, file RecordLayoutBuilder.cpp, line 2878.
0  libLLVM-3.7svn.dylib     0x0000000109810f1b
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 57
1  libLLVM-3.7svn.dylib     0x0000000109811578 SignalHandler(int) + 217
2  libsystem_platform.dylib 0x00007fff9afa8f1a _sigtramp + 26
3  clang                    0x0000000107bc7299
llvm::FoldingSet<clang::LValueReferenceType>::NodeEquals(llvm::FoldingSetImpl::Node*,
llvm::FoldingSetNodeID const&, unsigned int, llvm::FoldingSetNodeID&) const +
51
4  libLLVM-3.7svn.dylib     0x00000001098113fe abort + 22
5  libLLVM-3.7svn.dylib     0x00000001098113e8 abort + 0
6  clang                    0x0000000107cc1e20
clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const + 1790
7  clang                    0x0000000107cc855b (anonymous
namespace)::EmptySubobjectMap::EmptySubobjectMap(clang::ASTContext const&,
clang::CXXRecordDecl const*) + 389
8  clang                    0x0000000107cc183a
clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const + 280
9  clang                    0x0000000107cc855b (anonymous
namespace)::EmptySubobjectMap::EmptySubobjectMap(clang::ASTContext const&,
clang::CXXRecordDecl const*) + 389
10 clang                    0x0000000107cc183a
clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const + 280
11 clang                    0x0000000107cc8479 (anonymous
namespace)::EmptySubobjectMap::EmptySubobjectMap(clang::ASTContext const&,
clang::CXXRecordDecl const*) + 163
12 clang                    0x0000000107cc183a
clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const + 280
13 clang                    0x0000000107cc855b (anonymous
namespace)::EmptySubobjectMap::EmptySubobjectMap(clang::ASTContext const&,
clang::CXXRecordDecl const*) + 389
14 clang                    0x0000000107cc183a
clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const + 280
15 clang                    0x0000000107b9b039
clang::ASTContext::getTypeInfoImpl(clang::Type const*) const + 545
16 clang                    0x0000000107b9ad4b
clang::ASTContext::getTypeInfo(clang::Type const*) const + 149
17 clang                    0x0000000107b9b38a
clang::ASTContext::getTypeInfoImpl(clang::Type const*) const + 1394
18 clang                    0x0000000107b9ad4b
clang::ASTContext::getTypeInfo(clang::Type const*) const + 149
19 clang                    0x0000000107b9b24b
clang::ASTContext::getTypeInfoImpl(clang::Type const*) const + 1075
20 clang                    0x0000000107b9ad4b
clang::ASTContext::getTypeInfo(clang::Type const*) const + 149
21 clang                    0x0000000107b9a724
clang::ASTContext::getPreferredTypeAlign(clang::Type const*) const + 28
22 clang                    0x00000001076ab3e4
clang::Sema::BuildCXXNew(clang::SourceRange, bool, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::SourceRange,
clang::QualType, clang::TypeSourceInfo*, clang::Expr*, clang::SourceRange,
clang::Expr*, bool) + 2376
23 clang                    0x000000010781fd2a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCXXNewExpr(clang::CXXNewExpr*) +
1308
24 clang                    0x00000001078105d9 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) + 865
25 clang                    0x00000001078115dc clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) +
388
26 clang                    0x000000010781197c clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExprs(clang::Expr**, unsigned int,
bool, llvm::SmallVectorImpl<clang::Expr*>&, bool*) + 406
27 clang                    0x0000000107825bfd clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenListExpr(clang::ParenListExpr*)
+ 87
28 clang                    0x0000000107810e61 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) + 3049
29 clang                    0x00000001078115dc clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) +
388
30 clang                    0x000000010780e849
clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool) + 75
31 clang                    0x0000000107839ec2
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&) + 238
32 clang                    0x000000010782f8c4
clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool) + 1326
33 clang                    0x000000010782f02e
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool) + 514
34 clang                    0x0000000107835399
clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*,
clang::MultiLevelTemplateArgumentList const&) + 167
35 clang                    0x000000010781a71e (anonymous
namespace)::TemplateInstantiator::TransformDefinition(clang::SourceLocation,
clang::Decl*) + 32
36 clang                    0x000000010781858e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDeclStmt(clang::DeclStmt*) + 120
37 clang                    0x000000010781bf68 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*,
bool) + 152
38 clang                    0x000000010780f8cb
clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList
const&) + 79
39 clang                    0x0000000107838d2a
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool) + 2040
40 clang                    0x0000000107839854
clang::Sema::PerformPendingInstantiations(bool) + 438
41 clang                    0x0000000107534a45
clang::Sema::ActOnEndOfTranslationUnit() + 265
42 clang                    0x00000001074fa514
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&) + 190
43 clang                    0x000000010749c159 clang::ParseAST(clang::Sema&,
bool, bool) + 332
44 clang                    0x0000000107422f04
clang::CodeGenAction::ExecuteAction() + 564
45 clang                    0x00000001071c2ae1 clang::FrontendAction::Execute()
+ 67
46 clang                    0x000000010719b8b3
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 547
47 clang                    0x000000010716b702
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 3806
48 clang                    0x0000000107163f2c cc1_main(llvm::ArrayRef<char
const*>, char const*, void*) + 1068
49 clang                    0x0000000107169ee2 main + 8399
50 libdyld.dylib            0x00007fff9a6255c9 start + 1
51 libdyld.dylib            0x000000000000003b start + 1704831603
Stack dump:
0.    Program arguments: /opt/local/libexec/llvm-3.7/bin/clang -cc1 -triple
x86_64-apple-macosx10.10.0 -emit-obj -disable-free -main-file-name simil.cc
-mrelocation-model pic -pic-level 2 -mthread-model posix -mdisable-fp-elim
-masm-verbose -munwind-tables -target-cpu core2 -target-linker-version 241.9
-gdwarf-2 -dwarf-column-info -fno-unique-section-names -coverage-file
/Users/jhi/ngram/simil.cc -resource-dir
/opt/local/libexec/llvm-3.7/bin/../lib/clang/3.7.0 -I /opt/local/include
-stdlib=libc++ -O2 -Wall -Wextra -std=c++11 -fdeprecated-macro
-fdebug-compilation-dir /Users/jhi/ngram -ferror-limit 19 -fmessage-length 80
-stack-protector 1 -mstackrealign -fblocks -fobjc-runtime=macosx-10.10.0
-fencode-extended-block-signature -fcxx-exceptions -fexceptions
-fmax-type-align=16 -fdiagnostics-show-option -vectorize-loops -vectorize-slp
-o simil.o -x c++ simil.cc 
1.    <eof> parser at end of file
2.    /opt/local/libexec/llvm-3.7/bin/../include/c++/v1/thread:354:9:
instantiating function definition 'thread'
clang: error: unable to execute command: Illegal instruction: 4
clang: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 3.7.0 (trunk 235803)
Target: x86_64-apple-darwin14.1.0
Thread model: posix
clang: note: diagnostic msg: PLEASE submit a bug report to
http://llvm.org/bugs/ and include the crash backtrace, preprocessed source, and
associated run script.
clang: note: diagnostic msg: 
********************

PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
Preprocessed source(s) and associated run script(s) are located at:
clang: note: diagnostic msg:
/var/folders/yg/hdcrkqfx5cgc80b9zgbhnw_h0000gn/T/simil-105647.cpp
clang: note: diagnostic msg:
/var/folders/yg/hdcrkqfx5cgc80b9zgbhnw_h0000gn/T/simil-105647.sh
clang: note: diagnostic msg: 

********************
make: *** [simil.o] Error 254

-- 
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/20150501/716ad5ec/attachment.html>


More information about the llvm-bugs mailing list