aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorNico Rieck <nico.rieck@gmail.com>2014-01-14 15:22:47 +0000
committerNico Rieck <nico.rieck@gmail.com>2014-01-14 15:22:47 +0000
commit7157bb765e487eeb6468525759850f3a10e2f38f (patch)
tree1d14e874c93c676d5d3d760b231622faddabab35 /clang/lib/CodeGen/CodeGenModule.cpp
parent767fc967b40d85b8ade82ecc1887f130d283dfcb (diff)
downloadllvm-7157bb765e487eeb6468525759850f3a10e2f38f.zip
llvm-7157bb765e487eeb6468525759850f3a10e2f38f.tar.gz
llvm-7157bb765e487eeb6468525759850f3a10e2f38f.tar.bz2
Decouple dllexport/dllimport from linkage
Representing dllexport/dllimport as distinct linkage types prevents using these attributes on templates and inline functions. Instead of introducing further mixed linkage types to include linkonce and weak ODR, the old import/export linkage types are replaced with a new separate visibility-like specifier: define available_externally dllimport void @f() {} @Var = dllexport global i32 1, align 4 Linkage for dllexported globals and functions is now equal to their linkage without dllexport. Imported globals and functions must be either declarations with external linkage, or definitions with AvailableExternallyLinkage. llvm-svn: 199218
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions