Bug 161806
Summary: | [GTK] REGRESSION(r205650): ARM build broken | ||
---|---|---|---|
Product: | WebKit | Reporter: | Carlos Alberto Lopez Perez <clopez> |
Component: | WebKitGTK | Assignee: | Nobody <webkit-unassigned> |
Status: | RESOLVED DUPLICATE | ||
Severity: | Normal | CC: | achristensen, bugs-noreply, cgarcia, gustavo, mcatanzaro, ossy, thorton |
Priority: | P2 | ||
Version: | WebKit Nightly Build | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
Carlos Alberto Lopez Perez
Seems some revision from r205537-r205542 broke the ARM build
https://build.webkit.org/builders/GTK%20Linux%20ARM%20Release/builds/12086
I don' have time to bisect this. Just reporting it hoping that someone can take a look
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
Carlos Alberto Lopez Perez
I have forced a clean build on 205751 to see if it could be related to clean-build issues: https://build.webkit.org/builders/GTK%20Linux%20ARM%20Release/builds/12110
Carlos Garcia Campos
(In reply to comment #1)
> I have forced a clean build on 205751 to see if it could be related to
> clean-build issues:
> https://build.webkit.org/builders/GTK%20Linux%20ARM%20Release/builds/12110
Yes, that failure only needed a clean build, because it was using generated files from DerivedSources that are no longer generated. But now it's still failing, but of other reasons:
https://build.webkit.org/builders/GTK%20Linux%20ARM%20Release/builds/12132/steps/compile-webkit/logs/stdio
Carlos Garcia Campos
The problem seems to be URLParser unit test using wchar_t in:
template<size_t length>
static String wideString(const wchar_t (&url)[length])
{
StringBuilder builder;
builder.reserveCapacity(length - 1);
for (size_t i = 0; i < length - 1; ++i)
builder.append(url[i]);
return builder.toString();
}
../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp: In instantiation of ‘WTF::String TestWebKitAPI::wideString(const wchar_t (&)[length]) [with unsigned int length = 23u]’:
../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:245:60: required from here
../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:93:9: error: call of overloaded ‘append(const wchar_t&)’ is ambiguous
builder.append(url[i]);
^
../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:93:9: note: candidates are:
......
I guess wchar_t is defined differently in that ARM bot, maybe we could simply use UChar there. Any idea Alex?
Michael Catanzaro
../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp: In instantiation of ‘WTF::String TestWebKitAPI::wideString(const wchar_t (&)[length]) [with unsigned int length = 23u]’:
../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:252:60: required from here
../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:93:9: error: call of overloaded ‘append(const wchar_t&)’ is ambiguous
builder.append(url[i]);
^
../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:93:9: note: candidates are:
In file included from ../../Source/WebCore/platform/URLParser.h:31:0,
from DerivedSources/ForwardingHeaders/WebCore/URLParser.h:1,
from ../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:27:
../../Source/WTF/wtf/text/StringBuilder.h:53:10: note: void WTF::StringBuilder::append(const WTF::AtomicString&) <near match>
void append(const AtomicString& atomicString)
^
../../Source/WTF/wtf/text/StringBuilder.h:53:10: note: no known conversion for argument 1 from ‘const wchar_t’ to ‘const WTF::AtomicString&’
../../Source/WTF/wtf/text/StringBuilder.h:58:10: note: void WTF::StringBuilder::append(const WTF::String&) <near match>
void append(const String& string)
^
../../Source/WTF/wtf/text/StringBuilder.h:58:10: note: no known conversion for argument 1 from ‘const wchar_t’ to ‘const WTF::String&’
../../Source/WTF/wtf/text/StringBuilder.h:97:10: note: void WTF::StringBuilder::append(WTF::StringView) <near match>
void append(StringView stringView)
^
../../Source/WTF/wtf/text/StringBuilder.h:97:10: note: no known conversion for argument 1 from ‘const wchar_t’ to ‘WTF::StringView’
In file included from ../../Source/WebCore/platform/URLParser.h:31:0,
from DerivedSources/ForwardingHeaders/WebCore/URLParser.h:1,
from ../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:27:
../../Source/WTF/wtf/text/StringBuilder.h:126:10: note: void WTF::StringBuilder::append(const char*) <near match>
void append(const char* characters)
^
../../Source/WTF/wtf/text/StringBuilder.h:126:10: note: no known conversion for argument 1 from ‘const wchar_t’ to ‘const char*’
../../Source/WTF/wtf/text/StringBuilder.h:132:10: note: void WTF::StringBuilder::append(UChar)
void append(UChar c)
^
../../Source/WTF/wtf/text/StringBuilder.h:148:10: note: void WTF::StringBuilder::append(LChar)
void append(LChar c)
^
../../Source/WTF/wtf/text/StringBuilder.h:159:10: note: void WTF::StringBuilder::append(char)
void append(char c)
^
../../Source/WTF/wtf/text/StringBuilder.h:164:10: note: void WTF::StringBuilder::append(UChar32)
void append(UChar32 c)
^
Carlos Alberto Lopez Perez
(In reply to comment #3)
> The problem seems to be URLParser unit test using wchar_t in:
>
> template<size_t length>
> static String wideString(const wchar_t (&url)[length])
> {
> StringBuilder builder;
> builder.reserveCapacity(length - 1);
> for (size_t i = 0; i < length - 1; ++i)
> builder.append(url[i]);
> return builder.toString();
> }
>
> ../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp: In instantiation of
> ‘WTF::String TestWebKitAPI::wideString(const wchar_t (&)[length]) [with
> unsigned int length = 23u]’:
> ../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:245:60: required
> from here
> ../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:93:9: error: call of
> overloaded ‘append(const wchar_t&)’ is ambiguous
> builder.append(url[i]);
> ^
> ../../Tools/TestWebKitAPI/Tests/WebCore/URLParser.cpp:93:9: note: candidates
> are:
> ......
>
> I guess wchar_t is defined differently in that ARM bot, maybe we could
> simply use UChar there. Any idea Alex?
The type definition for wchar_t is architecture dependent:
GNU/Linux x86_64 machine $ echo "" | gcc -E - -dM | grep WCHAR
#define __WCHAR_MAX__ 2147483647
#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
#define __WCHAR_TYPE__ int
#define __SIZEOF_WCHAR_T__ 4
GNU/Linux i686 machine $ echo "" | g++-4.9 -E - -dM | grep WCHAR
#define __WCHAR_MAX__ 2147483647L
#define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
#define __WCHAR_TYPE__ long int
#define __SIZEOF_WCHAR_T__ 4
GNU/Linux armv7t machine $ echo "" | g++-4.9 -E - -dM | grep WCHAR
#define __ARM_SIZEOF_WCHAR_T 32
#define __WCHAR_MAX__ 4294967295U
#define __WCHAR_MIN__ 0U
#define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
#define __WCHAR_TYPE__ unsigned int
#define __SIZEOF_WCHAR_T__ 4
Carlos Alberto Lopez Perez
*** This bug has been marked as a duplicate of bug 162537 ***