> On May 2, 2017, at 10:07 AM, John McCall <rjmcc...@apple.com> wrote:
> 
>> 
>> On May 2, 2017, at 12:57 PM, Joe Groff <jgr...@apple.com> wrote:
>> 
>> 
>>> On May 2, 2017, at 9:36 AM, John McCall <rjmcc...@apple.com> wrote:
>>> 
>>>> On May 2, 2017, at 12:02 PM, Joe Groff via swift-dev <swift-dev@swift.org> 
>>>> wrote:
>>>> After updating clang recently, I'm seeing these warnings:
>>>> 
>>>> /Users/jgroff/src/s/swift/stdlib/public/stubs/GlobalObjects.cpp:40:39: 
>>>> warning: declaration requires a global constructor [-Wglobal-constructors]
>>>> swift::_SwiftEmptyArrayStorage swift::_swiftEmptyArrayStorage = {
>>>>                                   ^                         ~
>>>> /Users/jgroff/src/s/swift/stdlib/public/stubs/GlobalObjects.cpp:55:44: 
>>>> warning: declaration requires a global constructor [-Wglobal-constructors]
>>>> swift::_SwiftEmptyDictionaryStorage swift::_swiftEmptyDictionaryStorage = {
>>>>                                        ^                              ~
>>>> /Users/jgroff/src/s/swift/stdlib/public/stubs/GlobalObjects.cpp:83:37: 
>>>> warning: declaration requires a global constructor [-Wglobal-constructors]
>>>> swift::_SwiftEmptySetStorage swift::_swiftEmptySetStorage = {
>>>>                                 ^                       ~
>>>> 
>>>> Looking at the definitions of those objects, it isn't clear to me why they 
>>>> would require global constructors. The types are POD, and their 
>>>> initializers only contain pointers to other globals, which ought to be 
>>>> resolvable by the linker. I also didn't see any recent change to the 
>>>> runtime that seems like it would trigger a change here. Is this a clang 
>>>> bug?
>>> 
>>> Can you tell from the object file whether a global constructor is needed?
>> 
>> There is a global constructor, but it appears to be for another definition 
>> in the same file (and which legitimately needs the global ctor).
> 
> Okay.  If -Wglobal-constructors has regressed, that's a pretty serious bug 
> that we should fix.

OK, I'll see if I can reproduce it and submit a Clang bug.

-Joe
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to