CodeGen: static constexpr data members should have a linkonce_odr init
authorDavid Majnemer <david.majnemer@gmail.com>
Thu, 19 Feb 2015 19:25:17 +0000 (19:25 +0000)
committerDavid Majnemer <david.majnemer@gmail.com>
Thu, 19 Feb 2015 19:25:17 +0000 (19:25 +0000)
commitc9a9c7a67344fc50c80cfc2cd78f4b1666a7483f
treed0b2e2ff6fd6e298eca104991e58c8f7495d5585
parent57ac766ee995d717dc032ba35c9100bc7aa77652
CodeGen: static constexpr data members should have a linkonce_odr init

Classes can be defined in multiple translation units.  This means that
the static constexpr data members should have identical initializers in
all translation units.  Implement this by giving the reference temporary
linkonce_odr linkage.

llvm-svn: 229900
clang/lib/CodeGen/CodeGenModule.cpp
clang/test/CodeGenCXX/const-init-cxx11.cpp
clang/test/CodeGenCXX/const-init-cxx1y.cpp
clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-pr12086.cpp
clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist-startend.cpp
clang/test/CodeGenCXX/cxx0x-initializer-stdinitializerlist.cpp
clang/test/CodeGenCXX/temporaries.cpp