Changeset 02c80cdc for src/Validate/ImplementEnumFunc.cpp
- Timestamp:
- Apr 19, 2024, 11:30:55 AM (6 months ago)
- Branches:
- master
- Children:
- 358e1152, 4e08a54
- Parents:
- d4264e8 (diff), 19313be5 (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/Validate/ImplementEnumFunc.cpp
rd4264e8 r02c80cdc 156 156 const ast::ObjectDecl* dstParam, 157 157 const ast::ObjectDecl* srcParam) { 158 // const CodeLocation& location = func->location;159 // auto& params = func->params;160 // assert(2 == params.size());161 // auto dstParam = params.front().strict_as<ast::ObjectDecl>();162 // auto srcParam = params.back().strict_as<ast::ObjectDecl>();163 158 return new ast::CompoundStmt( 164 159 location, … … 301 296 {new ast::ObjectDecl(getLocation(), "_i", new ast::EnumInstType(decl))}, 302 297 {new ast::ObjectDecl(getLocation(), "_ret", 303 new ast::EnumAttrType(new ast::EnumInstType(decl), 304 ast::EnumAttribute::Posn))}); 298 new ast::BasicType(ast::BasicKind::UnsignedInt))}); 305 299 } 306 300 … … 311 305 {new ast::ObjectDecl( 312 306 getLocation(), "_ret", 313 new ast::PointerType(new ast::BasicType{ast::Basic Type::Char}))});307 new ast::PointerType(new ast::BasicType{ast::BasicKind::Char}))}); 314 308 } 315 309 … … 364 358 attr == ast::EnumAttribute::Value 365 359 ? decl->base 366 : new ast::PointerType(new ast::BasicType{ast::Basic Type::Char}),360 : new ast::PointerType(new ast::BasicType{ast::BasicKind::Char}), 367 361 ast::ConstantExpr::from_int(decl->location, decl->members.size()), 368 362 ast::LengthFlag::FixedLen, ast::DimensionFlag::DynamicDim); … … 440 434 441 435 auto addOneExpr = ast::UntypedExpr::createCall( location, 442 "?+?",436 succ? "?+?": "?-?", 443 437 {new ast::VariableExpr(location, param), 444 438 ast::ConstantExpr::from_int(location, 1)}
Note: See TracChangeset
for help on using the changeset viewer.