What is the intention of A15-4-4 - Printable Version +- MISRA Discussion Forums (https://forum.misra.org.uk) +-- Forum: MISRA C++ (https://forum.misra.org.uk/forumdisplay.php?fid=18) +--- Forum: AUTOSAR C++:2014 rules (https://forum.misra.org.uk/forumdisplay.php?fid=185) +--- Thread: What is the intention of A15-4-4 (/showthread.php?tid=1624) |
What is the intention of A15-4-4 - kth - 23-06-2022 Hi experts, A15-4-4 Quote:Rule A15-4-4 (required, implementation, automated) provides this example (17-10): Code: // ... Code: void F1(); // Compliant - f1, without noexcept specification, declares to throw The implementation of F1 is not provided. I would assume that a matching implementation of F1() would be, e.g. Code: void F1() { My questions: 1. Is my implementation of F1 above correct? 2. What should a compliant static analysis tool report, when F1 does not throw? 3. Shall a compliant AUTOSAR C++ checker tool here report a violation (error/warning/...) or is this kind of a hint or note? 4. What shall be reported for the operator()() of a lambda that does not throw and does not explicitly add noexcept (example: auto l = []() { return 42; })? 5. (Bonus question) will a similar check be added to the next version of MISRA C++? RE: What is the intention of A15-4-4 - misra cpp - 24-06-2022 1: It would be a valid implementation that makes F1 compliant 2: If a function cannot throw but is not marked as noexcept, it should be reported as a violation 3: Autosar does not define how a tool should report a violation 4: Lambdas are treated the same as other functions, so the example should be marked noexcept 5: Its under discussion, but currently we have no plans to include a similar rule |