aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2017-10-05 17:28:04 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2017-10-05 17:28:04 +0200
commit7e5c48457edf7973ea7c59ab2f351c80f6e7a301 (patch)
tree0585dce0c52e01b6df0c19aaa838f367c8b91d59
parent631b1a1732e9837ae7eeaa5113c4b6c451bae569 (diff)
parentf47a71fe70312646a8bf155c7edce761f4be1204 (diff)
Merge 1.9 into master
This is intended to be the last merge from 1.9. Change-Id: I7b9dec70a50726f4ed2d54152eab472f2c6b74ec
-rw-r--r--changelogs/changes-1.9.1.md4
-rw-r--r--examples/cocoa-touch-application/CocoaTouchApplication.qbs2
-rw-r--r--examples/cocoa-touch-application/CocoaTouchApplication.xcodeproj/project.pbxproj4
-rw-r--r--src/lib/corelib/language/evaluatorscriptclass.cpp13
-rw-r--r--src/lib/corelib/language/value.cpp5
-rw-r--r--src/lib/corelib/language/value.h2
-rw-r--r--tests/auto/language/testdata/propertiesblocks.qbs20
-rw-r--r--tests/auto/language/tst_language.cpp8
8 files changed, 47 insertions, 11 deletions
diff --git a/changelogs/changes-1.9.1.md b/changelogs/changes-1.9.1.md
new file mode 100644
index 000000000..59fc69089
--- /dev/null
+++ b/changelogs/changes-1.9.1.md
@@ -0,0 +1,4 @@
+# Important bugfixes
+* Lower the response file threshold on Windows to fix build failures with mingw (QBS-1201).
+* Fix explicitly specified build variant being ignored for Darwin targets (QBS-1202).
+* Fix building for the AVR architecture (QBS-1203).
diff --git a/examples/cocoa-touch-application/CocoaTouchApplication.qbs b/examples/cocoa-touch-application/CocoaTouchApplication.qbs
index 9a1046611..f1c7f3238 100644
--- a/examples/cocoa-touch-application/CocoaTouchApplication.qbs
+++ b/examples/cocoa-touch-application/CocoaTouchApplication.qbs
@@ -57,7 +57,7 @@ CppApplication {
name: "Cocoa Touch Application"
cpp.useObjcPrecompiledHeader: true
- cpp.minimumIosVersion: "6.1"
+ cpp.minimumIosVersion: "8.0"
cpp.frameworks: [ "UIKit", "Foundation", "CoreGraphics" ]
Group {
diff --git a/examples/cocoa-touch-application/CocoaTouchApplication.xcodeproj/project.pbxproj b/examples/cocoa-touch-application/CocoaTouchApplication.xcodeproj/project.pbxproj
index 4dc8a6d4c..07f3a1a46 100644
--- a/examples/cocoa-touch-application/CocoaTouchApplication.xcodeproj/project.pbxproj
+++ b/examples/cocoa-touch-application/CocoaTouchApplication.xcodeproj/project.pbxproj
@@ -267,7 +267,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 6.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -291,7 +291,7 @@
GCC_WARN_ABOUT_RETURN_TYPE = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 6.1;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
OTHER_CFLAGS = "-DNS_BLOCK_ASSERTIONS=1";
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
diff --git a/src/lib/corelib/language/evaluatorscriptclass.cpp b/src/lib/corelib/language/evaluatorscriptclass.cpp
index 4c4a521a5..6e131fdec 100644
--- a/src/lib/corelib/language/evaluatorscriptclass.cpp
+++ b/src/lib/corelib/language/evaluatorscriptclass.cpp
@@ -213,14 +213,11 @@ private:
// condition is true, let's use the value of this alternative
if (alternative.value->sourceUsesOuter() && !outerItem) {
// Clone value but without alternatives.
- JSSourceValuePtr outerValue = JSSourceValue::create();
- outerValue->setFile(value->file());
- outerValue->setHasFunctionForm(value->hasFunctionForm());
- outerValue->setSourceCode(value->sourceCode());
- outerValue->setBaseValue(value->baseValue());
- if (value->sourceUsesBase())
- outerValue->setSourceUsesBaseFlag();
- outerValue->setLocation(value->line(), value->column());
+ JSSourceValuePtr outerValue =
+ std::static_pointer_cast<JSSourceValue>(value->clone());
+ outerValue->setNext(ValuePtr());
+ outerValue->clearCreatedByPropertiesBlock();
+ outerValue->clearAlternatives();
outerItem = Item::create(data->item->pool(), ItemType::Outer);
outerItem->setProperty(propertyName->toString(), outerValue);
}
diff --git a/src/lib/corelib/language/value.cpp b/src/lib/corelib/language/value.cpp
index f72cb248c..8c3dea32c 100644
--- a/src/lib/corelib/language/value.cpp
+++ b/src/lib/corelib/language/value.cpp
@@ -153,6 +153,11 @@ void JSSourceValue::setHasFunctionForm(bool b)
m_flags &= ~HasFunctionForm;
}
+void JSSourceValue::clearAlternatives()
+{
+ m_alternatives.clear();
+}
+
void JSSourceValue::setDefiningItem(Item *item)
{
Value::setDefiningItem(item);
diff --git a/src/lib/corelib/language/value.h b/src/lib/corelib/language/value.h
index 6dcefc602..756638727 100644
--- a/src/lib/corelib/language/value.h
+++ b/src/lib/corelib/language/value.h
@@ -78,6 +78,7 @@ public:
bool createdByPropertiesBlock() const { return m_createdByPropertiesBlock; }
void setCreatedByPropertiesBlock(bool b) { m_createdByPropertiesBlock = b; }
+ void clearCreatedByPropertiesBlock() { m_createdByPropertiesBlock = false; }
private:
Type m_type;
@@ -160,6 +161,7 @@ public:
const std::vector<Alternative> &alternatives() const { return m_alternatives; }
void addAlternative(const Alternative &alternative) { m_alternatives.push_back(alternative); }
+ void clearAlternatives();
void setDefiningItem(Item *item);
diff --git a/tests/auto/language/testdata/propertiesblocks.qbs b/tests/auto/language/testdata/propertiesblocks.qbs
index 48a801bd8..8566166d9 100644
--- a/tests/auto/language/testdata/propertiesblocks.qbs
+++ b/tests/auto/language/testdata/propertiesblocks.qbs
@@ -37,6 +37,26 @@ Project {
}
}
Product {
+ name: "property_append_to_indirect_outer"
+ Depends { name: "dummy" }
+ property stringList myDefines: ["ONE"]
+ dummy.defines: myDefines
+ Properties {
+ condition: true
+ dummy.defines: outer.concat(["TWO"])
+ }
+ }
+ Product {
+ name: "property_append_to_indirect_merged_outer"
+ Depends { name: "dummy" }
+ property string justOne: "ONE"
+ dummy.rpaths: [justOne]
+ Properties {
+ condition: true
+ dummy.rpaths: outer.concat(["TWO"])
+ }
+ }
+ Product {
name: "multiple_exclusive_properties"
Depends { name: "dummy" }
dummy.defines: ["SOMETHING"]
diff --git a/tests/auto/language/tst_language.cpp b/tests/auto/language/tst_language.cpp
index 416634654..0c6e1f48d 100644
--- a/tests/auto/language/tst_language.cpp
+++ b/tests/auto/language/tst_language.cpp
@@ -2092,6 +2092,14 @@ void TestLanguage::propertiesBlocks_data()
<< QString("dummy.defines")
<< (QStringList() << QString("ONE") << QString("TWO"))
<< QString();
+ QTest::newRow("property_append_to_indirect_outer")
+ << QString("dummy.defines")
+ << (QStringList() << QString("ONE") << QString("TWO"))
+ << QString();
+ QTest::newRow("property_append_to_indirect_merged_outer")
+ << QString("dummy.rpaths")
+ << (QStringList() << QString("ONE") << QString("TWO") << QString("$ORIGIN"))
+ << QString();
QTest::newRow("multiple_exclusive_properties")
<< QString("dummy.defines")