Bug 146579

Summary: Prepare for VS2015
Product: WebKit Reporter: Alex Christensen <achristensen>
Component: WebKit Misc.Assignee: Alex Christensen <achristensen>
Status: RESOLVED FIXED    
Severity: Normal CC: andersca, benjamin, bfulgham, cmarcelo, commit-queue, gyuyoung.kim, hur.ims, msaboff, peavo
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
patch
none
Patch jhoneycutt: review+

Description Alex Christensen 2015-07-03 01:04:09 PDT
I'm filing this bug using WinLauncher which I compiled with VS2015RC.  This first patch contains a bunch of strange things, the most puzzling of which was the change I needed to make to CSSPrimitiveValue.h in order to get this symbol when linking WebKit.dll:
public: __cdecl WebCore::CSSPrimitiveValue::operator<class WTF::Ref<class WebCore::CSSPrimitiveValue> > class WTF::Ref<class WebCore::CSSPrimitiveValue>(void)const " (??$?BV?$Ref@VCSSPrimitiveValue@WebCore@@@WTF@@@CSSPrimitiveValue@WebCore@@QEBA?AV?$Ref@VCSSPrimitiveValue@WebCore@@@WTF@@XZ)

I also had to change all the PlatformToolset values from v120 or v120_xp to v140, but I'm omitting that from this patch.
Comment 1 Alex Christensen 2015-07-03 01:05:15 PDT
Created attachment 256085 [details]
patch
Comment 2 Brent Fulgham 2015-07-09 09:37:27 PDT
I think this looks good, but we should have andersca and some of the JSC people look at the weird workarounds you needed to do.
Comment 3 Darin Adler 2015-07-10 17:05:49 PDT
Comment on attachment 256085 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=256085&action=review

> Source/JavaScriptCore/heap/Heap.h:76
> +static void* const zombifiedBits = reinterpret_cast<void*>(static_cast<size_t>(0xdeadbeef));

I suggest uintptr_t instead of size_t.

> Source/JavaScriptCore/runtime/ConsoleClient.cpp:256
> +// Yeah, I'm not sure why these are needed, but this shouldn't be put into WebKit.  They're in JSCJSValueInlines.h, but the linker complains without them.  I did a 64-bit build.

Most likely the problem is some source file that is not including JSCJSValueInlines.h. That would result in this symptom.

> Source/WTF/wtf/StdLibExtras.h:351
> +#if !defined(_MSC_VER) || _MSC_VER < 1900

Should use COMPILER(MSVC) rather than using _MSC_VER directly, like the rest of the code does.
Comment 4 Alex Christensen 2015-07-27 11:56:43 PDT
Created attachment 257576 [details]
Patch
Comment 5 Jon Honeycutt 2015-07-31 18:54:21 PDT
Comment on attachment 257576 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=257576&action=review

r=me

> Source/WebCore/WebCore.vcxproj/build-generated-files.pl:89
> +    $ccPath = @ccPaths[scalar(@ccPaths) - 1];

You can use $ccPath = $ccPaths[$#ccPaths].
Comment 6 Alex Christensen 2015-07-31 18:57:19 PDT
http://trac.webkit.org/changeset/187702
Comment 7 Alex Christensen 2015-08-01 01:26:43 PDT
The rest of this is going to be landed in https://bugs.webkit.org/show_bug.cgi?id=147526