Hello,

Recently we've been attempting to move our code base to build with VS2015 RC 
since this provides us with some support that we'll be needing in the future 
for our products.  The changes for compilation with the new compiler haven't 
been too bad, and I have everything building with the exception of one line:

FILE: JSCSSValueCustom.cpp
Line95:
67           JSValue toJS(ExecState*, JSDOMGlobalObject* globalObject, 
CSSValue* value)
68           {
69               if (!value)
70                   return jsNull();
71
72               // Scripts should only ever see cloned CSSValues, never the 
internal ones.
73               ASSERT(value->isCSSOMSafe());
74
75               // If we're here under erroneous circumstances, prefer 
returning null over a potentially insecure value.
76               if (!value->isCSSOMSafe())
77                   return jsNull();
78
79               JSObject* wrapper = getCachedWrapper(globalObject->world(), 
value);
80
81               if (wrapper)
82                   return wrapper;
83
84               if (value->isWebKitCSSTransformValue())
85                   wrapper = CREATE_DOM_WRAPPER(globalObject, 
WebKitCSSTransformValue, value);
86               else if (value->isWebKitCSSFilterValue())
87                   wrapper = CREATE_DOM_WRAPPER(globalObject, 
WebKitCSSFilterValue, value);
88               else if (value->isValueList())
89                   wrapper = CREATE_DOM_WRAPPER(globalObject, CSSValueList, 
value);
90               else if (value->isSVGPaint())
91                   wrapper = CREATE_DOM_WRAPPER(globalObject, SVGPaint, 
value);
92               else if (value->isSVGColor())
93                   wrapper = CREATE_DOM_WRAPPER(globalObject, SVGColor, 
value);
94               else if (value->isPrimitiveValue())
95                   wrapper = CREATE_DOM_WRAPPER(globalObject, 
CSSPrimitiveValue, value);
96               else
97                   wrapper = CREATE_DOM_WRAPPER(globalObject, CSSValue, 
value);
98
99               return wrapper;
100         }

It produces the linker error:
JSBindingsAllInOne.obj : error LNK2019: unresolved external symbol "public: 
__thiscall WebCore::CSSPrimitiveValue::operator<class WTF::Ref<class 
WebCore::CSSPrimitiveValue> > class WTF::Ref<class 
WebCore::CSSPrimitiveValue>(void)const " 
(??$?BV?$Ref@VCSSPrimitiveValue@WebCore@@@WTF@@@CSSPrimitiveValue@WebCore@@QBE?AV?$Ref@VCSSPrimitiveValue@WebCore@@@WTF@@XZ)
 referenced in function "class WebCore::JSDOMWrapper * __cdecl 
WebCore::createWrapper<class WebCore::JSCSSPrimitiveValue,class 
WebCore::CSSPrimitiveValue>(class WebCore::JSDOMGlobalObject *,class 
WebCore::CSSPrimitiveValue *)" 
(??$createWrapper@VJSCSSPrimitiveValue@WebCore@@VCSSPrimitiveValue@2@@WebCore@@YAPAVJSDOMWrapper@0@PAVJSDOMGlobalObject@0@PAVCSSPrimitiveValue@0@@Z)

As you can see there are many other similar code lines in the area, none of 
which cause a problem.  Despite my many attempts I can't seem to satisfy the 
linker by providing it the definition it needs.

*         I've attempted manually adding the copy constructor definition (I 
believe that is what it is describing):

o   CSSPrimitiveValue::CSSPrimitiveValue(ClassType classType, const 
CSSPrimitiveValue& cloneFrom)

o   CSSPrimitiveValue::CSSPrimitiveValue(const CSSPrimitiveValue& cloneFrom)

*         I've tried removing the usage of the "AllInOne" file, thinking that 
it may be causing some issue.

*         I've attempted to debug the code when the offending line is commented 
out, hoping to see better how the other lines function.  Though I'm not sure 
what path would cause it to execute, I haven't hit it in my limited testing.

*         One of my colleagues reached out the MS on the issue, but it behaves 
as expect on their end (small sample code does not find a bug in the compiler). 
 
https://social.msdn.microsoft.com/Forums/en-US/6b9787f3-62bd-473a-8aa1-5f6cd85ed87b/breaking-change-in-visual-studio-2015-rc?forum=vcgeneral



Any suggestions would be much appreciated

Thanks

Chris



_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to