{"action":"created","issue":{"url":"https://api.github.com/repos/apple/swift/issues/14320","repository_url":"https://api.github.com/repos/apple/swift","labels_url":"https://api.github.com/repos/apple/swift/issues/14320/labels{/name}","comments_url":"https://api.github.com/repos/apple/swift/issues/14320/comments","events_url":"https://api.github.com/repos/apple/swift/issues/14320/events","html_url":"https://github.com/apple/swift/pull/14320","id":293390899,"number":14320,"title":"SIL: use `unsigned` for the member for `bool`","user":{"login":"compnerd","id":63311,"avatar_url":"https://avatars3.githubusercontent.com/u/63311?v=4","gravatar_id":"","url":"https://api.github.com/users/compnerd","html_url":"https://github.com/compnerd","followers_url":"https://api.github.com/users/compnerd/followers","following_url":"https://api.github.com/users/compnerd/following{/other_user}","gists_url":"https://api.github.com/users/compnerd/gists{/gist_id}","starred_url":"https://api.github.com/users/compnerd/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/compnerd/subscriptions","organizations_url":"https://api.github.com/users/compnerd/orgs","repos_url":"https://api.github.com/users/compnerd/repos","events_url":"https://api.github.com/users/compnerd/events{/privacy}","received_events_url":"https://api.github.com/users/compnerd/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-02-01T03:23:40Z","updated_at":"2018-02-01T22:17:25Z","closed_at":"2018-02-01T04:52:57Z","author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/apple/swift/pulls/14320","html_url":"https://github.com/apple/swift/pull/14320","diff_url":"https://github.com/apple/swift/pull/14320.diff","patch_url":"https://github.com/apple/swift/pull/14320.patch"},"body":"Use `unsigned` instead of `bool` for the member to make all members of\r\nthe structure the same.  This fixes the behaviour of the structure on\r\nWindows.  The difference in the type caused the bitfields to be pushed\r\nto the natural alignment of int resulting in the structure being padded\r\nto 12-bytes instead of being packed into 4.  Using `#pragma pack` also\r\ndid not make a difference here as the structure remained padded to\r\n12-bytes.\r\n\r\n<!-- What's in this pull request? -->\r\nReplace this paragraph with a description of your changes and rationale. Provide links to external references/discussions if appropriate.\r\n\r\n<!-- If this pull request resolves any bugs in the Swift bug tracker, provide a link: -->\r\nResolves [SR-NNNN](https://bugs.swift.org/browse/SR-NNNN).\r\n\r\n<!--\r\nBefore merging this pull request, you must run the Swift continuous integration tests.\r\nFor information about triggering CI builds via @swift-ci, see:\r\nhttps://github.com/apple/swift/blob/master/docs/ContinuousIntegration.md#swift-ci\r\n\r\nThank you for your contribution to Swift!\r\n-->\r\n"},"comment":{"url":"https://api.github.com/repos/apple/swift/issues/comments/362420830","html_url":"https://github.com/apple/swift/pull/14320#issuecomment-362420830","issue_url":"https://api.github.com/repos/apple/swift/issues/14320","id":362420830,"user":{"login":"jckarter","id":147281,"avatar_url":"https://avatars0.githubusercontent.com/u/147281?v=4","gravatar_id":"","url":"https://api.github.com/users/jckarter","html_url":"https://github.com/jckarter","followers_url":"https://api.github.com/users/jckarter/followers","following_url":"https://api.github.com/users/jckarter/following{/other_user}","gists_url":"https://api.github.com/users/jckarter/gists{/gist_id}","starred_url":"https://api.github.com/users/jckarter/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jckarter/subscriptions","organizations_url":"https://api.github.com/users/jckarter/orgs","repos_url":"https://api.github.com/users/jckarter/repos","events_url":"https://api.github.com/users/jckarter/events{/privacy}","received_events_url":"https://api.github.com/users/jckarter/received_events","type":"User","site_admin":false},"created_at":"2018-02-01T22:17:25Z","updated_at":"2018-02-01T22:17:25Z","author_association":"MEMBER","body":"MSVC's ABI groups bitfields separately for \"signed\" and \"unsigned\" types, and for whatever reason they decided to treat \"bool\" as signed. The x86-64 C ABI used by Darwin and Linux doesn't split up bitfields."}}
{"actor":{"display_login":"jckarter"}}