Page MenuHomePhorge

No OneTemporary

Size
3 KB
Referenced Files
None
Subscribers
None
diff --git a/docs/Issues.rst b/docs/Issues.rst
index dfc7514..0149c14 100755
--- a/docs/Issues.rst
+++ b/docs/Issues.rst
@@ -1,60 +1,70 @@
==================================================================
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 <https://cmake.org/cmake/help/latest/module/CPack.html>`_.
* 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 <build_deps>` 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 <nortti-noexceptions>`, 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 <https://docs.microsoft.com/en-us/cpp/error-messages/compiler-errors-2/compiler-error-c2794?view=vs-2019>`_
because of undefined template specialization.
Specifically: `'Type': is not a member of any direct or indirect base class of 'rosa::app::MatchingAppTuple<T>'`.
The problem is similar to `this <https://stackoverflow.com/a/50857419>`_.
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 <https://github.com/jarro2783/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 `<build_dir>/include/cxxopts/cxxxopts.hpp` (not the
+ original file in the source directory).

File Metadata

Mime Type
text/x-diff
Expires
Sat, May 17, 1:45 AM (18 h, 9 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
141491
Default Alt Text
(3 KB)

Event Timeline