- Timestamp:
- May 13, 2021, 5:49:44 PM (4 years ago)
- Branches:
- ADT, arm-eh, ast-experimental, enum, forall-pointer-decay, jacob/cs343-translation, master, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 7fca832
- Parents:
- e2f601f
- Location:
- src
- Files:
-
- 2 added
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
src/CodeGen/module.mk
re2f601f raff7e86 25 25 CodeGen/GenType.cc \ 26 26 CodeGen/GenType.h \ 27 CodeGen/LinkOnce.cc \ 28 CodeGen/LinkOnce.h \ 27 29 CodeGen/OperatorTable.cc \ 28 30 CodeGen/OperatorTable.h \ -
src/InitTweak/InitTweak.cc
re2f601f raff7e86 1216 1216 1217 1217 void addDataSectonAttribute( ObjectDecl * objDecl ) { 1218 Type *strLitT = new PointerType( Type::Qualifiers( ), 1219 new BasicType( Type::Qualifiers( ), BasicType::Char ) ); 1220 std::list< Expression * > attr_params; 1221 attr_params.push_back( 1222 new ConstantExpr( Constant( strLitT, "\".data#\"", std::nullopt ) ) ); 1223 objDecl->attributes.push_back(new Attribute("section", attr_params)); 1218 objDecl->attributes.push_back(new Attribute("section", { 1219 new ConstantExpr( Constant::from_string(".data#") ), 1220 })); 1224 1221 } 1225 1222 1226 1223 void addDataSectionAttribute( ast::ObjectDecl * objDecl ) { 1227 auto strLitT = new ast::PointerType(new ast::BasicType(ast::BasicType::Char)); 1228 objDecl->attributes.push_back(new ast::Attribute("section", {new ast::ConstantExpr(objDecl->location, strLitT, "\".data#\"", std::nullopt)})); 1224 objDecl->attributes.push_back(new ast::Attribute("section", { 1225 ast::ConstantExpr::from_string(objDecl->location, ".data#"), 1226 })); 1229 1227 } 1230 1228 -
src/Virtual/Tables.cc
re2f601f raff7e86 172 172 } 173 173 174 Attribute * linkonce( const std::string & subsection ) {175 const std::string section = ".gnu.linkonce." + subsection;176 return new Attribute( "section", {177 new ConstantExpr( Constant::from_string( section ) ),178 } );179 }180 181 174 ObjectDecl * makeTypeIdInstance( StructInstType const * typeIdType ) { 182 175 assert( typeIdType ); … … 193 186 new AddressExpr( new NameExpr( "__cfatid_exception_t" ) ) 194 187 ) } ), 195 { linkonce( typeid_name) },188 { new Attribute( "cfa_linkonce", {} ) }, 196 189 noFuncSpecifiers 197 190 ); -
src/main.cc
re2f601f raff7e86 37 37 #include "CodeGen/FixNames.h" // for fixNames 38 38 #include "CodeGen/Generate.h" // for generate 39 #include "CodeGen/LinkOnce.h" // for translateLinkOnce 39 40 #include "CodeTools/DeclStats.h" // for printDeclStats 40 41 #include "CodeTools/ResolvProtoDump.h" // for dumpAsResolvProto … … 405 406 PASS( "Box", GenPoly::box( translationUnit ) ); 406 407 408 PASS( "Link-Once", CodeGen::translateLinkOnce( translationUnit ) ); 409 410 // Code has been lowered to C, now we can start generation. 411 407 412 if ( bcodegenp ) { 408 413 dump( translationUnit );
Note: See TracChangeset
for help on using the changeset viewer.