Changeset 0aaac0e for src/Concurrency/Waitfor.cc
- Timestamp:
- Oct 12, 2017, 3:15:32 PM (7 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- b6b3c42, fb31cb8
- Parents:
- 3364962 (diff), b10c621c (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Concurrency/Waitfor.cc
r3364962 r0aaac0e 190 190 191 191 Statement * makeAccStatement( DeclarationWithType * object, unsigned long index, const std::string & member, Expression * value, const SymTab::Indexer & indexer ) { 192 std::unique_ptr< Expression > expr(makeOpAssign(192 Expression * expr = makeOpAssign( 193 193 makeOpMember( 194 194 makeOpIndex( … … 199 199 ), 200 200 value 201 ) ); 202 203 return new ExprStmt( noLabels, ResolvExpr::findVoidExpression( expr.get(), indexer ) ); 201 ); 202 203 ResolvExpr::findVoidExpression( expr, indexer ); 204 205 return new ExprStmt( noLabels, expr ); 204 206 } 205 207 … … 313 315 stmt->push_back( new DeclStmt( noLabels, acceptables) ); 314 316 315 UntypedExpr* set = new UntypedExpr(317 Expression * set = new UntypedExpr( 316 318 new NameExpr( "__builtin_memset" ), 317 319 { … … 322 324 ); 323 325 324 Expression * resolved_set = ResolvExpr::findVoidExpression( set, indexer ); 325 delete set; 326 327 stmt->push_back( new ExprStmt( noLabels, resolved_set ) ); 326 ResolvExpr::findVoidExpression( set, indexer ); 327 328 stmt->push_back( new ExprStmt( noLabels, set ) ); 328 329 329 330 return acceptables; … … 346 347 347 348 Statement * GenerateWaitForPass::makeSetter( ObjectDecl * flag ) { 348 Expression * untyped= new UntypedExpr(349 Expression * expr = new UntypedExpr( 349 350 new NameExpr( "?=?" ), 350 351 { … … 354 355 ); 355 356 356 Expression * expr = ResolvExpr::findVoidExpression( untyped, indexer ); 357 delete untyped; 357 ResolvExpr::findVoidExpression( expr, indexer ); 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 * untyped= new CastExpr(381 Expression * init = new CastExpr( 382 382 new UntypedExpr( 383 383 new NameExpr( "get_monitor" ), … … 393 393 ); 394 394 395 Expression * init = ResolvExpr::findSingleExpression( untyped, indexer ); 396 delete untyped; 395 ResolvExpr::findSingleExpression( init, indexer ); 397 396 return new SingleInit( init ); 398 397 })
Note: See TracChangeset
for help on using the changeset viewer.