Changeset 3322180
- Timestamp:
- Jun 24, 2022, 12:12:26 PM (18 months ago)
- Branches:
- ADT, ast-experimental, master, pthread-emulation, qualifiedEnum
- Children:
- 5a076837
- Parents:
- d28524a
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
src/GenPoly/Box.cc
rd28524a r3322180 1277 1277 FunctionType * ftype = functionDecl->type; 1278 1278 if ( ! ftype->returnVals.empty() && functionDecl->statements ) { 1279 if ( ! isPrefix( functionDecl->name, "_thunk" ) && ! isPrefix( functionDecl->name, "_adapter" ) ) { // xxx - remove check for prefix once thunks properly use ctor/dtors 1279 // intrinsic functions won't be using the _retval so no need to generate it. 1280 if ( functionDecl->linkage != LinkageSpec::Intrinsic && !isPrefix( functionDecl->name, "_thunk" ) && ! isPrefix( functionDecl->name, "_adapter" ) ) { // xxx - remove check for prefix once thunks properly use ctor/dtors 1280 1281 assert( ftype->returnVals.size() == 1 ); 1281 1282 DeclarationWithType * retval = ftype->returnVals.front(); -
src/Validate/Autogen.cpp
rd28524a r3322180 183 183 { 184 184 // TODO: These functions are somewhere between instrinsic and autogen, 185 // could possibly use a new linkage type. For now we just make them 186 // intrinsic to code-gen them as C assignments. 187 proto_linkage = ast::Linkage::Intrinsic; 185 // could possibly use a new linkage type. For now we just make the 186 // basic ones intrinsic to code-gen them as C assignments. 187 const auto & real_type = decl->base; 188 const auto & basic = real_type.as<ast::BasicType>(); 189 if(!real_type || (basic && basic->isInteger())) proto_linkage = ast::Linkage::Intrinsic; 188 190 } 189 191 … … 402 404 auto retval = srcParam(); 403 405 retval->name = "_ret"; 404 // xxx - Adding this unused attribute can slience unused variable warning405 // However, some code might not be compiled as expected406 // Temporarily disabled407 // retval->attributes.push_back(new ast::Attribute("unused"));408 406 return genProto( "?=?", { dstParam(), srcParam() }, { retval } ); 409 407 } -
tests/.expect/attributes.nast.arm64.txt
rd28524a r3322180 1334 1334 } 1335 1335 inline enum __anonymous4 _X16_operator_assignFM12__anonymous4_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){ 1336 enum __anonymous4 _X4_retM12__anonymous4_2;1337 1336 { 1338 1337 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2)); -
tests/.expect/attributes.nast.x64.txt
rd28524a r3322180 1334 1334 } 1335 1335 inline enum __anonymous4 _X16_operator_assignFM12__anonymous4_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){ 1336 enum __anonymous4 _X4_retM12__anonymous4_2;1337 1336 { 1338 1337 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2)); -
tests/.expect/attributes.nast.x86.txt
rd28524a r3322180 1334 1334 } 1335 1335 inline enum __anonymous4 _X16_operator_assignFM12__anonymous4_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){ 1336 enum __anonymous4 _X4_retM12__anonymous4_2;1337 1336 { 1338 1337 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2)); -
tests/.expect/attributes.oast.x64.txt
rd28524a r3322180 1334 1334 } 1335 1335 inline enum __anonymous4 _X16_operator_assignFM12__anonymous4_M12__anonymous4M12__anonymous4_intrinsic___2(enum __anonymous4 *_X4_dstM12__anonymous4_2, enum __anonymous4 _X4_srcM12__anonymous4_2){ 1336 enum __anonymous4 _X4_retM12__anonymous4_2;1337 1336 { 1338 1337 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2));
Note: See TracChangeset
for help on using the changeset viewer.