diff --git a/docs/Issues.rst b/docs/Issues.rst index 0149c14..dfc7514 100755 --- a/docs/Issues.rst +++ b/docs/Issues.rst @@ -1,70 +1,60 @@ ================================================================== Known Issues with the Current Implementation of the RoSA Framework ================================================================== .. contents:: :local: TODO ==== * Project logo - `docs/_themes/rosa-theme/static/logo.png` * Packaging with `CPack `_. * What about design documentation on the basics of RoSA? * What about testing the framework? Known Issues ============ The issues that are listed below are described assuming :ref:`minimal build dependencies ` are met. * C++ * The noexcept-specification is part of the function type since C++17 but `std::function` is not defined for noexcept template arguments. So we cannot enforce the expected noexcept semantics for functions stored in `std::function`. See affected functions `rosa::Invoker::wrap()`, `rosa::app::AppAgent::AppAgent()`, `rosa::app::AppSensor::AppSensor()`, and `rosa::app::AppSensor::registerSimulationDataSource()`. * MSVC * While :ref:`RoSA does not use exceptions `, we cannot disable unwind semantics with MSVC because some included header files define functions that use exceptions. * Versions of MSVC `v142` instatiate discarded sub-statements of `constexpr if`, which typically causes error `C2794 `_ because of undefined template specialization. Specifically: `'Type': is not a member of any direct or indirect base class of 'rosa::app::MatchingAppTuple'`. The problem is similar to `this `_. The older `v141` toolset does not have the problem. * Doxygen * "Potential recursive class relation" is detected for `rosa::GenSeq`, which is true if one ignores the template specialization for the terminal case. It would be nice not to have this pointless warning. * clang-tidy * Clang-tidy reports warnings about `noexcept` marking for the move constructor and move assignment operator of `rosa::Optional` in some situations when the template with the non-specialized argument list is used -- for example, in the file `example/application-interface/application-interface.cpp`. However, the condition for the `noexcept` marking should be met and the warning is pointless. - -* `cxxopts `_ - - * The function `cxxopts::values::integer_parser()` (as of cxxopts v2.1.2) does - not compile --- with some particular template type arguments -- with MSVC - because of a data conversion that may potentially result in data loss. This - problem can be fixed after generating the build project with CMake: change - the type of variable `digit` in line 550 to `US` (from the original - `size_t`) in the file `/include/cxxopts/cxxxopts.hpp` (not the - original file in the source directory). diff --git a/modules/cxxopts b/modules/cxxopts index a0de9f3..e6858d3 160000 --- a/modules/cxxopts +++ b/modules/cxxopts @@ -1 +1 @@ -Subproject commit a0de9f3ba1035a3c4f5ffcd960cb94e4e12d40c5 +Subproject commit e6858d3429e0ba5fe6f42ce2018069ce992f3d26