Changes in src/Concurrency/Waitfor.cc [08da53d:d67cdb7]
- File:
-
- 1 edited
-
src/Concurrency/Waitfor.cc (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Concurrency/Waitfor.cc
r08da53d rd67cdb7 190 190 191 191 Statement * makeAccStatement( DeclarationWithType * object, unsigned long index, const std::string & member, Expression * value, const SymTab::Indexer & indexer ) { 192 Expression * expr =makeOpAssign(192 std::unique_ptr< Expression > expr( makeOpAssign( 193 193 makeOpMember( 194 194 makeOpIndex( … … 199 199 ), 200 200 value 201 ); 202 203 ResolvExpr::findVoidExpression( expr, indexer ); 204 205 return new ExprStmt( noLabels, expr ); 201 ) ); 202 203 return new ExprStmt( noLabels, ResolvExpr::findVoidExpression( expr.get(), indexer ) ); 206 204 } 207 205 … … 315 313 stmt->push_back( new DeclStmt( noLabels, acceptables) ); 316 314 317 Expression* set = new UntypedExpr(315 UntypedExpr * set = new UntypedExpr( 318 316 new NameExpr( "__builtin_memset" ), 319 317 { … … 324 322 ); 325 323 326 ResolvExpr::findVoidExpression( set, indexer ); 327 328 stmt->push_back( new ExprStmt( noLabels, set ) ); 324 Expression * resolved_set = ResolvExpr::findVoidExpression( set, indexer ); 325 delete set; 326 327 stmt->push_back( new ExprStmt( noLabels, resolved_set ) ); 329 328 330 329 return acceptables; … … 347 346 348 347 Statement * GenerateWaitForPass::makeSetter( ObjectDecl * flag ) { 349 Expression * expr= new UntypedExpr(348 Expression * untyped = new UntypedExpr( 350 349 new NameExpr( "?=?" ), 351 350 { … … 355 354 ); 356 355 357 ResolvExpr::findVoidExpression( expr, indexer ); 356 Expression * expr = ResolvExpr::findVoidExpression( untyped, indexer ); 357 delete untyped; 358 358 359 359 return new ExprStmt( noLabels, expr ); … … 379 379 new ListInit( 380 380 map_range < std::list<Initializer*> > ( clause.target.arguments, [this](Expression * expr ){ 381 Expression * init= new CastExpr(381 Expression * untyped = new CastExpr( 382 382 new UntypedExpr( 383 383 new NameExpr( "get_monitor" ), … … 393 393 ); 394 394 395 ResolvExpr::findSingleExpression( init, indexer ); 395 Expression * init = ResolvExpr::findSingleExpression( untyped, indexer ); 396 delete untyped; 396 397 return new SingleInit( init ); 397 398 })
Note:
See TracChangeset
for help on using the changeset viewer.