Ignore:
Timestamp:
Nov 4, 2019 1:17:44 PM (4 weeks ago)
Author:
Jesper Mattsson
Message:

Added a try-catch for a missed possible ConstantEvaluationException. (#5835)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Compiler/ModelicaCBackEnd/test/modelica/CCodeGenTests.mo

    r13897 r13944  
    1634416344end StringOperations13;
    1634516345
     16346
     16347model StringOperations14
     16348    function f
     16349        input Real x;
     16350        output String s;
     16351    protected
     16352        parameter String fmt = "g";
     16353    algorithm
     16354        s := String(x, format = fmt);
     16355    end f;
     16356   
     16357    String s = f(time);
     16358
     16359annotation(__JModelica(UnitTesting(tests={
     16360    CCodeGenTestCase(
     16361        name="StringOperations14",
     16362        description="Check that a format string that fails to evaluate does not lead to a crash",
     16363        template="$C_functions$",
     16364        generatedCode="
     16365void func_CCodeGenTests_StringOperations14_f_def0(jmi_real_t x_v, jmi_string_t* s_o) {
     16366    JMI_DYNAMIC_INIT()
     16367    JMI_DEF(STR, s_v)
     16368    JMI_DEF(STR, fmt_v)
     16369    JMI_DEF_STR_DYNA(tmp_1)
     16370    JMI_DEF_STR_STAT(tmp_2, 16)
     16371    JMI_INI(STR, s_v)
     16372    JMI_INI(STR, fmt_v)
     16373    JMI_ASG(STR, fmt_v, \"g\")
     16374    JMI_INI_STR_DYNA(tmp_1, 1 + JMI_LEN(fmt_v))
     16375    snprintf(JMI_STR_END(tmp_1), JMI_STR_LEFT(tmp_1), \"%s\", \"%\");
     16376    snprintf(JMI_STR_END(tmp_1), JMI_STR_LEFT(tmp_1), \"%s\", fmt_v);
     16377    JMI_INI_STR_STAT(tmp_2)
     16378    snprintf(JMI_STR_END(tmp_2), JMI_STR_LEFT(tmp_2), tmp_1, x_v);
     16379    JMI_ASG(STR, s_v, tmp_2)
     16380    JMI_RET(STR, s_o, s_v)
     16381    JMI_DYNAMIC_FREE()
     16382    return;
     16383}
     16384
     16385jmi_string_t func_CCodeGenTests_StringOperations14_f_exp0(jmi_real_t x_v) {
     16386    JMI_DEF(STR, s_v)
     16387    func_CCodeGenTests_StringOperations14_f_def0(x_v, &s_v);
     16388    return s_v;
     16389}
     16390
     16391")})));
     16392end StringOperations14;
     16393
     16394
    1634616395package TestTerminate
    1634716396
Note: See TracChangeset for help on using the changeset viewer.