]> granicus.if.org Git - clang/commit
MS compatibility: always emit dllexported in-class initialized static data members...
authorHans Wennborg <hans@hanshq.net>
Thu, 17 Jul 2014 20:25:23 +0000 (20:25 +0000)
committerHans Wennborg <hans@hanshq.net>
Thu, 17 Jul 2014 20:25:23 +0000 (20:25 +0000)
commit49582c4cc0768286a5f797b48c6b85973a04b035
tree8cbb31a2cb3e29885251a6c1e9e4262cfc537ac4
parent0d120a47c7d35cc3ae9a2e375f6f3171ab0e4b96
MS compatibility: always emit dllexported in-class initialized static data members (PR20140)

This makes us emit dllexported in-class initialized static data members (which
are treated as definitions in MSVC), even when they're not referenced.

It also makes their special linkage reflected in the GVA linkage instead of
getting massaged in CodeGen.

Differential Revision: http://reviews.llvm.org/D4563

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@213304 91177308-0d34-0410-b5e6-96231b3b80d8
include/clang/AST/ASTContext.h
lib/AST/ASTContext.cpp
lib/CodeGen/CGCXXABI.h
lib/CodeGen/CodeGenModule.cpp
lib/CodeGen/MicrosoftCXXABI.cpp
lib/CodeGen/ModuleBuilder.cpp
test/CodeGenCXX/dllexport-members.cpp
test/CodeGenCXX/dllimport-members.cpp
test/CodeGenCXX/ms-integer-static-data-members-exported.cpp [new file with mode: 0644]
test/CodeGenCXX/ms-integer-static-data-members.cpp