[cfe-dev] Re-using 'dllexport' for non-Windows targets

Reid Kleckner via cfe-dev cfe-dev at lists.llvm.org
Tue May 31 09:28:38 PDT 2016


It should just work if you remove the Windows-only restriction in Attr.td:

def DLLExport : InheritableAttr, TargetSpecificAttr<TargetWindows> {
  let Spellings = [Declspec<"dllexport">, GCC<"dllexport">];
  let Subjects = SubjectList<[Function, Var, CXXRecord]>;
  let Documentation = [Undocumented];
}

def DLLImport : InheritableAttr, TargetSpecificAttr<TargetWindows> {
  let Spellings = [Declspec<"dllimport">, GCC<"dllimport">];
  let Subjects = SubjectList<[Function, Var, CXXRecord]>;
  let Documentation = [Undocumented];
}

I know Sony does this, so it can't require too much patching.

On Mon, May 30, 2016 at 6:38 AM, Martin J. O'Riordan via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> For our SHAVE target I have re-used ‘__attribute__((dllexport))’ to allow
> me to create indirect address tables for symbols with this annotation.
>
>
>
> However, with almost every release of LLVM and CLang my implementation is
> broken and I have to rework my implementation.  For the most part, the
> existing ‘dllexport’ attribute does everything I require and makes more
> sense for me to pass it through CLang/LLVM until it reaches our back-end
> where it emits the IAT support rather than adding my own new attribute.
>
>
>
> This got broken again with v3.8 and this time the controls are more strict
> on Windows supporting targets.  I thought that before I go in an make
> another set of changes to re-enable this with our target, that I would ask
> first if there anybody has any advice or recommendation for how to “borrow”
> this attribute for non-Windows targets?  The problem is principally CLang
> rather than LLVM, so I would like to find a good and future-proof way of
> adapting CLang to enable this attribute on my target.
>
>
>
> Thanks in advance,
>
>
>
>             MartinO
>
>
>
> Martin J. O’Riordan                Email:  Martin.ORiordan at movidius.com
>
> Compiler Development               Web:    www.movidius.com
>
> Movidius Ltd.                      Skype:  moviMartinO
>
> 1st Floor,  O’Connell Bridge House,  d’Olier Street,  Dublin 2, Ireland
>
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20160531/f7306449/attachment.html>


More information about the cfe-dev mailing list