Browse Source

* mangled names (generated for global symbols) start with an '@' for llvm

git-svn-id: branches/hlcgllvm@26031 -
Jonas Maebe 11 years ago
parent
commit
6426180438
1 changed files with 4 additions and 0 deletions
  1. 4 0
      compiler/symdef.pas

+ 4 - 0
compiler/symdef.pas

@@ -1254,6 +1254,10 @@ implementation
         { add an underscore on darwin.                                              }
         { add an underscore on darwin.                                              }
         if (target_info.system in systems_darwin) then
         if (target_info.system in systems_darwin) then
           result := '_' + result;
           result := '_' + result;
+{$ifdef llvm}
+        { in LLVM, all non-procedure local symbols have to start with an '@' }
+        result:='@'+result;
+{$endif llvm}
       end;
       end;
 
 
     function make_dllmangledname(const dllname,importname:TSymStr;import_nr : word; pco : tproccalloption):TSymStr;
     function make_dllmangledname(const dllname,importname:TSymStr;import_nr : word; pco : tproccalloption):TSymStr;