Changeset 6668a3e
- Timestamp:
- Feb 11, 2022, 12:17:39 PM (3 years ago)
- Branches:
- ADT, ast-experimental, enum, master, pthread-emulation, qualifiedEnum
- Children:
- 08e4e6a
- Parents:
- 1f7dc61
- Location:
- src
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Concurrency/Waitfor.cc
r1f7dc61 r6668a3e 373 373 new ListInit( 374 374 map_range < std::list<Initializer*> > ( clause.target.arguments, [this](Expression * expr ){ 375 Expression * init = new CastExpr( 376 new UntypedExpr( 377 new NameExpr( "get_monitor" ), 378 { expr } 379 ), 380 new PointerType( 381 noQualifiers, 382 new StructInstType( 383 noQualifiers, 384 decl_monitor 385 ) 386 ), 387 false 388 ); 389 390 ResolvExpr::findSingleExpression( init, indexer ); 391 return new SingleInit( init ); 375 return new SingleInit( expr ); 392 376 }) 393 377 ) -
src/ResolvExpr/Resolver.cc
r1f7dc61 r6668a3e 1112 1112 } 1113 1113 1114 1114 1115 1115 } // anonymous namespace 1116 1116 /// Establish post-resolver invariants for expressions … … 1158 1158 1159 1159 namespace { 1160 1160 1161 1161 1162 1162 /// resolve `untyped` to the expression whose candidate satisfies `pred` with the … … 1905 1905 1906 1906 clause2.target.args.reserve( clause.target.args.size() ); 1907 const ast::StructDecl * decl_monitor = symtab.lookupStruct( "monitor$" ); 1907 1908 for ( auto arg : argsCandidates.front() ) { 1908 clause2.target.args.emplace_back( std::move( arg->expr ) ); 1909 const auto & loc = stmt->location; 1910 1911 ast::Expr * init = new ast::CastExpr( loc, 1912 new ast::UntypedExpr( loc, 1913 new ast::NameExpr( loc, "get_monitor" ), 1914 { arg->expr } 1915 ), 1916 new ast::PointerType( 1917 new ast::StructInstType( 1918 decl_monitor 1919 ) 1920 ) 1921 ); 1922 1923 clause2.target.args.emplace_back( findSingleExpression( init, symtab ) ); 1909 1924 } 1910 1925 … … 2077 2092 if (auto functionDecl = decl.as<ast::FunctionDecl>()) { 2078 2093 // xxx - can intrinsic gen ever fail? 2079 if (functionDecl->linkage == ast::Linkage::AutoGen) { 2094 if (functionDecl->linkage == ast::Linkage::AutoGen) { 2080 2095 auto mutDecl = mutate(functionDecl); 2081 2096 mutDecl->isDeleted = true;
Note: See TracChangeset
for help on using the changeset viewer.