diff options
author | steve <steve@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2016-05-30 16:57:13 +0000 |
---|---|---|
committer | steve <steve@3ad0048d-3df7-0310-abae-a5850022a9f2> | 2016-05-30 16:57:13 +0000 |
commit | 6b082ee8b43e52fe18c5799f8f4c82a8c7519f5b (patch) | |
tree | f906b179f5b20f4be91a286f8f5a01fc4fac51e2 /compiler/llvm/agllvm.pas | |
parent | 554d71b9e544a9776797dcca9983060fd998fd0b (diff) | |
parent | ba5f910eaac131cb7d3553c9bef173a81c422a1c (diff) | |
download | fpc-interfacertti.tar.gz |
auto-merge: trunk -> InterfaceRTTIinterfacertti
git-svn-id: http://svn.freepascal.org/svn/fpc/branches/interfacertti@33858 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'compiler/llvm/agllvm.pas')
-rw-r--r-- | compiler/llvm/agllvm.pas | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/compiler/llvm/agllvm.pas b/compiler/llvm/agllvm.pas index 8921708e9b..f0c7a1a19d 100644 --- a/compiler/llvm/agllvm.pas +++ b/compiler/llvm/agllvm.pas @@ -731,13 +731,15 @@ implementation procedure WriteLinkageVibilityFlags(bind: TAsmSymBind); begin case bind of - AB_EXTERNAL: + AB_EXTERNAL, + AB_EXTERNAL_INDIRECT: writer.AsmWrite(' external'); AB_COMMON: writer.AsmWrite(' common'); AB_LOCAL: writer.AsmWrite(' internal'); - AB_GLOBAL: + AB_GLOBAL, + AB_INDIRECT: writer.AsmWrite(''); AB_WEAK_EXTERNAL: writer.AsmWrite(' extern_weak'); @@ -1047,18 +1049,7 @@ implementation begin writer.AsmWrite(LlvmAsmSymName(taillvmalias(hp).newsym)); writer.AsmWrite(' = alias '); - if taillvmalias(hp).linkage<>lll_default then - begin - str(taillvmalias(hp).linkage, s); - writer.AsmWrite(copy(s, length('lll_')+1, 255)); - writer.AsmWrite(' '); - end; - if taillvmalias(hp).vis<>llv_default then - begin - str(taillvmalias(hp).vis, s); - writer.AsmWrite(copy(s, length('llv_')+1, 255)); - writer.AsmWrite(' '); - end; + WriteLinkageVibilityFlags(taillvmalias(hp).bind); if taillvmalias(hp).def.typ=procdef then writer.AsmWrite(llvmencodeproctype(tabstractprocdef(taillvmalias(hp).def), '', lpd_alias)) else |