Changeset da602aec
- Timestamp:
- Aug 3, 2021, 10:47:58 AM (3 years ago)
- Branches:
- ADT, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- df5b2c8
- Parents:
- 42a02ce
- git-author:
- Henry Xue <y58xue@…> (08/03/21 10:43:53)
- git-committer:
- Henry Xue <y58xue@…> (08/03/21 10:47:58)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/ControlStruct/ExceptDecl.cc
r42a02ce rda602aec 10 10 // Created On : Tue Jul 20 04:10:50 2021 11 11 // Last Modified By : Henry Xue 12 // Last Modified On : Mon Jul 26 12:55:28202113 // Update Count : 312 // Last Modified On : Tue Aug 03 10:42:26 2021 13 // Update Count : 4 14 14 // 15 15 … … 278 278 cloneAll( forallClause, structDecl->parameters ); 279 279 return structDecl; 280 } 281 282 ObjectDecl * ehmTypeIdExtern( 283 const std::string & exceptionName, 284 const std::list< Expression *> & parameters 285 ) { 286 StructInstType * typeIdType = new StructInstType( 287 Type::Const, 288 Virtual::typeIdType( exceptionName ) 289 ); 290 cloneAll( parameters, typeIdType->parameters ); 291 return new ObjectDecl( 292 Virtual::typeIdName( exceptionName ), 293 Type::Extern, 294 LinkageSpec::Cforall, 295 nullptr, 296 typeIdType, 297 nullptr, 298 { new Attribute( "cfa_linkonce" ) } 299 ); 280 300 } 281 301 … … 421 441 422 442 if ( objectDecl->get_storageClasses().is_extern ) { // if extern 443 if ( !parameters.empty() ) { // forall variant 444 declsToAddBefore.push_back( ehmTypeIdExtern( exceptionName, parameters ) ); 445 } 423 446 return ehmExternVtable( exceptionName, parameters, tableName ); 424 447 }
Note: See TracChangeset
for help on using the changeset viewer.