[Webkit-unassigned] [Bug 15729] New: MSVC7 compilation errors with appending to a Vector of Nodes

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Sat Oct 27 23:58:36 PDT 2007


http://bugs.webkit.org/show_bug.cgi?id=15729

           Summary: MSVC7 compilation errors with appending to a Vector of
                    Nodes
           Product: WebKit
           Version: 523.x+ (nightly)
          Platform: PC
        OS/Version: Windows XP
            Status: UNCONFIRMED
          Severity: Normal
          Priority: P2
         Component: Web Template Framework
        AssignedTo: webkit-unassigned at lists.webkit.org
        ReportedBy: kevino at theolliviers.com


There is a very strange compilation issue with MSVC7 where the compiler
complains about not being able to convert pointers to Node subclasses to a
Node* when calling append on a Vector<Node*> type. See the
<NodeSubclass>::getDeclarations methods in JavaScriptCore/kjs/nodes.cpp to see
what cases cause the error. 

So far, I've been unable to track down if MSVC7 is not happy with something
about how Node is defined, if there is an issue with placement new, or if there
is an issue with the code in Vector<T, inlineCapacity>::append(const U& val).
I'm not too familiar with this code, but thanks to help from Darin, Maciej and
Eric, I was able to do some debugging (calling the variant of expandCapacity
that does not take and return a U*, and running various tests on new) but so
far, nothing except running an explicit cast on the *ptr fixes the issue. That
solution won't work, however, as then it no longer will do implicit casting
between types. 

Since MSVC8 compiles the code fine and MSVC7 isn't freely available, it's hard
to find others to reproduce this, but fixing this would be very helpful to the
wx port as we could resume building Python extensions. We are going to look at
alternatives to using MSVC7 but in the meantime I'm adding this bug report to
keep track of the issue without having it hold back progress on the wx port
migration.


-- 
Configure bugmail: http://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the webkit-unassigned mailing list