summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@me.com>2013-11-18 11:58:33 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-11-18 15:54:56 +0100
commit15bb30b0e90c628cc3812627923d1d459d461505 (patch)
tree9e8ac40f800bcf9d699e1004224fa5c7579599f5
parent78985c5c2c4ec8c7d06bf0c59c5534f968d62f07 (diff)
downloadqtscript-15bb30b0e90c628cc3812627923d1d459d461505.tar.gz
Fix compiler errors.v5.2.0-rc1v5.2.0
On Mavericks with Apple's Clang 5.0 (3.3 based): ../3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.h:320:117: error: non-const reference cannot bind to bit-field 'm_attributesInPrevious' ...add(StructureTransitionTableHash::Key(RefPtr<UString::Rep>(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), exi... ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ C++11 specific: ../3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h:179:35: error: non-constant-expression cannot be narrowed from type 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') in initializer list [-Wc++11-narrowing] LineInfo info = { instructions().size(), n->lineNo() }; ^~~~~~~~~~~~~~~~~~~~~ Both occur in multiple places. Task-number: QTBUG-34842 Change-Id: I98a29b51718a6e0db8749ac1b495e071e9fe479d Reviewed-by: Lars Knoll <lars.knoll@digia.com>
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp9
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h4
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/runtime/Identifier.cpp2
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSONObject.cpp6
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp7
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.h6
-rw-r--r--src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode/UTF8.cpp2
7 files changed, 24 insertions, 12 deletions
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
index b0a0877..d2ad679 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.cpp
@@ -1837,7 +1837,12 @@ RegisterID* BytecodeGenerator::emitCatch(RegisterID* targetRegister, Label* star
#if ENABLE(JIT)
HandlerInfo info = { start->bind(0, 0), end->bind(0, 0), instructions().size(), m_dynamicScopeDepth + m_baseScopeDepth, CodeLocationLabel() };
#else
- HandlerInfo info = { start->bind(0, 0), end->bind(0, 0), instructions().size(), m_dynamicScopeDepth + m_baseScopeDepth };
+ HandlerInfo info = {
+ static_cast<uint32_t>(start->bind(0, 0)),
+ static_cast<uint32_t>(end->bind(0, 0)),
+ static_cast<uint32_t>(instructions().size()),
+ static_cast<uint32_t>(m_dynamicScopeDepth + m_baseScopeDepth)
+ };
#endif
m_codeBlock->addExceptionHandler(info);
@@ -1889,7 +1894,7 @@ void BytecodeGenerator::emitPushNewScope(RegisterID* dst, const Identifier& prop
void BytecodeGenerator::beginSwitch(RegisterID* scrutineeRegister, SwitchInfo::SwitchType type)
{
- SwitchInfo info = { instructions().size(), type };
+ SwitchInfo info = { static_cast<uint32_t>(instructions().size()), type };
switch (type) {
case SwitchInfo::SwitchImmediate:
emitOpcode(op_switch_imm);
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h b/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h
index 8b6a425..af74e60 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/bytecompiler/BytecodeGenerator.h
@@ -176,7 +176,7 @@ namespace JSC {
// Node::emitCode assumes that dst, if provided, is either a local or a referenced temporary.
ASSERT(!dst || dst == ignoredResult() || !dst->isTemporary() || dst->refCount());
if (!m_codeBlock->numberOfLineInfos() || m_codeBlock->lastLineInfo().lineNumber != n->lineNo()) {
- LineInfo info = { instructions().size(), n->lineNo() };
+ LineInfo info = { static_cast<uint32_t>(instructions().size()), n->lineNo() };
m_codeBlock->addLineInfo(info);
}
if (m_emitNodeDepth >= s_maxEmitNodeDepth)
@@ -195,7 +195,7 @@ namespace JSC {
void emitNodeInConditionContext(ExpressionNode* n, Label* trueTarget, Label* falseTarget, bool fallThroughMeansTrue)
{
if (!m_codeBlock->numberOfLineInfos() || m_codeBlock->lastLineInfo().lineNumber != n->lineNo()) {
- LineInfo info = { instructions().size(), n->lineNo() };
+ LineInfo info = { static_cast<uint32_t>(instructions().size()), n->lineNo() };
m_codeBlock->addLineInfo(info);
}
if (m_emitNodeDepth >= s_maxEmitNodeDepth)
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Identifier.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Identifier.cpp
index 747c4ac..0702c42 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Identifier.cpp
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Identifier.cpp
@@ -195,7 +195,7 @@ PassRefPtr<UString::Rep> Identifier::add(JSGlobalData* globalData, const UChar*
UString::Rep::empty().hash();
return &UString::Rep::empty();
}
- UCharBuffer buf = {s, length};
+ UCharBuffer buf = {s, static_cast<unsigned>(length)};
pair<HashSet<UString::Rep*>::iterator, bool> addResult = globalData->identifierTable->add<UCharBuffer, UCharBufferTranslator>(buf);
// If the string is newly-translated, then we need to adopt it.
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSONObject.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSONObject.cpp
index b089584..daacbdb 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSONObject.cpp
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/JSONObject.cpp
@@ -320,7 +320,11 @@ void Stringifier::appendQuotedString(StringBuilder& builder, const UString& valu
default:
static const char hexDigits[] = "0123456789abcdef";
UChar ch = data[i];
- UChar hex[] = { '\\', 'u', hexDigits[(ch >> 12) & 0xF], hexDigits[(ch >> 8) & 0xF], hexDigits[(ch >> 4) & 0xF], hexDigits[ch & 0xF] };
+ UChar hex[] = { '\\', 'u',
+ static_cast<UChar>(hexDigits[(ch >> 12) & 0xF]),
+ static_cast<UChar>(hexDigits[(ch >> 8) & 0xF]),
+ static_cast<UChar>(hexDigits[(ch >> 4) & 0xF]),
+ static_cast<UChar>(hexDigits[ch & 0xF]) };
builder.append(hex, sizeof(hex) / sizeof(UChar));
break;
}
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp
index bf49a15..307b1f7 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.cpp
@@ -156,9 +156,10 @@ Structure::Structure(JSValue prototype, const TypeInfo& typeInfo)
Structure::~Structure()
{
if (m_previous) {
- if (m_nameInPrevious)
- m_previous->table.remove(StructureTransitionTableHash::Key(RefPtr<UString::Rep>(m_nameInPrevious.get()), m_attributesInPrevious), m_specificValueInPrevious);
- else
+ if (m_nameInPrevious) {
+ unsigned attrInPrev = m_attributesInPrevious;
+ m_previous->table.remove(StructureTransitionTableHash::Key(RefPtr<UString::Rep>(m_nameInPrevious.get()), attrInPrev), m_specificValueInPrevious);
+ } else
m_previous->table.removeAnonymousSlotTransition(m_anonymousSlotsInPrevious);
}
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.h b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.h
index 7571efc..a8deb5e 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.h
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/runtime/Structure.h
@@ -316,8 +316,10 @@ namespace JSC {
Structure* existingTransition = singleTransition();
TransitionTable* transitionTable = new TransitionTable;
setTransitionTable(transitionTable);
- if (existingTransition)
- add(StructureTransitionTableHash::Key(RefPtr<UString::Rep>(existingTransition->m_nameInPrevious.get()), existingTransition->m_attributesInPrevious), existingTransition, existingTransition->m_specificValueInPrevious);
+ if (existingTransition) {
+ const unsigned attrsInPrev = existingTransition->m_attributesInPrevious;
+ add(StructureTransitionTableHash::Key(RefPtr<UString::Rep>(existingTransition->m_nameInPrevious.get()), attrsInPrev), existingTransition, existingTransition->m_specificValueInPrevious);
+ }
}
} // namespace JSC
diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode/UTF8.cpp b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode/UTF8.cpp
index 21d5856..cbfc528 100644
--- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode/UTF8.cpp
+++ b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/unicode/UTF8.cpp
@@ -229,7 +229,7 @@ static bool isLegalUTF8(const unsigned char* source, int length)
// This table contains as many values as there might be trailing bytes
// in a UTF-8 sequence.
static const UChar32 offsetsFromUTF8[6] = { 0x00000000UL, 0x00003080UL, 0x000E2080UL,
- 0x03C82080UL, 0xFA082080UL, 0x82082080UL };
+ 0x03C82080UL, static_cast<UChar32>(0xFA082080UL), static_cast<UChar32>(0x82082080UL) };
ConversionResult convertUTF8ToUTF16(
const char** sourceStart, const char* sourceEnd,