[Webkit-unassigned] [Bug 34560] Typedef JSChar to wchar_t in RVCT.

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Feb 9 04:15:59 PST 2010


https://bugs.webkit.org/show_bug.cgi?id=34560





--- Comment #6 from Kwang Yul Seo <kwangyul.seo at gmail.com>  2010-02-09 04:15:58 PST ---
Without this patch, I encountered the following RVCT compile error:

[ 505/1814] cxx: JavaScriptCore\API\JSStringRef.cpp ->
build\default\JavaScriptCore\API\JSStringRef_1.o
"..\JavaScriptCore\API\JSStringRef.cpp", line 39: Error:  #304: no instance of
overloaded function "OpaqueJSString::create" matches the argument list
            argument types are: (const JSChar *, std::size_t)
      return OpaqueJSString::create(chars, numChars).releaseRef();
             ^
"..\JavaScriptCore\API\JSStringRef.cpp", line 75: Error:  #120: return value
type does not match the function type
      return string->characters();
             ^
..\JavaScriptCore\API\JSStringRef.cpp: 0 warnings, 2 errors
Waf: Leaving directory `C:\cygwin\home\skyul\WebKit\build'
Build failed
 -> task failed (err #1):
        {task: cxx JSStringRef.cpp -> JSStringRef_1.o}



This complains about the incompatibility between JSChar* and UChar*. 


UChar is defined in ICU's umachine.h

/* Define UChar to be compatible with wchar_t if possible. */
#if U_SIZEOF_WCHAR_T==2
    typedef wchar_t UChar;
#else
    typedef uint16_t UChar;
#endif

As U_SIZEOF_WCHAR_T==2, UChar is wchar_t.


JSChar is defined in JSStringRef.h

#if !defined(WIN32) && !defined(_WIN32) && !defined(__WINSCW__)
/*!
@typedef JSChar
@abstract A Unicode character.
*/
    typedef unsigned short JSChar;
#else
    typedef wchar_t JSChar;
#endif


JSChar is defined to unsigned short.


This patch is needed to make JSChar* and UChar* compatible by defining both
types to wchar_t.

I am not sure why Symbian Qt port does not have this problem. Maybe they define
UChar to unsigned short?

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



More information about the webkit-unassigned mailing list