Cezar Andrei has proposed merging lp:~zorba-coders/zorba/bug1160559-unionTypeError into lp:zorba.
Commit message: Fixes bug when creating derived union types. Fix for bug#1160559 Seg Fault in Union Types (3 test cases). Requested reviews: Cezar Andrei (cezar-andrei) Nicolae Brinza (nbrinza) Related bugs: Bug #1160559 in Zorba: "Seg Fault in Union Types (3 test cases)" https://bugs.launchpad.net/zorba/+bug/1160559 For more details, see: https://code.launchpad.net/~zorba-coders/zorba/bug1160559-unionTypeError/+merge/156760 Fix for bug#1160559 Seg Fault in Union Types (3 test cases). -- https://code.launchpad.net/~zorba-coders/zorba/bug1160559-unionTypeError/+merge/156760 Your team Zorba Coders is subscribed to branch lp:zorba.
=== modified file 'src/types/schema/schema.cpp' --- src/types/schema/schema.cpp 2013-03-12 17:03:31 +0000 +++ src/types/schema/schema.cpp 2013-04-03 07:58:25 +0000 @@ -929,14 +929,14 @@ xqtref_t baseXQType; XSTypeDefinition* baseTypeDef = xsTypeDef->getBaseType(); - if (!baseTypeDef) + if (baseTypeDef) { baseXQType = createXQTypeFromTypeDefinition(tm, baseTypeDef); } - //cout << " creating UDT Simple Union Type: " << - // qname->getLocalName()->c_str() << "@" << - // qname->getNamespace()->c_str() << " of: "; + //std::cout << " creating UDT Simple Union Type: " << + // qname->getLocalName() << "@" << + // qname->getNamespace() << " of: "; std::vector<xqtref_t> unionItemTypes; for (csize i = 0; i < memberTypesDefList->size(); ++i) @@ -947,7 +947,7 @@ xqtref_t itemXQType = createXQTypeFromTypeDefinition(tm, itemTypeDef); unionItemTypes.push_back(itemXQType); - //cout << " " << itemXQType->toString(); + //std::cout << " " << itemXQType->toString(); if (itemXQType->type_kind() == XQType::USER_DEFINED_KIND) { @@ -955,7 +955,7 @@ addTypeToCache(itemXQType); } } - //cout << endl; cout.flush(); + //std::cout << std::endl; std::cout.flush(); xqtref_t xqType = new UserDefinedXQType(tm, qname, @@ -963,8 +963,8 @@ TypeConstants::QUANT_ONE, unionItemTypes); - //cout << " created UDT Union Type: " << xqType->toString() << endl; - // cout.flush(); + //std::cout << " created UDT Union Type: " << xqType->toString() << std::endl; + // std::cout.flush(); addTypeToCache(xqType); result = xqType; === modified file 'test/fots/CMakeLists.txt' --- test/fots/CMakeLists.txt 2013-04-03 07:30:48 +0000 +++ test/fots/CMakeLists.txt 2013-04-03 07:58:25 +0000 @@ -103,9 +103,9 @@ EXPECTED_FOTS_FAILURE (CRASH fn-matches.re re00976 1070533) EXPECTED_FOTS_FAILURE (CRASH fn-matches.re re00976a 1070533) EXPECTED_FOTS_FAILURE (CRASH fn-unparsed-text-lines fn-unparsed-text-lines-052 1123835) -EXPECTED_FOTS_FAILURE (CRASH prod-InstanceofExpr instanceof139 1160559) -EXPECTED_FOTS_FAILURE (CRASH prod-CastExpr.schema CastAs-UnionType-26 1160559) -EXPECTED_FOTS_FAILURE (CRASH prod-CastExpr.schema CastAs-UnionType-30 1160559) +EXPECTED_FOTS_FAILURE (CRASH prod-InstanceofExpr instanceof139 1160559) # failing but not crushing +#EXPECTED_FOTS_FAILURE (CRASH prod-CastExpr.schema CastAs-UnionType-26 1160559) +#EXPECTED_FOTS_FAILURE (CRASH prod-CastExpr.schema CastAs-UnionType-30 1160559) # Next three possibly unique to old RQ machine, but they need to be # marked for the RQ to pass. === modified file 'test/fots_driver/cli.xq' --- test/fots_driver/cli.xq 2013-03-27 02:24:41 +0000 +++ test/fots_driver/cli.xq 2013-04-03 07:58:25 +0000 @@ -99,9 +99,9 @@ : EXPECTED_FOTS_FAILURE (CRASH TEST_SET_NAME TEST_CASE_NAME BUG_NO) :) declare variable $exceptedTestCases as xs:string* := ( - ("instanceof139", +(: ("instanceof139", "CastAs-UnionType-26", - "CastAs-UnionType-30"), (:see bug lp:1160559 :) + "CastAs-UnionType-30") , :) (:see bug lp:1160559 :) "fn-unparsed-text-lines-052", (:see bug lp:1123835 :) ("cbcl-subsequence-011", "cbcl-subsequence-012",
-- Mailing list: https://launchpad.net/~zorba-coders Post to : zorba-coders@lists.launchpad.net Unsubscribe : https://launchpad.net/~zorba-coders More help : https://help.launchpad.net/ListHelp