[LLVMbugs] [Bug 20452] New: Diagnostic doesn't include interesting template instantiation location

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Fri Jul 25 09:19:53 PDT 2014


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

            Bug ID: 20452
           Summary: Diagnostic doesn't include interesting template
                    instantiation location
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: nicolasweber at gmx.de
                CC: dgregor at apple.com, llvmbugs at cs.uiuc.edu
    Classification: Unclassified

I got this diagnostic:

..\..\third_party\WebKit\Source\wtf/PassRefPtr.h(57,16) :  error(clang): member
access into incomplete type 'blink::SQLTransactionBackend'
            ptr->deref();
               ^
..\..\third_party\WebKit\Source\wtf/RefPtr.h(59,35) :  note(clang): in
instantiation of function template specialization
'WTF::derefIfNotNull<blink::SQLTransactionBackend>' requested here
        ALWAYS_INLINE ~RefPtr() { derefIfNotNull(m_ptr); }
                                  ^
..\..\third_party\WebKit\Source\wtf/Vector.h(64,23) :  note(clang): in
instantiation of member function
'WTF::RefPtr<blink::SQLTransactionBackend>::~RefPtr' requested here
                cur->~T();
                      ^
..\..\third_party\WebKit\Source\wtf/Vector.h(247,69) :  note(clang): in
instantiation of member function 'WTF::VectorDestructor<true,
WTF::RefPtr<blink::SQLTransactionBackend> >::destruct' requested here
            VectorDestructor<VectorTraits<T>::needsDestruction,
T>::destruct(begin, end);
                                                                    ^
..\..\third_party\WebKit\Source\wtf/Deque.h(250,29) :  note(clang): in
instantiation of member function
'WTF::VectorTypeOperations<WTF::RefPtr<blink::SQLTransactionBackend>
>::destruct' requested here
            TypeOperations::destruct(m_buffer.buffer() + m_start,
m_buffer.buffer() + m_end);
                            ^
..\..\third_party\WebKit\Source\wtf/Deque.h(270,13) :  note(clang): in
instantiation of member function
'WTF::Deque<WTF::RefPtr<blink::SQLTransactionBackend>, 0,
WTF::DefaultAllocator>::destroyAll' requested here
            destroyAll();
            ^
..\..\third_party\WebKit\Source\wtf/Vector.h(519,64) :  note(clang): in
instantiation of member function
'WTF::Deque<WTF::RefPtr<blink::SQLTransactionBackend>, 0,
WTF::DefaultAllocator>::finalize' requested here
        ~VectorDestructorBase() { static_cast<Derived*>(this)->finalize(); }
                                                               ^
..\..\third_party\WebKit\Source\wtf/Deque.h(46,11) :  note(clang): in
instantiation of member function
'WTF::VectorDestructorBase<WTF::Deque<WTF::RefPtr<blink::SQLTransactionBackend>,
0, WTF::DefaultAllocator>, WTF::RefPtr<blink::SQLTransactionBackend>, false,
false>::~VectorDestructorBase' requested here
    class Deque : public VectorDestructorBase<Deque<T, inlineCapacity,
Allocator>, T, (inlineCapacity > 0), Allocator::isGarbageCollected> {
          ^
..\..\third_party\WebKit\Source\modules/webdatabase/DatabaseBackendBase.h(96,18)
:  note(clang): forward declaration of 'blink::SQLTransactionBackend'
    friend class SQLTransactionBackend;
                 ^
1 error generated.


I think the fix is to make the destructor of a class explicit that isn't
mentioned in the diagnostic at all (the class that has a
Deque<SQLTransactionBackend> as member).

-- 
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/20140725/c73c2184/attachment.html>


More information about the llvm-bugs mailing list