summaryrefslogtreecommitdiff
path: root/compiler/llvm/agllvm.pas
diff options
context:
space:
mode:
authorsteve <steve@3ad0048d-3df7-0310-abae-a5850022a9f2>2016-05-30 16:57:13 +0000
committersteve <steve@3ad0048d-3df7-0310-abae-a5850022a9f2>2016-05-30 16:57:13 +0000
commit6b082ee8b43e52fe18c5799f8f4c82a8c7519f5b (patch)
treef906b179f5b20f4be91a286f8f5a01fc4fac51e2 /compiler/llvm/agllvm.pas
parent554d71b9e544a9776797dcca9983060fd998fd0b (diff)
parentba5f910eaac131cb7d3553c9bef173a81c422a1c (diff)
downloadfpc-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.pas19
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