[LLVMbugs] [Bug 12919] New: Assertion `Linkage(CachedLinkage) == getLVForDecl(this, true).linkage()'

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed May 23 05:06:02 PDT 2012


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

             Bug #: 12919
           Summary: Assertion `Linkage(CachedLinkage) ==
                    getLVForDecl(this, true).linkage()'
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: kcc at google.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified


Linux x86_64, clang/llvm r157315


% cat z.cc
typedef __typeof__ 0 size_t;
namespace __gnu_cxx {
template < typename _Tp > class new_allocator {
public:
  size_t size_type;
  typedef _Tp *pointer;
};
}
namespace std {
template < typename _Tp > class allocator:public __gnu_cxx::new_allocator <
      _Tp > {
public:
  size_t size_type;
  template < typename > struct rebind {
    typedef allocator other;
  };
};
}
#pragma GCC visibility push(default)
namespace std __attribute__ ( (__visibility__ ("default") ) ) {
template < typename _Tp, typename _Alloc > struct _Vector_base {
  typedef typename _Alloc::template rebind < _Tp >::other _Tp_alloc_type;
  struct _Vector_impl:_Tp_alloc_type {
    typename _Tp_alloc_type::pointer _M_end_of_storage;
    _Vector_impl () :_M_end_of_storage () {
    }};
  _Vector_impl _M_impl;
};
template < typename _Tp, typename _Alloc = std::allocator < _Tp > >class
vector:_Vector_base < _Tp,
    _Alloc
      > {
};
}
namespace {
struct ReplacementOffset;
std::vector < ReplacementOffset > r_offsets;
}



% clang -c z.cc 

llvm/tools/clang/lib/AST/Decl.cpp:618: clang::Linkage
clang::NamedDecl::getLinkage() const: Assertion `Linkage(CachedLinkage) ==
getLVForDecl(this, true).linkage()' failed.       
..
7  clang           0x0000000000a2bb86 clang::Sema::MarkFunctionReferenced ... 


The test case is reduced by creduce from mozilla sources. 
(mozilla/ipc/chromium/src/base/string_util.cc)

-- 
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