[PATCH] Start adding support for dllimport/dllexport on classes (PR11170)

Hans Wennborg hans at chromium.org
Thu May 22 10:03:40 PDT 2014


Hi rnk, nrieck,

This implements the central part of support for dllimport/dllexport on classes: allowing the attribute on class declarations, inheriting it to class members, and forcing emission of exported members. It's based on Nico Rieck's patch from http://reviews.llvm.org/D1099.

This patch doesn't propagate dllexport to bases that are template specializations, which is an interesting problem. It also doesn't look at the rules when redeclaring classes with different attributes, I'd like to do that separately.

This patch depends on my patch in http://reviews.llvm.org/D3809. Please take a look!

http://reviews.llvm.org/D3877

Files:
  include/clang/Basic/Attr.td
  lib/CodeGen/CGCXX.cpp
  lib/CodeGen/CGVTables.cpp
  lib/CodeGen/CodeGenModule.cpp
  lib/CodeGen/MicrosoftCXXABI.cpp
  lib/Sema/SemaDeclAttr.cpp
  lib/Sema/SemaDeclCXX.cpp
  test/CodeGenCXX/dllexport.cpp
  test/CodeGenCXX/dllimport.cpp
  test/SemaCXX/dllexport.cpp
  test/SemaCXX/dllimport.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D3877.9706.patch
Type: text/x-patch
Size: 19191 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140522/f98018a0/attachment.bin>


More information about the cfe-commits mailing list