{"action":"created","issue":{"url":"https://api.github.com/repos/flang-compiler/f18/issues/205","repository_url":"https://api.github.com/repos/flang-compiler/f18","labels_url":"https://api.github.com/repos/flang-compiler/f18/issues/205/labels{/name}","comments_url":"https://api.github.com/repos/flang-compiler/f18/issues/205/comments","events_url":"https://api.github.com/repos/flang-compiler/f18/issues/205/events","html_url":"https://github.com/flang-compiler/f18/pull/205","id":368694802,"node_id":"MDExOlB1bGxSZXF1ZXN0MjIxODEyMjE1","number":205,"title":"Use fundamental types in overloadings of Unparse.","user":{"login":"tskeith","id":20650530,"node_id":"MDQ6VXNlcjIwNjUwNTMw","avatar_url":"https://avatars2.githubusercontent.com/u/20650530?v=4","gravatar_id":"","url":"https://api.github.com/users/tskeith","html_url":"https://github.com/tskeith","followers_url":"https://api.github.com/users/tskeith/followers","following_url":"https://api.github.com/users/tskeith/following{/other_user}","gists_url":"https://api.github.com/users/tskeith/gists{/gist_id}","starred_url":"https://api.github.com/users/tskeith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tskeith/subscriptions","organizations_url":"https://api.github.com/users/tskeith/orgs","repos_url":"https://api.github.com/users/tskeith/repos","events_url":"https://api.github.com/users/tskeith/events{/privacy}","received_events_url":"https://api.github.com/users/tskeith/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-10-10T14:29:36Z","updated_at":"2018-10-10T17:13:13Z","closed_at":null,"author_association":"COLLABORATOR","pull_request":{"url":"https://api.github.com/repos/flang-compiler/f18/pulls/205","html_url":"https://github.com/flang-compiler/f18/pull/205","diff_url":"https://github.com/flang-compiler/f18/pull/205.diff","patch_url":"https://github.com/flang-compiler/f18/pull/205.patch"},"body":"Different systems map std::size_t, string::size_type, etc. to different\r\nfundamental types. To ensure they are all covered, make the overloadings\r\nof Unparse for integer types use only fundamental types.\r\n\r\nThis fixes compilations problems on Darwin and *BSD systems."},"comment":{"url":"https://api.github.com/repos/flang-compiler/f18/issues/comments/428654826","html_url":"https://github.com/flang-compiler/f18/pull/205#issuecomment-428654826","issue_url":"https://api.github.com/repos/flang-compiler/f18/issues/205","id":428654826,"node_id":"MDEyOklzc3VlQ29tbWVudDQyODY1NDgyNg==","user":{"login":"pjh40","id":40867327,"node_id":"MDQ6VXNlcjQwODY3MzI3","avatar_url":"https://avatars2.githubusercontent.com/u/40867327?v=4","gravatar_id":"","url":"https://api.github.com/users/pjh40","html_url":"https://github.com/pjh40","followers_url":"https://api.github.com/users/pjh40/followers","following_url":"https://api.github.com/users/pjh40/following{/other_user}","gists_url":"https://api.github.com/users/pjh40/gists{/gist_id}","starred_url":"https://api.github.com/users/pjh40/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pjh40/subscriptions","organizations_url":"https://api.github.com/users/pjh40/orgs","repos_url":"https://api.github.com/users/pjh40/repos","events_url":"https://api.github.com/users/pjh40/events{/privacy}","received_events_url":"https://api.github.com/users/pjh40/received_events","type":"User","site_admin":false},"created_at":"2018-10-10T17:13:13Z","updated_at":"2018-10-10T17:13:13Z","author_association":"NONE","body":"This worked for me on Darwin + gcc-8.2.0 (MacPorts build).  Unable to test with LLVM due to issue #202.\r\n\r\nNote that there is a similar problem with `size_t` being passed to the ctor of class `Integer` (in lib/evaluate/integer.h), although it could be potentially more dangerous because of the bit-twiddling going on there.  `Integer(size_t)` is needed in two places that I'm aware of:\r\n\r\n* expression.cc, line 482\r\n* variable.cc, line 123\r\n\r\nIt may make sense to refactor the `Integer` constructors:\r\n\r\n1)  Make local functions that can decode `uint32_t`, `int32_t`, `uint64_t` and `int64_t` (or maybe, just the last two)\r\n2) Make a simple ctor for each POD (as was done in Unparse) that converts to one of these `<cstdint>` types  and calls the appropriate decoder.\r\n"}}
{"actor":{"display_login":"pjh40"}}