Changes in / [6e21aaf:8446c18]
- Files:
-
- 2 deleted
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
libcfa/src/heap.cfa
r6e21aaf r8446c18 509 509 checkHeader( header < (Heap.Storage.Header *)heapBegin || (Heap.Storage.Header *)heapEnd < header, name, addr ); // bad address ? (offset could be + or -) 510 510 511 Heap * homeManager; 511 512 if ( unlikely( freeHead == 0p || // freed and only free-list node => null link 512 513 // freed and link points at another free block not to a bucket in the bucket array. -
src/AST/module.mk
r6e21aaf r8446c18 37 37 AST/Init.cpp \ 38 38 AST/Init.hpp \ 39 AST/Inspect.cpp \40 AST/Inspect.hpp \41 39 AST/Label.hpp \ 42 40 AST/LinkageSpec.cpp \ -
src/CodeGen/CodeGenerator.cc
r6e21aaf r8446c18 294 294 } else { 295 295 if ( obj->get_init() ) { 296 obj->get_init()->accept( *visitor ); 296 obj->get_init()->accept( *visitor ); 297 297 } else { 298 298 // Should not reach here! … … 683 683 extension( variableExpr ); 684 684 const OperatorInfo * opInfo; 685 if( dynamic_cast<ZeroType*>( variableExpr->get_var()->get_type() ) ) { 686 output << "0"; 687 } else if ( variableExpr->get_var()->get_linkage() == LinkageSpec::Intrinsic && (opInfo = operatorLookup( variableExpr->get_var()->get_name() )) && opInfo->type == OT_CONSTANT ) { 685 if ( variableExpr->get_var()->get_linkage() == LinkageSpec::Intrinsic && (opInfo = operatorLookup( variableExpr->get_var()->get_name() )) && opInfo->type == OT_CONSTANT ) { 688 686 output << opInfo->symbol; 689 687 } else { 690 // if (dynamic_cast<EnumInstType *>(variableExpr->get_var()->get_type()) 688 // if (dynamic_cast<EnumInstType *>(variableExpr->get_var()->get_type()) 691 689 // && dynamic_cast<EnumInstType *>(variableExpr->get_var()->get_type())->baseEnum->base) { 692 690 // output << '(' <<genType(dynamic_cast<EnumInstType *>(variableExpr->get_var()->get_type())->baseEnum->base, "", options) << ')'; -
src/GenPoly/Box.cc
r6e21aaf r8446c18 1277 1277 FunctionType * ftype = functionDecl->type; 1278 1278 if ( ! ftype->returnVals.empty() && functionDecl->statements ) { 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 1279 if ( ! isPrefix( functionDecl->name, "_thunk" ) && ! isPrefix( functionDecl->name, "_adapter" ) ) { // xxx - remove check for prefix once thunks properly use ctor/dtors 1281 1280 assert( ftype->returnVals.size() == 1 ); 1282 1281 DeclarationWithType * retval = ftype->returnVals.front(); -
src/Validate/Autogen.cpp
r6e21aaf r8446c18 28 28 #include "AST/DeclReplacer.hpp" 29 29 #include "AST/Expr.hpp" 30 #include "AST/Inspect.hpp"31 30 #include "AST/Pass.hpp" 32 31 #include "AST/Stmt.hpp" … … 122 121 123 122 // Built-ins do not use autogeneration. 124 bool shouldAutogen() const final { return !decl->linkage.is_builtin && !structHasFlexibleArray(decl); }123 bool shouldAutogen() const final { return !decl->linkage.is_builtin; } 125 124 private: 126 125 void genFuncBody( ast::FunctionDecl * decl ) final; … … 184 183 { 185 184 // TODO: These functions are somewhere between instrinsic and autogen, 186 // could possibly use a new linkage type. For now we just make the 187 // basic ones intrinsic to code-gen them as C assignments. 188 const auto & real_type = decl->base; 189 const auto & basic = real_type.as<ast::BasicType>(); 190 if(!real_type || (basic && basic->isInteger())) proto_linkage = ast::Linkage::Intrinsic; 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; 191 188 } 192 189 … … 405 402 auto retval = srcParam(); 406 403 retval->name = "_ret"; 404 // xxx - Adding this unused attribute can slience unused variable warning 405 // However, some code might not be compiled as expected 406 // Temporarily disabled 407 // retval->attributes.push_back(new ast::Attribute("unused")); 407 408 return genProto( "?=?", { dstParam(), srcParam() }, { retval } ); 408 409 } -
tests/.expect/attributes.nast.arm64.txt
r6e21aaf r8446c18 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; 1336 1337 { 1337 1338 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2)); -
tests/.expect/attributes.nast.x64.txt
r6e21aaf r8446c18 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; 1336 1337 { 1337 1338 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2)); -
tests/.expect/attributes.nast.x86.txt
r6e21aaf r8446c18 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; 1336 1337 { 1337 1338 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2)); -
tests/.expect/attributes.oast.x64.txt
r6e21aaf r8446c18 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; 1336 1337 { 1337 1338 ((void)((*_X4_dstM12__anonymous4_2)=_X4_srcM12__anonymous4_2));
Note: See TracChangeset
for help on using the changeset viewer.