{"action":"created","issue":{"url":"https://api.github.com/repos/doxygen/doxygen/issues/6519","repository_url":"https://api.github.com/repos/doxygen/doxygen","labels_url":"https://api.github.com/repos/doxygen/doxygen/issues/6519/labels{/name}","comments_url":"https://api.github.com/repos/doxygen/doxygen/issues/6519/comments","events_url":"https://api.github.com/repos/doxygen/doxygen/issues/6519/events","html_url":"https://github.com/doxygen/doxygen/issues/6519","id":360770734,"node_id":"MDU6SXNzdWUzNjA3NzA3MzQ=","number":6519,"title":"C++11 features used in Doxygen","user":{"login":"lrineau","id":5746675,"node_id":"MDQ6VXNlcjU3NDY2NzU=","avatar_url":"https://avatars1.githubusercontent.com/u/5746675?v=4","gravatar_id":"","url":"https://api.github.com/users/lrineau","html_url":"https://github.com/lrineau","followers_url":"https://api.github.com/users/lrineau/followers","following_url":"https://api.github.com/users/lrineau/following{/other_user}","gists_url":"https://api.github.com/users/lrineau/gists{/gist_id}","starred_url":"https://api.github.com/users/lrineau/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lrineau/subscriptions","organizations_url":"https://api.github.com/users/lrineau/orgs","repos_url":"https://api.github.com/users/lrineau/repos","events_url":"https://api.github.com/users/lrineau/events{/privacy}","received_events_url":"https://api.github.com/users/lrineau/received_events","type":"User","site_admin":false},"labels":[{"id":40263207,"node_id":"MDU6TGFiZWw0MDI2MzIwNw==","url":"https://api.github.com/repos/doxygen/doxygen/labels/bug","name":"bug","color":"fc2929","default":true},{"id":981838535,"node_id":"MDU6TGFiZWw5ODE4Mzg1MzU=","url":"https://api.github.com/repos/doxygen/doxygen/labels/fixed%20but%20not%20released","name":"fixed but not released","color":"b74bd8","default":false},{"id":981841511,"node_id":"MDU6TGFiZWw5ODE4NDE1MTE=","url":"https://api.github.com/repos/doxygen/doxygen/labels/install/build","name":"install/build","color":"00a093","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":5,"created_at":"2018-09-17T08:41:38Z","updated_at":"2018-09-25T09:17:42Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"The CGAL project builds doxygen `master` branch every night, to do a regression test against previous versions. From \r\n```\r\nIn file included from (...)/doxygen_master/src/doxygen.cpp:65:0:\r\n(...)/doxygen_master/src/docbookgen.h:353:25: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]\r\n     bool m_prettyCode = FALSE;\r\n                         ^\r\n(...)/doxygen_master/src/docbookgen.h:354:24: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]\r\n     bool m_denseText = FALSE;\r\n                        ^\r\n(...)/doxygen_master/src/docbookgen.h:355:22: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]\r\n     bool m_inGroup = FALSE;\r\n                      ^\r\n(...)/doxygen_master/src/docbookgen.h:356:23: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]\r\n     bool m_inDetail = FALSE;\r\n                       ^\r\n(...)/doxygen_master/src/docbookgen.h:357:28: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]\r\n     int  m_levelListItem = 0;\r\n                            ^\r\n(...)/doxygen_master/src/docbookgen.h:360:24: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]\r\n     bool m_descTable = FALSE;\r\n                        ^\r\n(...)/doxygen_master/src/docbookgen.h:361:22: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]\r\n     int m_inLevel = -1;\r\n                      ^\r\n(...)/doxygen_master/src/docbookgen.h:362:26: warning: non-static data member initializers only available with -std=c++11 or -std=gnu++11 [enabled by default]\r\n     bool m_firstMember = FALSE;\r\n                          ^\r\n```\r\nSince #6487 has been merged, there are warnings about use of C++11 features, unconditionally. Is that a new requirement of Doxygen, that the compiler has to support C++11? The installation documentation of Doxygen does not say anything about the compiler, but that change is a regression. In C++ before 11, the non-static member variables must initialized in the constructor.\r\n\r\n@doxygen Do you want to document that C++11 is required, or shall I prepare a pull-request to revert to C++03?\r\n"},"comment":{"url":"https://api.github.com/repos/doxygen/doxygen/issues/comments/424267423","html_url":"https://github.com/doxygen/doxygen/issues/6519#issuecomment-424267423","issue_url":"https://api.github.com/repos/doxygen/doxygen/issues/6519","id":424267423,"node_id":"MDEyOklzc3VlQ29tbWVudDQyNDI2NzQyMw==","user":{"login":"t-b","id":1185677,"node_id":"MDQ6VXNlcjExODU2Nzc=","avatar_url":"https://avatars3.githubusercontent.com/u/1185677?v=4","gravatar_id":"","url":"https://api.github.com/users/t-b","html_url":"https://github.com/t-b","followers_url":"https://api.github.com/users/t-b/followers","following_url":"https://api.github.com/users/t-b/following{/other_user}","gists_url":"https://api.github.com/users/t-b/gists{/gist_id}","starred_url":"https://api.github.com/users/t-b/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/t-b/subscriptions","organizations_url":"https://api.github.com/users/t-b/orgs","repos_url":"https://api.github.com/users/t-b/repos","events_url":"https://api.github.com/users/t-b/events{/privacy}","received_events_url":"https://api.github.com/users/t-b/received_events","type":"User","site_admin":false},"created_at":"2018-09-25T09:17:42Z","updated_at":"2018-09-25T09:17:42Z","author_association":"CONTRIBUTOR","body":"I totally understand why doxygen initially used C++98. But nowadays this is not state-of-the-art anymore. Grepping through the code I find:\r\n\r\n```\r\n$ grep -P \"new|delete\" *.cpp | wc -l\r\n2322\r\n```\r\n\r\nAnd most of these can be removed in favour of smart pointers, thus making memory leaks much less probable.\r\n\r\nAnd move constructors would fix a lot of hacky performance enhancements (pass-by-non-const-ref for speed only) and create much nicer code.\r\n\r\nDon't get me wrong. I use doxygen on all of my projects (also for unsupported languages with filters) and it definitly is the standard solution. But the codebase is pretty dusty (and wildwest wrt to formatting) thus at least stopping me twice of getting something fixed."}}
{"actor":{"display_login":"t-b"}}