{"action":"created","issue":{"url":"https://api.github.com/repos/bitcoin/bitcoin/issues/6211","labels_url":"https://api.github.com/repos/bitcoin/bitcoin/issues/6211/labels{/name}","comments_url":"https://api.github.com/repos/bitcoin/bitcoin/issues/6211/comments","events_url":"https://api.github.com/repos/bitcoin/bitcoin/issues/6211/events","html_url":"https://github.com/bitcoin/bitcoin/issues/6211","id":83439451,"number":6211,"title":"RFC: switching to C++ 11","user":{"login":"laanwj","id":126646,"avatar_url":"https://avatars.githubusercontent.com/u/126646?v=3","gravatar_id":"","url":"https://api.github.com/users/laanwj","html_url":"https://github.com/laanwj","followers_url":"https://api.github.com/users/laanwj/followers","following_url":"https://api.github.com/users/laanwj/following{/other_user}","gists_url":"https://api.github.com/users/laanwj/gists{/gist_id}","starred_url":"https://api.github.com/users/laanwj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laanwj/subscriptions","organizations_url":"https://api.github.com/users/laanwj/orgs","repos_url":"https://api.github.com/users/laanwj/repos","events_url":"https://api.github.com/users/laanwj/events{/privacy}","received_events_url":"https://api.github.com/users/laanwj/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/bitcoin/bitcoin/labels/Build%20system","name":"Build system","color":"5319e7"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":29,"created_at":"2015-06-01T11:04:27Z","updated_at":"2015-11-30T06:17:54Z","closed_at":null,"body":"Now that 0.11 has been branched off it may be a good time to resume discussion about switching to C++11.\r\n\r\nWhen would be a good time? 0.12 (planned the end of this year)? or 0.13 (halfway 2016)?\r\n\r\nIn my view, the only drawback of switching to C++11 is that the source will no longer be compilable on older Linux distributions, as well as on embedded toolchains with outdated gccs. E.g. the gcc in Ubuntu 12.04 is 4.6, which does not support the full set of C++11 [though it can be done with some trickery](http://charette.no-ip.com:81/programming/2011-12-24_GCCv47/).\r\n\r\nThe compiled executables in releases will still work on the same platforms, since the build has been switched to static libstdc++ since #5819.\r\n\r\n(see also: compile with C++11 standard and update to modern constructs #4025)\r\n"},"comment":{"url":"https://api.github.com/repos/bitcoin/bitcoin/issues/comments/160529385","html_url":"https://github.com/bitcoin/bitcoin/issues/6211#issuecomment-160529385","issue_url":"https://api.github.com/repos/bitcoin/bitcoin/issues/6211","id":160529385,"user":{"login":"jeaye","id":1057635,"avatar_url":"https://avatars.githubusercontent.com/u/1057635?v=3","gravatar_id":"","url":"https://api.github.com/users/jeaye","html_url":"https://github.com/jeaye","followers_url":"https://api.github.com/users/jeaye/followers","following_url":"https://api.github.com/users/jeaye/following{/other_user}","gists_url":"https://api.github.com/users/jeaye/gists{/gist_id}","starred_url":"https://api.github.com/users/jeaye/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jeaye/subscriptions","organizations_url":"https://api.github.com/users/jeaye/orgs","repos_url":"https://api.github.com/users/jeaye/repos","events_url":"https://api.github.com/users/jeaye/events{/privacy}","received_events_url":"https://api.github.com/users/jeaye/received_events","type":"User","site_admin":false},"created_at":"2015-11-30T06:17:54Z","updated_at":"2015-11-30T06:17:54Z","body":"@luke-jr Following what @dcousens said, simply _speculating_ that there may be issues shouldn't prevent us from trying this out. There is absolutely the possibility, depending on bitcoin's dependencies (with which I'm unfamiliar), that bitcoin relies on a C++ library, which is statically linked, that doesn't provide a C++11 build. However, that very well may not be the case; I can't speak for every platform on this one.\r\n\r\nOS X, for example, allows boost with C++11 through homebrew with a simple additional flag during install. Further investigation would be needed on various platforms (admittedly, most of my systems are rather bleeding edge, so, again, I can't speak for others).\r\n\r\n*If* we end up with some dependencies which need manual recompilation on older distros, like Ubuntu 12, we can consider packaging them along with bitcoin and building them separately. It's common to do this with boost (I know of multiple projects which do this)."}}