]> granicus.if.org Git - clang/commit
Don't use comdats for initializers on platforms that don't support it
authorReid Kleckner <reid@kleckner.net>
Tue, 23 Sep 2014 00:00:14 +0000 (00:00 +0000)
committerReid Kleckner <reid@kleckner.net>
Tue, 23 Sep 2014 00:00:14 +0000 (00:00 +0000)
commit1a209b667f83588866326a0384fa943ea2287b6c
treede66e8a3a9fa8a65cc1eeabb9a7a3d50786ec76d
parent938cd3af237da4a43f45c4b1d77c0b1d454eb1c0
Don't use comdats for initializers on platforms that don't support it

In particular, pre-.init_array ELF uses the .ctors section mechanism.
MinGW COFF also uses .ctors, now that I think about it. Therefore,
restrict this optimization to the two platforms that are currently known
to work: ELF with .init_array and COFF with .CRT$XCU.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@218287 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/CGDeclCXX.cpp
lib/CodeGen/CodeGenModule.h
lib/CodeGen/ItaniumCXXABI.cpp
lib/CodeGen/TargetInfo.cpp
test/CodeGenCXX/static-data-member.cpp
test/CodeGenCXX/static-member-variable-explicit-specialization.cpp