Skip to content
This repository was archived by the owner on May 18, 2019. It is now read-only.

use dump system also for terminate and assert #1175

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -365,8 +365,7 @@ int prefixedName_performQSSSimulation(DATA* data, threadData_t *threadData, SOLV
/* check if terminate()=true */
if (terminationTerminate)
{
printInfo(stdout, TermInfo);
fputc('\n', stdout);
printInfo(LOG_STDOUT, TermInfo);
infoStreamPrint(LOG_STDOUT, 0, "Simulation call terminate() at time %f\nMessage : %s", data->localData[0]->timeValue, TermMsg);
simInfo->stopTime = solverInfo->currentTime;
}
Expand Down
3 changes: 1 addition & 2 deletions SimulationRuntime/c/simulation/solver/perform_simulation.c
Original file line number Diff line number Diff line change
Expand Up @@ -258,8 +258,7 @@ static void checkSimulationTerminated(DATA* data, SOLVER_INFO* solverInfo)
{
if(terminationTerminate)
{
printInfo(stdout, TermInfo);
fputc('\n', stdout);
printInfo(LOG_STDOUT, TermInfo);
infoStreamPrint(LOG_STDOUT, 0, "Simulation call terminate() at time %f\nMessage : %s", data->localData[0]->timeValue, TermMsg);
data->simulationInfo->stopTime = solverInfo->currentTime;
}
Expand Down
25 changes: 11 additions & 14 deletions SimulationRuntime/c/util/omc_error.c
Original file line number Diff line number Diff line change
Expand Up @@ -159,19 +159,18 @@ void initDumpSystem()
useStream[LOG_ASSERT] = 1;
}

void printInfo(FILE *stream, FILE_INFO info)
void printInfo(int stream, FILE_INFO info)
{
fprintf(stream, "[%s:%d:%d-%d:%d:%s]", info.filename, info.lineStart, info.colStart, info.lineEnd, info.colEnd, info.readonly ? "readonly" : "writable");
infoStreamPrint(stream, 0, "[%s:%d:%d-%d:%d:%s]", info.filename, info.lineStart, info.colStart, info.lineEnd, info.colEnd, info.readonly ? "readonly" : "writable");
}

void omc_assert_function(threadData_t* threadData, FILE_INFO info, const char *msg, ...)
{
va_list ap;
va_start(ap,msg);
printInfo(stderr, info);
fputs("Modelica Assert: ", stderr);
vfprintf(stderr,msg,ap);
fputs("!\n", stderr);
printInfo(LOG_ASSERT, info);
errorStreamPrint(LOG_ASSERT, 0, "Modelica Assert: ");
va_errorStreamPrint(LOG_ASSERT, 0, msg, ap);
va_end(ap);
fflush(NULL);
if (threadData) {
Expand All @@ -185,10 +184,9 @@ void omc_assert_warning_function(FILE_INFO info, const char *msg, ...)
{
va_list ap;
va_start(ap,msg);
printInfo(stderr, info);
fputs("Warning, assertion triggered: ", stderr);
vfprintf(stderr,msg,ap);
fputs("!\n", stderr);
printInfo(LOG_ASSERT, info);
warningStreamPrint(LOG_ASSERT, 0, "Warning, assertion triggered: ");
va_warningStreamPrint(LOG_ASSERT, 0, msg, ap);
va_end(ap);
fflush(NULL);
}
Expand All @@ -206,10 +204,9 @@ void omc_terminate_function(FILE_INFO info, const char *msg, ...)
{
va_list ap;
va_start(ap,msg);
printInfo(stderr, info);
fputs("Modelica Terminate: ", stderr);
vfprintf(stderr,msg,ap);
fputs("!\n", stderr);
printInfo(LOG_STDOUT, info);
infoStreamPrint(LOG_STDOUT, 0, "Modelica Terminate: ");
va_infoStreamPrint(LOG_STDOUT, 0, msg, ap);
va_end(ap);
fflush(NULL);
MMC_THROW();
Expand Down
2 changes: 1 addition & 1 deletion SimulationRuntime/c/util/omc_error.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ typedef struct _FILE_INFO

#define omc_dummyFileInfo {"",-1,-1,-1,-1,1}

DLLExport extern void printInfo(FILE *stream, FILE_INFO info);
DLLExport extern void printInfo(int stream, FILE_INFO info);
DLLExport extern void (*omc_assert)(threadData_t*, FILE_INFO, const char*, ...) __attribute__ ((noreturn));
DLLExport extern void (*omc_assert_warning)(FILE_INFO, const char*, ...);
DLLExport extern void (*omc_terminate)(FILE_INFO, const char*, ...);
Expand Down