{"action":"created","issue":{"url":"https://api.github.com/repos/bloomberg/bde/issues/243","repository_url":"https://api.github.com/repos/bloomberg/bde","labels_url":"https://api.github.com/repos/bloomberg/bde/issues/243/labels{/name}","comments_url":"https://api.github.com/repos/bloomberg/bde/issues/243/comments","events_url":"https://api.github.com/repos/bloomberg/bde/issues/243/events","html_url":"https://github.com/bloomberg/bde/issues/243","id":300072455,"number":243,"title":"Build will fail in Linux ARM architectures, Narrowing error at bdlde_base64decoder.cpp","user":{"login":"hydexon","id":3113186,"avatar_url":"https://avatars1.githubusercontent.com/u/3113186?v=4","gravatar_id":"","url":"https://api.github.com/users/hydexon","html_url":"https://github.com/hydexon","followers_url":"https://api.github.com/users/hydexon/followers","following_url":"https://api.github.com/users/hydexon/following{/other_user}","gists_url":"https://api.github.com/users/hydexon/gists{/gist_id}","starred_url":"https://api.github.com/users/hydexon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hydexon/subscriptions","organizations_url":"https://api.github.com/users/hydexon/orgs","repos_url":"https://api.github.com/users/hydexon/repos","events_url":"https://api.github.com/users/hydexon/events{/privacy}","received_events_url":"https://api.github.com/users/hydexon/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2018-02-25T23:26:21Z","updated_at":"2018-02-26T12:42:16Z","closed_at":null,"author_association":"NONE","body":"Building BDE in a Raspberry Pi 3 Model B, using DietPi with GCC 6.5.0, ARM7hf, will fail since C/C++ datatype `char` is an implementation defined datatype, and in ARM architecture, they are unsigned chars by default.\r\n\r\nThe error stats here, at line 78 of bdlde_base64decoder.cpp\r\n\r\n```cpp\r\nstatic const char decoding[256] = {\r\n    //  0   1   2   3   4   5   6   7   8   9   A   B   C   D   E   F\r\n    // --  --  --  --  --  --  --  --  --  --  --  --  --  --  --  --\r\n       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  // 00\r\n       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  // 10\r\n       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 62, -1, -1, -1, 63,  // 20\r\n       52, 53, 54, 55, 56, 57, 58, 59, 60, 61, -1, -1, -1, -1, -1, -1,  // 30\r\n       -1,  0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14,  // 40\r\n       15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, -1, -1, -1, -1, -1,  // 50\r\n       -1, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,  // 60\r\n       41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, -1, -1, -1, -1, -1,  // 70\r\n       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  // 80\r\n       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  // 90\r\n       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  // A0\r\n       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  // B0\r\n       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  // C0\r\n       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  // D0\r\n       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  // E0\r\n       -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1,  // F0\r\n};\r\n```\r\n\r\nchanging to `signed char` instead of `char` may help, but also requires also changing the static class variable `s_decoding_p` from `const char *const bdlde::Base64Decoder::s_decoding_p = decoding;` to `const signed char *const bdlde::Base64Decoder::s_decoding_p = decoding;` \r\n\r\nAnother solution can be is swap from `char` to `int`"},"comment":{"url":"https://api.github.com/repos/bloomberg/bde/issues/comments/368487843","html_url":"https://github.com/bloomberg/bde/issues/243#issuecomment-368487843","issue_url":"https://api.github.com/repos/bloomberg/bde/issues/243","id":368487843,"user":{"login":"osubboo","id":12657036,"avatar_url":"https://avatars1.githubusercontent.com/u/12657036?v=4","gravatar_id":"","url":"https://api.github.com/users/osubboo","html_url":"https://github.com/osubboo","followers_url":"https://api.github.com/users/osubboo/followers","following_url":"https://api.github.com/users/osubboo/following{/other_user}","gists_url":"https://api.github.com/users/osubboo/gists{/gist_id}","starred_url":"https://api.github.com/users/osubboo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/osubboo/subscriptions","organizations_url":"https://api.github.com/users/osubboo/orgs","repos_url":"https://api.github.com/users/osubboo/repos","events_url":"https://api.github.com/users/osubboo/events{/privacy}","received_events_url":"https://api.github.com/users/osubboo/received_events","type":"User","site_admin":false},"created_at":"2018-02-26T12:42:16Z","updated_at":"2018-02-26T12:42:16Z","author_association":"CONTRIBUTOR","body":"ARM platform is not officially supported by the BDE. "}}
{"actor":{"display_login":"osubboo"}}