{"action":"closed","issue":{"url":"https://api.github.com/repos/taocpp/PEGTL/issues/101","repository_url":"https://api.github.com/repos/taocpp/PEGTL","labels_url":"https://api.github.com/repos/taocpp/PEGTL/issues/101/labels{/name}","comments_url":"https://api.github.com/repos/taocpp/PEGTL/issues/101/comments","events_url":"https://api.github.com/repos/taocpp/PEGTL/issues/101/events","html_url":"https://github.com/taocpp/PEGTL/issues/101","id":311807930,"number":101,"title":"Clang-cl (on Windows) 5.0.1 64-bit bug","user":{"login":"joelfrederico","id":458871,"avatar_url":"https://avatars0.githubusercontent.com/u/458871?v=4","gravatar_id":"","url":"https://api.github.com/users/joelfrederico","html_url":"https://github.com/joelfrederico","followers_url":"https://api.github.com/users/joelfrederico/followers","following_url":"https://api.github.com/users/joelfrederico/following{/other_user}","gists_url":"https://api.github.com/users/joelfrederico/gists{/gist_id}","starred_url":"https://api.github.com/users/joelfrederico/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joelfrederico/subscriptions","organizations_url":"https://api.github.com/users/joelfrederico/orgs","repos_url":"https://api.github.com/users/joelfrederico/repos","events_url":"https://api.github.com/users/joelfrederico/events{/privacy}","received_events_url":"https://api.github.com/users/joelfrederico/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":2,"created_at":"2018-04-05T23:58:58Z","updated_at":"2018-04-07T06:41:35Z","closed_at":"2018-04-07T06:41:35Z","author_association":"CONTRIBUTOR","body":"https://github.com/taocpp/PEGTL/blob/75eb3407b9cdd42936a498cc91d00402337a4a48/include/tao/pegtl/internal/peek_char.hpp#L25\r\n\r\nhttps://github.com/taocpp/PEGTL/blob/75eb3407b9cdd42936a498cc91d00402337a4a48/include/tao/pegtl/contrib/parse_tree.hpp#L301\r\n\r\nClang-cl has an issue with these two lines. It gets confused and somehow thinks that the code is calling the constructor for the class it's in (`peek_char` and `remove_content`) and not the method of the variable `in` or `n`, respectively.\r\n\r\nI don't know how you'd like to handle this (if at all). I'd appreciate it if the bug were fixed, but that is up to you of course. You could fix it in a few ways:\r\n\r\n- Don't try to mark these functions `noexcept`.\r\n- Rename the function or the class so that they're different (so clang-cl doesn't get confused).\r\n- `#ifdef`s to not try to use `noexcept` for this compiler.\r\n\r\nFYI, I've created a minimal test case that reproduces the bug, which I will submit to LLVM once they've given me an account. If you're interested, it's attached.\r\n\r\n[main.cpp.txt](https://github.com/taocpp/PEGTL/files/1882215/main.cpp.txt)"}}
{"actor":{"display_login":"d-frey"}}