{"action":"created","issue":{"url":"https://api.github.com/repos/D-Programming-Language/dmd/issues/5284","labels_url":"https://api.github.com/repos/D-Programming-Language/dmd/issues/5284/labels{/name}","comments_url":"https://api.github.com/repos/D-Programming-Language/dmd/issues/5284/comments","events_url":"https://api.github.com/repos/D-Programming-Language/dmd/issues/5284/events","html_url":"https://github.com/D-Programming-Language/dmd/pull/5284","id":119229132,"number":5284,"title":"Add a stack variable's align() to the AST","user":{"login":"JohanEngelen","id":10983051,"avatar_url":"https://avatars.githubusercontent.com/u/10983051?v=3","gravatar_id":"","url":"https://api.github.com/users/JohanEngelen","html_url":"https://github.com/JohanEngelen","followers_url":"https://api.github.com/users/JohanEngelen/followers","following_url":"https://api.github.com/users/JohanEngelen/following{/other_user}","gists_url":"https://api.github.com/users/JohanEngelen/gists{/gist_id}","starred_url":"https://api.github.com/users/JohanEngelen/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohanEngelen/subscriptions","organizations_url":"https://api.github.com/users/JohanEngelen/orgs","repos_url":"https://api.github.com/users/JohanEngelen/repos","events_url":"https://api.github.com/users/JohanEngelen/events{/privacy}","received_events_url":"https://api.github.com/users/JohanEngelen/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2015-11-27T17:35:33Z","updated_at":"2015-11-29T08:50:53Z","closed_at":"2015-11-28T17:03:45Z","pull_request":{"url":"https://api.github.com/repos/D-Programming-Language/dmd/pulls/5284","html_url":"https://github.com/D-Programming-Language/dmd/pull/5284","diff_url":"https://github.com/D-Programming-Language/dmd/pull/5284.diff","patch_url":"https://github.com/D-Programming-Language/dmd/pull/5284.patch"},"body":"This PR is to support code such as:\r\n```D\r\nvoid f() {\r\n\talign(16) int a; // <---- this alignment is now stored in the AST\r\n}\r\n```\r\nThe align(16) is parsed at line 3961, however it is never applied to the Dsymbol for stack variables (line 4022 and onwards). It is simply ignored, but it should be stored in the AST for the backend to use (DMD backend does not use it yet).\r\nI am not at all familiar with the parser code, thanks for the kind review.\r\n\r\nThe bug was found in LDC's C-version of DMD, see https://github.com/ldc-developers/ldc/pull/1214. With the changes of this PR, LDC is able to apply `align()` to stack variables correctly."},"comment":{"url":"https://api.github.com/repos/D-Programming-Language/dmd/issues/comments/160391900","html_url":"https://github.com/D-Programming-Language/dmd/pull/5284#issuecomment-160391900","issue_url":"https://api.github.com/repos/D-Programming-Language/dmd/issues/5284","id":160391900,"user":{"login":"ibuclaw","id":397929,"avatar_url":"https://avatars.githubusercontent.com/u/397929?v=3","gravatar_id":"","url":"https://api.github.com/users/ibuclaw","html_url":"https://github.com/ibuclaw","followers_url":"https://api.github.com/users/ibuclaw/followers","following_url":"https://api.github.com/users/ibuclaw/following{/other_user}","gists_url":"https://api.github.com/users/ibuclaw/gists{/gist_id}","starred_url":"https://api.github.com/users/ibuclaw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ibuclaw/subscriptions","organizations_url":"https://api.github.com/users/ibuclaw/orgs","repos_url":"https://api.github.com/users/ibuclaw/repos","events_url":"https://api.github.com/users/ibuclaw/events{/privacy}","received_events_url":"https://api.github.com/users/ibuclaw/received_events","type":"User","site_admin":false},"created_at":"2015-11-29T08:50:53Z","updated_at":"2015-11-29T08:50:53Z","body":"> Now it only adds alignment to the parse tree for\r\n\r\nNo compilable testcase?"}}