Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions cpp/expressionsLib/inc/OscExprExportDefs.h
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@
# endif
#elif defined(__APPLE__)
# define OSC_EXPR_EXP
#elif defined(__EMSCRIPTEN__)
# define OSC_EXPR_EXP
#else
# error "OPENSCENARIOLIB: Operating system not supported."
#endif // _WIN32
12 changes: 12 additions & 0 deletions cpp/expressionsLib/src/EvaluatorListener.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,18 @@
#include <math.h>
#include <cmath>

#if defined(__EMSCRIPTEN__)
// WASM has no floating-point exception environment; FE_OVERFLOW/FE_UNDERFLOW
// are not provided by Emscripten's <cfenv>. Shim to 0 so feclearexcept/
// fetestexcept compile to no-ops (overflow/underflow detection is disabled).
# ifndef FE_OVERFLOW
# define FE_OVERFLOW 0
# endif
# ifndef FE_UNDERFLOW
# define FE_UNDERFLOW 0
# endif
#endif


namespace OscExpression
{
Expand Down
2 changes: 2 additions & 0 deletions cpp/externalLibs/Filesystem/filesystem.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@
#define GHC_OS_SYS5R4
#elif defined(BSD)
#define GHC_OS_BSD
#elif defined(__EMSCRIPTEN__)
#define GHC_OS_LINUX
#else
#error "Operating system currently not supported!"
#endif
Expand Down
2 changes: 2 additions & 0 deletions cpp/openScenarioLib/src/common/ExportDefinitions.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
# endif
#elif defined(__APPLE__)
# define OPENSCENARIOLIB_EXP
#elif defined(__EMSCRIPTEN__)
# define OPENSCENARIOLIB_EXP
#else
# error "OPENSCENARIOLIB: Operating system not supported."
#endif // _WIN32
2 changes: 1 addition & 1 deletion cpp/openScenarioLib/src/loader/FileResourceLocator.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ namespace NET_ASAM_OPENSCENARIO
}

auto infile = std::make_shared<std::ifstream>(result.c_str(), std::ios::binary);
#elif defined (__linux__) || defined (__APPLE__)
#elif defined (__linux__) || defined (__APPLE__) || defined (__EMSCRIPTEN__)
auto infile = std::make_shared<std::ifstream>(symbolicFilename, std::ios::binary);
#else
# error "Operating system not supported."
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ namespace NET_ASAM_OPENSCENARIO

std::shared_ptr<IOpenScenarioModelElement> XmlScenarioImportLoader::Load(std::shared_ptr<IParserMessageLogger> messageLogger, std::map<std::string, std::string>& injectedParameters)
{
auto openScenario = std::static_pointer_cast<IOpenScenario>(_innerScenarioLoader->Load(messageLogger)->GetAdapter(typeid(IOpenScenario).name()));
auto openScenario = std::static_pointer_cast<IOpenScenario>(_innerScenarioLoader->Load(messageLogger, injectedParameters)->GetAdapter(typeid(IOpenScenario).name()));

if (messageLogger->GetMessagesFilteredByWorseOrEqualToErrorLevel(ErrorLevel::ERROR).empty())
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ namespace NET_ASAM_OPENSCENARIO

std::shared_ptr<IOpenScenarioModelElement> XmlScenarioImportLoader::Load(std::shared_ptr<IParserMessageLogger> messageLogger, std::map<std::string, std::string>& injectedParameters)
{
auto openScenario = std::static_pointer_cast<IOpenScenario>(_innerScenarioLoader->Load(messageLogger)->GetAdapter(typeid(IOpenScenario).name()));
auto openScenario = std::static_pointer_cast<IOpenScenario>(_innerScenarioLoader->Load(messageLogger, injectedParameters)->GetAdapter(typeid(IOpenScenario).name()));

if (messageLogger->GetMessagesFilteredByWorseOrEqualToErrorLevel(ErrorLevel::ERROR).empty())
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ namespace NET_ASAM_OPENSCENARIO

std::shared_ptr<IOpenScenarioModelElement> XmlScenarioImportLoader::Load(std::shared_ptr<IParserMessageLogger> messageLogger, std::map<std::string, std::string>& injectedParameters)
{
auto openScenario = std::static_pointer_cast<IOpenScenario>(_innerScenarioLoader->Load(messageLogger)->GetAdapter(typeid(IOpenScenario).name()));
auto openScenario = std::static_pointer_cast<IOpenScenario>(_innerScenarioLoader->Load(messageLogger, injectedParameters)->GetAdapter(typeid(IOpenScenario).name()));

if (messageLogger->GetMessagesFilteredByWorseOrEqualToErrorLevel(ErrorLevel::ERROR).empty())
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ namespace NET_ASAM_OPENSCENARIO

std::shared_ptr<IOpenScenarioModelElement> XmlScenarioImportLoader::Load(std::shared_ptr<IParserMessageLogger> messageLogger, std::map<std::string, std::string>& injectedParameters)
{
auto openScenario = std::static_pointer_cast<IOpenScenario>(_innerScenarioLoader->Load(messageLogger)->GetAdapter(typeid(IOpenScenario).name()));
auto openScenario = std::static_pointer_cast<IOpenScenario>(_innerScenarioLoader->Load(messageLogger, injectedParameters)->GetAdapter(typeid(IOpenScenario).name()));

if (messageLogger->GetMessagesFilteredByWorseOrEqualToErrorLevel(ErrorLevel::ERROR).empty())
{
Expand Down