Changeset 124099 in webkit
- Timestamp:
- Jul 30, 2012 3:18:20 PM (12 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r124098 r124099 1 2012-07-30 Alexis Menard <alexis.menard@openbossa.org> 2 3 Build fix with newer bison 2.6. 4 https://bugs.webkit.org/show_bug.cgi?id=92264 5 6 Reviewed by Adam Barth. 7 8 As stated in http://www.gnu.org/software/bison/manual/html_node/Table-of-Symbols.html 9 YYLEX_PARAM and YYPARSE_PARAM are depecreated since version 1.875. So far all Mac OS 10 version I had access to as well as recent Linux runs at least version 2.3 so it's safe 11 to use the replacement of these deprecated macros in favor of %lex-param and %parse-param. 12 As announced http://lists.gnu.org/archive/html/info-gnu/2012-07/msg00011.html with the release 13 of version 2.6 YYLEX_PARAM and YYPARSE_PARAM are not supported anymore. 14 15 No new tests : build fix and the patch should not trigger any regressions 16 17 * css/CSSGrammar.y: 18 * css/CSSParser.cpp: 19 * xml/XPathGrammar.y: Refactored a bit to not use an intermediate PARSER define. 20 * xml/XPathParser.cpp: bison 2.6 declare xpathyyparse in the .h file now, i.e. XPathGrammar.h 21 therefore including this file within the namespace {} declarations leads to xpathyyparse being 22 defined part of WebCore::XPath namespaces but the actual implementation of xpathyyparse is in XPathGrammar.cpp 23 (generated) and not implemented within the WebCore::XPath so it lead to linking issues. Last, XPathGrammar.h needs 24 to be included after the other includes as it uses some XPath types. It breaks the style but CSSParser.cpp is doing the same. 25 1 26 2012-07-30 Sadrul Habib Chowdhury <sadrul@chromium.org> 2 27 -
trunk/Source/WebCore/css/CSSGrammar.y
r121874 r124099 54 54 #define YYDEBUG 0 55 55 56 // FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x57 #define YYPARSE_PARAM parser58 #define YYLEX_PARAM parser59 60 56 %} 61 57 62 58 %pure_parser 59 60 %parse-param { CSSParser* parser } 61 %lex-param { CSSParser* parser } 63 62 64 63 %union { … … 90 89 %{ 91 90 92 static inline int cssyyerror( const char*)91 static inline int cssyyerror(void*, const char*) 93 92 { 94 93 return 1; -
trunk/Source/WebCore/css/CSSParser.cpp
r123746 r124099 115 115 #endif 116 116 117 extern int cssyyparse( void* parser);117 extern int cssyyparse(WebCore::CSSParser*); 118 118 119 119 using namespace std; -
trunk/Source/WebCore/xml/XPathGrammar.y
r97771 r124099 35 35 #include "XPathPath.h" 36 36 #include "XPathPredicate.h" 37 #include "XPathStep.h" 37 38 #include "XPathVariableReference.h" 38 39 #include <wtf/FastMalloc.h> … … 45 46 #define YYDEBUG 0 46 47 #define YYMAXDEPTH 10000 47 #define YYPARSE_PARAM parserParameter48 #define PARSER static_cast<Parser*>(parserParameter)49 48 50 49 using namespace WebCore; … … 54 53 55 54 %pure_parser 55 %parse-param { WebCore::XPath::Parser* parser } 56 56 57 57 %union … … 72 72 73 73 static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); } 74 static void xpathyyerror( const char*) { }74 static void xpathyyerror(void*, const char*) { } 75 75 76 76 %} … … 119 119 OrExpr 120 120 { 121 PARSER->m_topExpr = $1;121 parser->m_topExpr = $1; 122 122 } 123 123 ; … … 139 139 { 140 140 $$ = new LocationPath; 141 PARSER->registerParseNode($$);141 parser->registerParseNode($$); 142 142 } 143 143 | … … 151 151 $$ = $2; 152 152 $$->insertFirstStep($1); 153 PARSER->unregisterParseNode($1);153 parser->unregisterParseNode($1); 154 154 } 155 155 ; … … 160 160 $$ = new LocationPath; 161 161 $$->appendStep($1); 162 PARSER->unregisterParseNode($1);163 PARSER->registerParseNode($$);162 parser->unregisterParseNode($1); 163 parser->registerParseNode($$); 164 164 } 165 165 | … … 167 167 { 168 168 $$->appendStep($3); 169 PARSER->unregisterParseNode($3);169 parser->unregisterParseNode($3); 170 170 } 171 171 | … … 174 174 $$->appendStep($2); 175 175 $$->appendStep($3); 176 PARSER->unregisterParseNode($2);177 PARSER->unregisterParseNode($3);176 parser->unregisterParseNode($2); 177 parser->unregisterParseNode($3); 178 178 } 179 179 ; … … 184 184 if ($2) { 185 185 $$ = new Step(Step::ChildAxis, *$1, *$2); 186 PARSER->deletePredicateVector($2);186 parser->deletePredicateVector($2); 187 187 } else 188 188 $$ = new Step(Step::ChildAxis, *$1); 189 PARSER->deleteNodeTest($1);190 PARSER->registerParseNode($$);189 parser->deleteNodeTest($1); 190 parser->registerParseNode($$); 191 191 } 192 192 | … … 195 195 String localName; 196 196 String namespaceURI; 197 if (! PARSER->expandQName(*$1, localName, namespaceURI)) {198 PARSER->m_gotNamespaceError = true;197 if (!parser->expandQName(*$1, localName, namespaceURI)) { 198 parser->m_gotNamespaceError = true; 199 199 YYABORT; 200 200 } … … 202 202 if ($2) { 203 203 $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2); 204 PARSER->deletePredicateVector($2);204 parser->deletePredicateVector($2); 205 205 } else 206 206 $$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); 207 PARSER->deleteString($1);208 PARSER->registerParseNode($$);207 parser->deleteString($1); 208 parser->registerParseNode($$); 209 209 } 210 210 | … … 213 213 if ($3) { 214 214 $$ = new Step($1, *$2, *$3); 215 PARSER->deletePredicateVector($3);215 parser->deletePredicateVector($3); 216 216 } else 217 217 $$ = new Step($1, *$2); 218 PARSER->deleteNodeTest($2);219 PARSER->registerParseNode($$);218 parser->deleteNodeTest($2); 219 parser->registerParseNode($$); 220 220 } 221 221 | … … 224 224 String localName; 225 225 String namespaceURI; 226 if (! PARSER->expandQName(*$2, localName, namespaceURI)) {227 PARSER->m_gotNamespaceError = true;226 if (!parser->expandQName(*$2, localName, namespaceURI)) { 227 parser->m_gotNamespaceError = true; 228 228 YYABORT; 229 229 } … … 231 231 if ($3) { 232 232 $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3); 233 PARSER->deletePredicateVector($3);233 parser->deletePredicateVector($3); 234 234 } else 235 235 $$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI)); 236 PARSER->deleteString($2);237 PARSER->registerParseNode($$);236 parser->deleteString($2); 237 parser->registerParseNode($$); 238 238 } 239 239 | … … 260 260 $$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest); 261 261 262 PARSER->deleteString($1);263 PARSER->registerNodeTest($$);262 parser->deleteString($1); 263 parser->registerNodeTest($$); 264 264 } 265 265 | … … 267 267 { 268 268 $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest); 269 PARSER->deleteString($1);270 PARSER->registerNodeTest($$);269 parser->deleteString($1); 270 parser->registerNodeTest($$); 271 271 } 272 272 | … … 274 274 { 275 275 $$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace()); 276 PARSER->deleteString($1);277 PARSER->deleteString($3);278 PARSER->registerNodeTest($$);276 parser->deleteString($1); 277 parser->deleteString($3); 278 parser->registerNodeTest($$); 279 279 } 280 280 ; … … 294 294 $$ = new Vector<Predicate*>; 295 295 $$->append(new Predicate($1)); 296 PARSER->unregisterParseNode($1);297 PARSER->registerPredicateVector($$);296 parser->unregisterParseNode($1); 297 parser->registerPredicateVector($$); 298 298 } 299 299 | … … 301 301 { 302 302 $$->append(new Predicate($2)); 303 PARSER->unregisterParseNode($2);303 parser->unregisterParseNode($2); 304 304 } 305 305 ; … … 316 316 { 317 317 $$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); 318 PARSER->registerParseNode($$);318 parser->registerParseNode($$); 319 319 } 320 320 ; … … 324 324 { 325 325 $$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); 326 PARSER->registerParseNode($$);326 parser->registerParseNode($$); 327 327 } 328 328 | … … 330 330 { 331 331 $$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest)); 332 PARSER->registerParseNode($$);332 parser->registerParseNode($$); 333 333 } 334 334 ; … … 338 338 { 339 339 $$ = new VariableReference(*$1); 340 PARSER->deleteString($1);341 PARSER->registerParseNode($$);340 parser->deleteString($1); 341 parser->registerParseNode($$); 342 342 } 343 343 | … … 350 350 { 351 351 $$ = new StringExpression(*$1); 352 PARSER->deleteString($1);353 PARSER->registerParseNode($$);352 parser->deleteString($1); 353 parser->registerParseNode($$); 354 354 } 355 355 | … … 357 357 { 358 358 $$ = new Number($1->toDouble()); 359 PARSER->deleteString($1);360 PARSER->registerParseNode($$);359 parser->deleteString($1); 360 parser->registerParseNode($$); 361 361 } 362 362 | … … 370 370 if (!$$) 371 371 YYABORT; 372 PARSER->deleteString($1);373 PARSER->registerParseNode($$);372 parser->deleteString($1); 373 parser->registerParseNode($$); 374 374 } 375 375 | … … 379 379 if (!$$) 380 380 YYABORT; 381 PARSER->deleteString($1);382 PARSER->deleteExpressionVector($3);383 PARSER->registerParseNode($$);381 parser->deleteString($1); 382 parser->deleteExpressionVector($3); 383 parser->registerParseNode($$); 384 384 } 385 385 ; … … 390 390 $$ = new Vector<Expression*>; 391 391 $$->append($1); 392 PARSER->unregisterParseNode($1);393 PARSER->registerExpressionVector($$);392 parser->unregisterParseNode($1); 393 parser->registerExpressionVector($$); 394 394 } 395 395 | … … 397 397 { 398 398 $$->append($3); 399 PARSER->unregisterParseNode($3);399 parser->unregisterParseNode($3); 400 400 } 401 401 ; … … 413 413 $$->addSubExpression($1); 414 414 $$->addSubExpression($3); 415 PARSER->unregisterParseNode($1);416 PARSER->unregisterParseNode($3);417 PARSER->registerParseNode($$);415 parser->unregisterParseNode($1); 416 parser->unregisterParseNode($3); 417 parser->registerParseNode($$); 418 418 } 419 419 ; … … 431 431 $3->setAbsolute(true); 432 432 $$ = new Path(static_cast<Filter*>($1), $3); 433 PARSER->unregisterParseNode($1);434 PARSER->unregisterParseNode($3);435 PARSER->registerParseNode($$);433 parser->unregisterParseNode($1); 434 parser->unregisterParseNode($3); 435 parser->registerParseNode($$); 436 436 } 437 437 | … … 441 441 $3->setAbsolute(true); 442 442 $$ = new Path(static_cast<Filter*>($1), $3); 443 PARSER->unregisterParseNode($1);444 PARSER->unregisterParseNode($2);445 PARSER->unregisterParseNode($3);446 PARSER->registerParseNode($$);443 parser->unregisterParseNode($1); 444 parser->unregisterParseNode($2); 445 parser->unregisterParseNode($3); 446 parser->registerParseNode($$); 447 447 } 448 448 ; … … 454 454 { 455 455 $$ = new Filter($1, *$2); 456 PARSER->unregisterParseNode($1);457 PARSER->deletePredicateVector($2);458 PARSER->registerParseNode($$);456 parser->unregisterParseNode($1); 457 parser->deletePredicateVector($2); 458 parser->registerParseNode($$); 459 459 } 460 460 ; … … 466 466 { 467 467 $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3); 468 PARSER->unregisterParseNode($1);469 PARSER->unregisterParseNode($3);470 PARSER->registerParseNode($$);468 parser->unregisterParseNode($1); 469 parser->unregisterParseNode($3); 470 parser->registerParseNode($$); 471 471 } 472 472 ; … … 478 478 { 479 479 $$ = new LogicalOp(LogicalOp::OP_And, $1, $3); 480 PARSER->unregisterParseNode($1);481 PARSER->unregisterParseNode($3);482 PARSER->registerParseNode($$);480 parser->unregisterParseNode($1); 481 parser->unregisterParseNode($3); 482 parser->registerParseNode($$); 483 483 } 484 484 ; … … 490 490 { 491 491 $$ = new EqTestOp($2, $1, $3); 492 PARSER->unregisterParseNode($1);493 PARSER->unregisterParseNode($3);494 PARSER->registerParseNode($$);492 parser->unregisterParseNode($1); 493 parser->unregisterParseNode($3); 494 parser->registerParseNode($$); 495 495 } 496 496 ; … … 502 502 { 503 503 $$ = new EqTestOp($2, $1, $3); 504 PARSER->unregisterParseNode($1);505 PARSER->unregisterParseNode($3);506 PARSER->registerParseNode($$);504 parser->unregisterParseNode($1); 505 parser->unregisterParseNode($3); 506 parser->registerParseNode($$); 507 507 } 508 508 ; … … 514 514 { 515 515 $$ = new NumericOp(NumericOp::OP_Add, $1, $3); 516 PARSER->unregisterParseNode($1);517 PARSER->unregisterParseNode($3);518 PARSER->registerParseNode($$);516 parser->unregisterParseNode($1); 517 parser->unregisterParseNode($3); 518 parser->registerParseNode($$); 519 519 } 520 520 | … … 522 522 { 523 523 $$ = new NumericOp(NumericOp::OP_Sub, $1, $3); 524 PARSER->unregisterParseNode($1);525 PARSER->unregisterParseNode($3);526 PARSER->registerParseNode($$);524 parser->unregisterParseNode($1); 525 parser->unregisterParseNode($3); 526 parser->registerParseNode($$); 527 527 } 528 528 ; … … 534 534 { 535 535 $$ = new NumericOp($2, $1, $3); 536 PARSER->unregisterParseNode($1);537 PARSER->unregisterParseNode($3);538 PARSER->registerParseNode($$);536 parser->unregisterParseNode($1); 537 parser->unregisterParseNode($3); 538 parser->registerParseNode($$); 539 539 } 540 540 ; … … 547 547 $$ = new Negative; 548 548 $$->addSubExpression($2); 549 PARSER->unregisterParseNode($2);550 PARSER->registerParseNode($$);549 parser->unregisterParseNode($2); 550 parser->registerParseNode($$); 551 551 } 552 552 ; -
trunk/Source/WebCore/xml/XPathParser.cpp
r97771 r124099 33 33 #include "XPathException.h" 34 34 #include "XPathNSResolver.h" 35 #include "XPathPath.h" 35 36 #include "XPathStep.h" 36 37 #include <wtf/StdLibExtras.h> 37 38 #include <wtf/text/StringHash.h> 38 39 39 int xpathyyparse(void*); 40 40 using namespace WebCore; 41 41 using namespace WTF; 42 42 using namespace Unicode; 43 44 namespace WebCore { 45 namespace XPath { 46 47 class LocationPath; 48 49 #include "XPathGrammar.h" 43 using namespace XPath; 44 45 extern int xpathyyparse(WebCore::XPath::Parser*); 46 #include "XPathGrammar.h" 50 47 51 48 Parser* Parser::currentParser = 0; 52 49 53 50 enum XMLCat { NameStart, NameCont, NotPartOfName }; 54 51 … … 631 628 } 632 629 633 }634 }
Note: See TracChangeset
for help on using the changeset viewer.