Explorar o código

llvm: correctly write aliases when using opaque pointers

Jonas Maebe %!s(int64=3) %!d(string=hai) anos
pai
achega
815b17a43b
Modificáronse 1 ficheiros con 9 adicións e 2 borrados
  1. 9 2
      compiler/llvm/agllvm.pas

+ 9 - 2
compiler/llvm/agllvm.pas

@@ -1492,8 +1492,15 @@ implementation
                 sstr:=llvmencodetypename(taillvmalias(hp).def);
               writer.AsmWrite(sstr);
               writer.AsmWrite(', ');
-              writer.AsmWrite(sstr);
-              writer.AsmWrite('* ');
+              if not(llvmflag_opaque_ptr in llvmversion_properties[current_settings.llvmversion]) then
+                begin
+                  writer.AsmWrite(sstr);
+                  writer.AsmWrite('* ');
+                end
+              else
+                begin
+                  writer.AsmWrite('ptr ');
+                end;
               writer.AsmWriteln(LlvmAsmSymName(taillvmalias(hp).oldsym));
             end;
           ait_llvmmetadatanode: