View Issue Details [ Jump to Notes ] | [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
0015311 | CMake | CMake | public | 2014-12-16 14:46 | 2015-06-01 08:38 | ||||
Reporter | Paweł Stankowski | ||||||||
Assigned To | Stephen Kelly | ||||||||
Priority | high | Severity | text | Reproducibility | always | ||||
Status | closed | Resolution | fixed | ||||||
Platform | OS | OS Version | |||||||
Product Version | |||||||||
Target Version | CMake 3.1.1 | Fixed in Version | CMake 3.1.1 | ||||||
Summary | 0015311: CMAKE_CXX_KNOWN_FEATURES variable documentation should be corrected | ||||||||
Description | CMake 3.1 documentation available at www.cmake.org contains reference to obsolete documentation of override control features. According to http://msdn.microsoft.com/en-us/library/hh567368.aspx [^] final version of override control in C++11 is based on changes from N3206 and N3272 documents. It means that defining [[hiding]],[[override]] and other attributes and hiding control are not part of C++11 Standard. Current CMake documentation: cxx_final Override control final keyword, as defined in N2928. cxx_override Override control override keyword, as defined in N2928. Even CMake unit tests Tests/CompileFeatures/cxx_{final,override}.cpp check only for 'override' keyword support, and not for attributes support from N2928. There is a bug in GCC site, which potencially could be a reason for this one. The GCC 4.7 changes page https://gcc.gnu.org/gcc-4.7/changes.html [^] contains an example of usage for 'override' keyword (and not attribute), but the 'Status of Experimental C++11 Support in GCC 4.7' page https://gcc.gnu.org/gcc-4.7/cxx0x_status.html [^] lists only proposal N2928 as the one being implemented. This bug was fixed in the general C++0x/C++11 Support in GCC page https://gcc.gnu.org/projects/cxx0x.html [^] Btw: Support for C++11 attribute syntax was added in g++ 4.8 https://gcc.gnu.org/gcc-4.8/changes.html [^] | ||||||||
Tags | No tags attached. | ||||||||
Attached Files | |||||||||
Relationships | |
Relationships |
Notes | |
(0037469) Paweł Stankowski (reporter) 2014-12-16 14:52 edited on: 2014-12-16 17:35 |
Sorry for links, I was trying to use DokuWiki formatting from http://www.mantisbt.org/wiki/doku.php/mantisbt:syntax [^] which apparently is not supported by this site. Why is this bug scheduled for fix in CMake 3.2? This is documentation bug, shouldn't that be fixed in CMake 3.1.x series as well? |
(0037744) Stephen Kelly (developer) 2015-01-19 14:23 |
Hi, I removed the DokuWiki formatting to aid readabililty. The N2928 document shows the motivation for the feature, and is therefore useful to users of it. You are right though that the final standard did not use attributes, but keywords instead. The N3206 and N3272 documents don't list motivation, but are differential revisions on the particular standardese. N3206 is confusing from a user perspective because it introduces virtual specifier keywords ('new' and 'explicit') which are then removed in N3272. So, what should the documentation link to? All three of those documents? Or none of them? Is there a more-suitable single link to show the motivation and syntax of the feature? |
(0037746) Paweł Stankowski (reporter) 2015-01-19 16:17 |
Most compilers list all 3 documents and links. This is how GCC, Intel Compiler, MSDN, LLVM and Clang sites handle this situation. |
(0037747) Stephen Kelly (developer) 2015-01-19 16:34 |
Ok, I've updated the CMake docs to do the same. Help: Link relevant documents for virtual override features (0015311) http://www.cmake.org/gitweb?p=cmake.git;a=commitdiff;h=59e3569c [^] |
(0037748) Brad King (manager) 2015-01-19 16:40 |
Re 0015311:0037747: Thanks, Steve. I backported it for merge to 'release' for 3.1.1: Help: Link relevant documents for virtual override features http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d8f93f6e [^] |
(0037751) Paweł Stankowski (reporter) 2015-01-19 18:19 |
Looks very good. Thanks, guys :) |
(0038848) Robert Maynard (manager) 2015-06-01 08:38 |
Closing resolved issues that have not been updated in more than 4 months. |
Notes |
Issue History | |||
Date Modified | Username | Field | Change |
2014-12-16 14:46 | Paweł Stankowski | New Issue | |
2014-12-16 14:52 | Brad King | Assigned To | => Stephen Kelly |
2014-12-16 14:52 | Brad King | Status | new => assigned |
2014-12-16 14:52 | Brad King | Target Version | => CMake 3.2 |
2014-12-16 14:52 | Paweł Stankowski | Note Added: 0037469 | |
2014-12-16 17:35 | Paweł Stankowski | Note Edited: 0037469 | |
2015-01-19 14:16 | Stephen Kelly | Note Added: 0037743 | |
2015-01-19 14:16 | Stephen Kelly | Description Updated | |
2015-01-19 14:17 | Stephen Kelly | Note Deleted: 0037743 | |
2015-01-19 14:23 | Stephen Kelly | Note Added: 0037744 | |
2015-01-19 16:17 | Paweł Stankowski | Note Added: 0037746 | |
2015-01-19 16:34 | Stephen Kelly | Note Added: 0037747 | |
2015-01-19 16:34 | Stephen Kelly | Status | assigned => resolved |
2015-01-19 16:34 | Stephen Kelly | Fixed in Version | => CMake 3.1.1 |
2015-01-19 16:34 | Stephen Kelly | Resolution | open => fixed |
2015-01-19 16:38 | Brad King | Target Version | CMake 3.2 => CMake 3.1.1 |
2015-01-19 16:40 | Brad King | Note Added: 0037748 | |
2015-01-19 18:19 | Paweł Stankowski | Note Added: 0037751 | |
2015-06-01 08:38 | Robert Maynard | Note Added: 0038848 | |
2015-06-01 08:38 | Robert Maynard | Status | resolved => closed |
Issue History |
Copyright © 2000 - 2018 MantisBT Team |