fpc/compiler/llvm
Jonas Maebe cf2e46c2c1 * reworked external symbol handling on llvm to deal with the fact that
a single external symbol may be used with multiple declarations that
    have different types:
   o always declare an alias with the Pascal-mangled name that aliases the
     external symbol, with the type of that Pascal declaration
   o if the external symbol is not actually external but in the same unit,
     we will determine the type of that symbol via its declaration and
     insert type conversions in the alias declarations in case they use a
     different type
   o if it is external (so there is no declaration from which we can determine
     its real type) and there are nevertheless multiple aliases for it with
     different types, we just take the type of the first alias and insert
     type conversions for the other aliases. LLVM will take care of the
     conflicting types in multiple modules when performing WPO if necessary

git-svn-id: trunk@31054 -
2015-06-13 22:48:20 +00:00
..
aasmllvm.pas * once we've defined a symbol as an alias, it's declared to the same extent 2015-05-03 16:50:51 +00:00
agllvm.pas * support llvm aliases for defs other than procdef 2015-06-13 22:48:14 +00:00
cgllvm.pas
hlcgllvm.pas * reworked external symbol handling on llvm to deal with the fact that 2015-06-13 22:48:20 +00:00
itllvm.pas
llvmbase.pas
llvmdef.pas * generate the correct llvm type description for classrefdef 2015-05-31 16:51:04 +00:00
llvminfo.pas
llvmnode.pas * reworked external symbol handling on llvm to deal with the fact that 2015-06-13 22:48:20 +00:00
llvmpara.pas
llvmsym.pas
llvmtarg.pas
llvmtype.pas * reworked external symbol handling on llvm to deal with the fact that 2015-06-13 22:48:20 +00:00
nllvmadd.pas
nllvmcal.pas
nllvmcnv.pas * don't insert a typeconversion from pasbool to int in case the left 2015-05-03 16:51:10 +00:00
nllvmcon.pas
nllvminl.pas
nllvmld.pas
nllvmmat.pas
nllvmmem.pas * fixed subscripting classes in llvm 2015-05-31 16:51:07 +00:00
nllvmtcon.pas * cache and reuse procvardefs internally created to get the address of a 2015-05-14 15:36:20 +00:00
nllvmutil.pas * add type declarations for structure types in the llvm code so that we can 2015-04-19 21:37:46 +00:00
rgllvm.pas
symllvm.pas * reworked external symbol handling on llvm to deal with the fact that 2015-06-13 22:48:20 +00:00
tgllvm.pas