Mercurial > projects > ldc
comparison dmd/attrib.c @ 723:55f6c2e454d7
Implemented correct parameter order according to x86-32 ABI documentation.
Changed AA types to just a void* .
author | Tomas Lindquist Olsen <tomas.l.olsen@gmail.com> |
---|---|
date | Sat, 25 Oct 2008 06:03:28 +0200 |
parents | b654bb98d31d |
children | 041c1596d217 |
comparison
equal
deleted
inserted
replaced
722:bd56056a581f | 723:55f6c2e454d7 |
---|---|
414 case LINKd: p = "D"; break; | 414 case LINKd: p = "D"; break; |
415 case LINKc: p = "C"; break; | 415 case LINKc: p = "C"; break; |
416 case LINKcpp: p = "C++"; break; | 416 case LINKcpp: p = "C++"; break; |
417 case LINKwindows: p = "Windows"; break; | 417 case LINKwindows: p = "Windows"; break; |
418 case LINKpascal: p = "Pascal"; break; | 418 case LINKpascal: p = "Pascal"; break; |
419 | |
420 // LDC | |
421 case LINKintrinsic: p = "Intrinsic"; break; | |
422 | |
419 default: | 423 default: |
420 assert(0); | 424 assert(0); |
421 break; | 425 break; |
422 } | 426 } |
423 buf->writestring("extern ("); | 427 buf->writestring("extern ("); |
1001 case LLVMintrinsic: | 1005 case LLVMintrinsic: |
1002 if (FuncDeclaration* fd = s->isFuncDeclaration()) | 1006 if (FuncDeclaration* fd = s->isFuncDeclaration()) |
1003 { | 1007 { |
1004 fd->llvmInternal = llvm_internal; | 1008 fd->llvmInternal = llvm_internal; |
1005 fd->intrinsicName = arg1str; | 1009 fd->intrinsicName = arg1str; |
1010 fd->linkage = LINKintrinsic; | |
1011 ((TypeFunction*)fd->type)->linkage = LINKintrinsic; | |
1006 } | 1012 } |
1007 else if (TemplateDeclaration* td = s->isTemplateDeclaration()) | 1013 else if (TemplateDeclaration* td = s->isTemplateDeclaration()) |
1008 { | 1014 { |
1009 td->llvmInternal = llvm_internal; | 1015 td->llvmInternal = llvm_internal; |
1010 td->intrinsicName = arg1str; | 1016 td->intrinsicName = arg1str; |