On Wed, May 20, 2015 at 4:57 AM, Alexey Bataev <[email protected]> wrote:
> Author: abataev
> Date: Wed May 20 06:57:02 2015
> New Revision: 237787
>
> URL: http://llvm.org/viewvc/llvm-project?rev=237787&view=rev
> Log:
> [MSVC] Handle out-of-line definition of static data member correctly (fix for 
> http://llvm.org/PR21164), by Alexey Frolov
>
> There are 3 cases of defining static const member:
>
> initialized inside the class, not defined outside the class.
> initialized inside the class, defined outside the class.
> not initialized inside the class, defined outside the class.

Chromium always has another case :-) See [0].

It seems [1] is both initialized inside the class and defined outside
the class, but with __declspec(selectany) to appease MSVC as suggested
by [2]. When compiled with clang-cl, we now get a multiple definition
error during linking. We can fix the code in Chromium of course, but
maybe others will run into the same problem?

 [0]. 
http://build.chromium.org/p/chromium.fyi/builders/CrWinClang%28dbg%29/builds/441/steps/compile/logs/stdio
 [1] 
https://code.google.com/p/chromium/codesearch#chromium/src/v8/src/ic/ic-state.cc&l=44
 [2] https://msdn.microsoft.com/en-us/library/34h23df8(v=vs.100).aspx
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to