Changeset 11551


Ignore:
Timestamp:
Sep 3, 2018 9:28:01 AM (16 months ago)
Author:
Jonathan Kämpe
Message:

#5670 Fixed code gen bug from r11548

Location:
trunk/Compiler/ModelicaCBackEnd
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Compiler/ModelicaCBackEnd/src/jastadd/CCodeGen/CCodeGenGlobals.jrag

    r11549 r11551  
    333333        str.print(indent, type().nameScalar_C(p), "* jmi_global_", tempName_C(), "(jmi_t* jmi) {\n");
    334334        str.print(next, "JMI_DYNAMIC_INIT()\n");
    335         str.print(next, "JMI_GLOBALS_INIT()\n");
    336335       
    337336        String typeName = type().nameScalar_C(p);
    338337        str.print(next, typeName, "* ", tempName_C(), ";\n");
     338       
     339        str.print(next, "JMI_GLOBALS_INIT()\n");
     340       
    339341        str.print(next, tempName_C(), " = jmi_dynamic_function_pool_alloc(&dyn_mem, 1*sizeof(", typeName, "), TRUE);\n");
    340342       
     
    355357        str.print(indent, type().nameArray_C(p), "* jmi_global_", tempName_C(), "(jmi_t* jmi) {\n");
    356358        str.print(next, "JMI_DYNAMIC_INIT()\n");
    357         str.print(next, "JMI_GLOBALS_INIT()\n");
    358359       
    359360        str.print(next, "JMI_ARR(",
     
    366367        str.print(type().ndims());
    367368        str.print(")\n");
     369       
     370        str.print(next, "JMI_GLOBALS_INIT()\n");
    368371       
    369372        str.print(next, "JMI_ARRAY_INIT_", ndims(), "(",
  • trunk/Compiler/ModelicaCBackEnd/test/modelica/CCodeGenGlobalsTests.mo

    r11549 r11551  
    14231423jmi_array_t* jmi_global_tmp_1(jmi_t* jmi) {
    14241424    JMI_DYNAMIC_INIT()
     1425    JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 1, 1)
    14251426    JMI_GLOBALS_INIT()
    1426     JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 1, 1)
    14271427    JMI_ARRAY_INIT_1(DYNA, jmi_real_t, jmi_array_t, tmp_1, 1, 1, 1)
    14281428    jmi_array_val_1(tmp_1, 1) = 3;
     
    14341434jmi_array_t* jmi_global_tmp_2(jmi_t* jmi) {
    14351435    JMI_DYNAMIC_INIT()
     1436    JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_2, 1, 1)
    14361437    JMI_GLOBALS_INIT()
    1437     JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_2, 1, 1)
    14381438    JMI_ARRAY_INIT_1(DYNA, jmi_real_t, jmi_array_t, tmp_2, 1, 1, 1)
    14391439    jmi_array_val_1(tmp_2, 1) = 3;
     
    15311531jmi_array_t* jmi_global_tmp_1(jmi_t* jmi) {
    15321532    JMI_DYNAMIC_INIT()
     1533    JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 3, 1)
    15331534    JMI_GLOBALS_INIT()
    1534     JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 3, 1)
    15351535    JMI_ARRAY_INIT_1(DYNA, jmi_real_t, jmi_array_t, tmp_1, 3, 1, 3)
    15361536    jmi_array_val_1(tmp_1, 1) = 4;
     
    16271627jmi_array_t* jmi_global_tmp_1(jmi_t* jmi) {
    16281628    JMI_DYNAMIC_INIT()
     1629    JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1)
    16291630    JMI_GLOBALS_INIT()
    1630     JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1)
    16311631    JMI_ARRAY_INIT_1(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1, 2)
    16321632    jmi_array_val_1(tmp_1, 1) = AD_WRAP_LITERAL(1);
     
    16391639R1_0_r* jmi_global_tmp_2(jmi_t* jmi) {
    16401640    JMI_DYNAMIC_INIT()
     1641    R1_0_r* tmp_2;
    16411642    JMI_GLOBALS_INIT()
    1642     R1_0_r* tmp_2;
    16431643    tmp_2 = jmi_dynamic_function_pool_alloc(&dyn_mem, 1*sizeof(R1_0_r), TRUE);
    16441644    tmp_2->a = jmi_global_tmp_1(jmi);
     
    16501650R2_1_r* jmi_global_tmp_3(jmi_t* jmi) {
    16511651    JMI_DYNAMIC_INIT()
     1652    R2_1_r* tmp_3;
    16521653    JMI_GLOBALS_INIT()
    1653     R2_1_r* tmp_3;
    16541654    tmp_3 = jmi_dynamic_function_pool_alloc(&dyn_mem, 1*sizeof(R2_1_r), TRUE);
    16551655    tmp_3->r1 = jmi_global_tmp_2(jmi);
     
    17251725jmi_array_t* jmi_global_tmp_1(jmi_t* jmi) {
    17261726    JMI_DYNAMIC_INIT()
     1727    JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1)
    17271728    JMI_GLOBALS_INIT()
    1728     JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1)
    17291729    JMI_ARRAY_INIT_1(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1, 2)
    17301730    jmi_array_val_1(tmp_1, 1) = 1.0;
     
    17371737jmi_array_t* jmi_global_tmp_2(jmi_t* jmi) {
    17381738    JMI_DYNAMIC_INIT()
     1739    JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_2, 2, 1)
    17391740    JMI_GLOBALS_INIT()
    1740     JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_2, 2, 1)
    17411741    JMI_ARRAY_INIT_1(DYNA, jmi_real_t, jmi_array_t, tmp_2, 2, 1, 2)
    17421742    jmi_array_val_1(tmp_2, 1) = 3.0;
     
    17491749R_0_ra* jmi_global_tmp_3(jmi_t* jmi) {
    17501750    JMI_DYNAMIC_INIT()
     1751    JMI_ARR(DYNA, R_0_r, R_0_ra, tmp_3, 2, 1)
    17511752    JMI_GLOBALS_INIT()
    1752     JMI_ARR(DYNA, R_0_r, R_0_ra, tmp_3, 2, 1)
    17531753    JMI_ARRAY_INIT_1(DYNA, R_0_r, R_0_ra, tmp_3, 2, 1, 2)
    17541754    jmi_array_rec_1(tmp_3, 1)->a = jmi_global_tmp_1(jmi);
     
    18321832jmi_array_t* jmi_global_tmp_1(jmi_t* jmi) {
    18331833    JMI_DYNAMIC_INIT()
     1834    JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1)
    18341835    JMI_GLOBALS_INIT()
    1835     JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1)
    18361836    JMI_ARRAY_INIT_1(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1, 2)
    18371837    jmi_array_val_1(tmp_1, 1) = 1.0;
     
    18441844R1_0_r* jmi_global_tmp_2(jmi_t* jmi) {
    18451845    JMI_DYNAMIC_INIT()
     1846    R1_0_r* tmp_2;
    18461847    JMI_GLOBALS_INIT()
    1847     R1_0_r* tmp_2;
    18481848    tmp_2 = jmi_dynamic_function_pool_alloc(&dyn_mem, 1*sizeof(R1_0_r), TRUE);
    18491849    tmp_2->a = jmi_global_tmp_1(jmi);
     
    18551855R2_1_r* jmi_global_tmp_3(jmi_t* jmi) {
    18561856    JMI_DYNAMIC_INIT()
     1857    R2_1_r* tmp_3;
    18571858    JMI_GLOBALS_INIT()
    1858     R2_1_r* tmp_3;
    18591859    tmp_3 = jmi_dynamic_function_pool_alloc(&dyn_mem, 1*sizeof(R2_1_r), TRUE);
    18601860    tmp_3->r1 = jmi_global_tmp_2(jmi);
     
    18661866jmi_array_t* jmi_global_tmp_4(jmi_t* jmi) {
    18671867    JMI_DYNAMIC_INIT()
     1868    JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_4, 2, 1)
    18681869    JMI_GLOBALS_INIT()
    1869     JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_4, 2, 1)
    18701870    JMI_ARRAY_INIT_1(DYNA, jmi_real_t, jmi_array_t, tmp_4, 2, 1, 2)
    18711871    jmi_array_val_1(tmp_4, 1) = 3.0;
     
    18781878R1_0_r* jmi_global_tmp_5(jmi_t* jmi) {
    18791879    JMI_DYNAMIC_INIT()
     1880    R1_0_r* tmp_5;
    18801881    JMI_GLOBALS_INIT()
    1881     R1_0_r* tmp_5;
    18821882    tmp_5 = jmi_dynamic_function_pool_alloc(&dyn_mem, 1*sizeof(R1_0_r), TRUE);
    18831883    tmp_5->a = jmi_global_tmp_4(jmi);
     
    18891889R2_1_r* jmi_global_tmp_6(jmi_t* jmi) {
    18901890    JMI_DYNAMIC_INIT()
     1891    R2_1_r* tmp_6;
    18911892    JMI_GLOBALS_INIT()
    1892     R2_1_r* tmp_6;
    18931893    tmp_6 = jmi_dynamic_function_pool_alloc(&dyn_mem, 1*sizeof(R2_1_r), TRUE);
    18941894    tmp_6->r1 = jmi_global_tmp_5(jmi);
     
    19001900R3_2_ra* jmi_global_tmp_7(jmi_t* jmi) {
    19011901    JMI_DYNAMIC_INIT()
     1902    JMI_ARR(DYNA, R3_2_r, R3_2_ra, tmp_7, 2, 1)
    19021903    JMI_GLOBALS_INIT()
    1903     JMI_ARR(DYNA, R3_2_r, R3_2_ra, tmp_7, 2, 1)
    19041904    JMI_ARRAY_INIT_1(DYNA, R3_2_r, R3_2_ra, tmp_7, 2, 1, 2)
    19051905    jmi_array_rec_1(tmp_7, 1)->r2 = jmi_global_tmp_3(jmi);
     
    20392039jmi_array_t* jmi_global_tmp_1(jmi_t* jmi) {
    20402040    JMI_DYNAMIC_INIT()
     2041    JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1)
    20412042    JMI_GLOBALS_INIT()
    2042     JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1)
    20432043    JMI_ARRAY_INIT_1(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1, 2)
    20442044    jmi_array_val_1(tmp_1, 1) = AD_WRAP_LITERAL(1);
     
    20512051R1_0_r* jmi_global_tmp_2(jmi_t* jmi) {
    20522052    JMI_DYNAMIC_INIT()
     2053    R1_0_r* tmp_2;
    20532054    JMI_GLOBALS_INIT()
    2054     R1_0_r* tmp_2;
    20552055    tmp_2 = jmi_dynamic_function_pool_alloc(&dyn_mem, 1*sizeof(R1_0_r), TRUE);
    20562056    tmp_2->x = jmi_global_tmp_1(jmi);
     
    21382138jmi_array_t* jmi_global_tmp_1(jmi_t* jmi) {
    21392139    JMI_DYNAMIC_INIT()
     2140    JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1)
    21402141    JMI_GLOBALS_INIT()
    2141     JMI_ARR(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1)
    21422142    JMI_ARRAY_INIT_1(DYNA, jmi_real_t, jmi_array_t, tmp_1, 2, 1, 2)
    21432143    jmi_array_val_1(tmp_1, 1) = AD_WRAP_LITERAL(1);
     
    21502150R1_0_r* jmi_global_tmp_2(jmi_t* jmi) {
    21512151    JMI_DYNAMIC_INIT()
     2152    R1_0_r* tmp_2;
    21522153    JMI_GLOBALS_INIT()
    2153     R1_0_r* tmp_2;
    21542154    tmp_2 = jmi_dynamic_function_pool_alloc(&dyn_mem, 1*sizeof(R1_0_r), TRUE);
    21552155    tmp_2->x = jmi_global_tmp_1(jmi);
Note: See TracChangeset for help on using the changeset viewer.