Bug Summary

File:OMCompiler/Compiler/boot/build/BackendVariable.c
Warning:line 11720, column 3
Value stored to '_outbool' is never read

Annotated Source Code

[?] Use j/k keys for keyboard navigation

1#ifdef OMC_BASE_FILE
2 #define OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c" OMC_BASE_FILE
3#else
4 #define OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c" "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5#endif
6#include "omc_simulation_settings.h"
7#include "BackendVariable.h"
8static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT0,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT0
= { (((1) << 10) + (((5) & 255) << 2)),
{&BackendDAE_VarKind_STATE__DER__desc,}};
9#define _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT0)((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3))
10#define _OMC_LIT1_data"$" "$"
11static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT1,1,_OMC_LIT1_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT1
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "$"
}
;
12#define _OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT1)((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3))
13#define _OMC_LIT2_data" = -" " = -"
14static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2,4,_OMC_LIT2_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT2
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), " = -"
}
;
15#define _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2)((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3))
16#define _OMC_LIT3_data" = " " = "
17static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3,3,_OMC_LIT3_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT3
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), " = "
}
;
18#define _OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3)((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3))
19#define _OMC_LIT4_data"Alias variables " "Alias variables "
20static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT4,16,_OMC_LIT4_data)struct { mmc_uint_t header; const char data[(16)+1]; } _OMC_LIT_STRUCT4
= { ((((mmc_uint_t)16)<<(3))+((1<<(3+3))+5)), "Alias variables "
}
;
21#define _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT4)((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3))
22#define _OMC_LIT5_data" with invalid limits min " " with invalid limits min "
23static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT5,25,_OMC_LIT5_data)struct { mmc_uint_t header; const char data[(25)+1]; } _OMC_LIT_STRUCT5
= { ((((mmc_uint_t)25)<<(3))+((1<<(3+3))+5)), " with invalid limits min "
}
;
24#define _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT5)((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3))
25#define _OMC_LIT6_data" > max " " > max "
26static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT6,7,_OMC_LIT6_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT6
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), " > max "
}
;
27#define _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT6)((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3))
28static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT7,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT7
= { (((1) << 10) + (((5) & 255) << 2)),
{&ErrorTypes_MessageType_TRANSLATION__desc,}};
29#define _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT7)((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3))
30static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT8,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT8
= { (((1) << 10) + (((5) & 255) << 2)),
{&ErrorTypes_Severity_WARNING__desc,}};
31#define _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT8)((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3))
32#define _OMC_LIT9_data"%s" "%s"
33static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT9,2,_OMC_LIT9_data)struct { mmc_uint_t header; const char data[(2)+1]; } _OMC_LIT_STRUCT9
= { ((((mmc_uint_t)2)<<(3))+((1<<(3+3))+5)), "%s"
}
;
34#define _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT9)((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))
35static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT10,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT10
= { (((2) << 10) + (((4) & 255) << 2)),
{&Gettext_TranslatableContent_notrans__desc,_OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))}};
36#define _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT10)((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))
37static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT11,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT11
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(6000))((void*)(((((mmc_uint_t) (6000)) << 1)+0))),_OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)),_OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)),_OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))}};
38#define _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT11)((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3))
39static const MMC_DEFREALLIT(_OMC_LIT_STRUCT12,2.0)struct mmc_real_lit _OMC_LIT_STRUCT12 = {0,(((8/8) << 10
) + 9),2.0}
;
40#define _OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT12)((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3))
41static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT13,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT13
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3))}};
42#define _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT13)((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3))
43#define _OMC_LIT14_data"undefined" "undefined"
44static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT14,9,_OMC_LIT14_data)struct { mmc_uint_t header; const char data[(9)+1]; } _OMC_LIT_STRUCT14
= { ((((mmc_uint_t)9)<<(3))+((1<<(3+3))+5)), "undefined"
}
;
45#define _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT14)((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3))
46#define _OMC_LIT15_data"type" "type"
47static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT15,4,_OMC_LIT15_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT15
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "type"
}
;
48#define _OMC_LIT15((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT15)((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3))
49#define _OMC_LIT16_data"binding" "binding"
50static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT16,7,_OMC_LIT16_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT16
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "binding"
}
;
51#define _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT16)((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3))
52#define _OMC_LIT17_data" != " " != "
53static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT17,4,_OMC_LIT17_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT17
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), " != "
}
;
54#define _OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT17)((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3))
55#define _OMC_LIT18_data". Use value from " ". Use value from "
56static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT18,17,_OMC_LIT18_data)struct { mmc_uint_t header; const char data[(17)+1]; } _OMC_LIT_STRUCT18
= { ((((mmc_uint_t)17)<<(3))+((1<<(3+3))+5)), ". Use value from "
}
;
57#define _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT18)((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3))
58#define _OMC_LIT19_data"." "."
59static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT19,1,_OMC_LIT19_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT19
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "."
}
;
60#define _OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT19)((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3))
61static const MMC_DEFREALLIT(_OMC_LIT_STRUCT20,0.0)struct mmc_real_lit _OMC_LIT_STRUCT20 = {0,(((8/8) << 10
) + 9),0.0}
;
62#define _OMC_LIT20((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT20)((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3))
63static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT21,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT21
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Exp_RCONST__desc,_OMC_LIT20((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3))}};
64#define _OMC_LIT21((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT21)((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3))
65static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT22,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT22
= { (((2) << 10) + (((3) & 255) << 2)),
{&DAE_Exp_ICONST__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0)))}};
66#define _OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT22)((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3))
67static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT23,2,6)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT23
= { (((2) << 10) + (((6) & 255) << 2)),
{&DAE_Exp_BCONST__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0)))}};
68#define _OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT23)((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3))
69#define _OMC_LIT24_data"" ""
70static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT24,0,_OMC_LIT24_data)struct { mmc_uint_t header; const char data[(0)+1]; } _OMC_LIT_STRUCT24
= { ((((mmc_uint_t)0)<<(3))+((1<<(3+3))+5)), "" }
;
71#define _OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT24)((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3))
72static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT25,2,5)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT25
= { (((2) << 10) + (((5) & 255) << 2)),
{&DAE_Exp_SCONST__desc,_OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3))}};
73#define _OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT25)((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3))
74#define _OMC_LIT26_data" have start values " " have start values "
75static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT26,19,_OMC_LIT26_data)struct { mmc_uint_t header; const char data[(19)+1]; } _OMC_LIT_STRUCT26
= { ((((mmc_uint_t)19)<<(3))+((1<<(3+3))+5)), " have start values "
}
;
76#define _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT26)((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3))
77#define _OMC_LIT27_data" both fixed and have start values " " both fixed and have start values "
78static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT27,34,_OMC_LIT27_data)struct { mmc_uint_t header; const char data[(34)+1]; } _OMC_LIT_STRUCT27
= { ((((mmc_uint_t)34)<<(3))+((1<<(3+3))+5)), " both fixed and have start values "
}
;
79#define _OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT27)((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3))
80#define _OMC_LIT28_data"function traverseBackendDAEVarsWithUpdate failed" "function traverseBackendDAEVarsWithUpdate failed"
81static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT28,48,_OMC_LIT28_data)struct { mmc_uint_t header; const char data[(48)+1]; } _OMC_LIT_STRUCT28
= { ((((mmc_uint_t)48)<<(3))+((1<<(3+3))+5)), "function traverseBackendDAEVarsWithUpdate failed"
}
;
82#define _OMC_LIT28((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT28)((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3))
83#define _OMC_LIT29_data"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo" "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
84static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT29,100,_OMC_LIT29_data)struct { mmc_uint_t header; const char data[(100)+1]; } _OMC_LIT_STRUCT29
= { ((((mmc_uint_t)100)<<(3))+((1<<(3+3))+5)), "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
}
;
85#define _OMC_LIT29((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT29)((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3))
86static const MMC_DEFREALLIT(_OMC_LIT_STRUCT30_6,1588090879.0)struct mmc_real_lit _OMC_LIT_STRUCT30_6 = {0,(((8/8) <<
10) + 9),1588090879.0}
;
87#define _OMC_LIT30_6((void*)((char*)(&(_OMC_LIT_STRUCT30_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT30_6)((void*)((char*)(&(_OMC_LIT_STRUCT30_6).header) + 3))
88static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT30,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT30
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT29((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(3649))((void*)(((((mmc_uint_t) (3649)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(5))((void*)(((((mmc_uint_t) (5)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(3649))((void*)(((((mmc_uint_t) (3649)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(93))((void*)(((((mmc_uint_t) (93)) << 1)+0))),_OMC_LIT30_6((void*)((char*)(&(_OMC_LIT_STRUCT30_6).header) + 3))}};
89#define _OMC_LIT30((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT30)((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3))
90static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT31,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT31
= { (((2) << 10) + (((3) & 255) << 2)),
{&DAE_Exp_ICONST__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0)))}};
91#define _OMC_LIT31((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT31)((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3))
92static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT32,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT32
= { (((1) << 10) + (((3) & 255) << 2)),
{&DAE_Subscript_WHOLEDIM__desc,}};
93#define _OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT32)((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3))
94static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT33,1,4)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT33
= { (((1) << 10) + (((4) & 255) << 2)),
{&ErrorTypes_Severity_ERROR__desc,}};
95#define _OMC_LIT33((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT33)((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3))
96#define _OMC_LIT34_data"Internal error %s" "Internal error %s"
97static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT34,17,_OMC_LIT34_data)struct { mmc_uint_t header; const char data[(17)+1]; } _OMC_LIT_STRUCT34
= { ((((mmc_uint_t)17)<<(3))+((1<<(3+3))+5)), "Internal error %s"
}
;
98#define _OMC_LIT34((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT34)((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3))
99static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT35,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT35
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT34((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3))}};
100#define _OMC_LIT35((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT35)((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3))
101static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT36,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT36
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(63))((void*)(((((mmc_uint_t) (63)) << 1)+0))),_OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)),_OMC_LIT33((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3)),_OMC_LIT35((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3))}};
102#define _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT36)((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3))
103#define _OMC_LIT37_data"BackendVariable.replaceVarWithWholeDim: Unknown cref" "BackendVariable.replaceVarWithWholeDim: Unknown cref"
104static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT37,52,_OMC_LIT37_data)struct { mmc_uint_t header; const char data[(52)+1]; } _OMC_LIT_STRUCT37
= { ((((mmc_uint_t)52)<<(3))+((1<<(3+3))+5)), "BackendVariable.replaceVarWithWholeDim: Unknown cref"
}
;
105#define _OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT37)((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3))
106static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT38,2,1)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT38
= { (((2) << 10) + (((1) & 255) << 2)),
{_OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
107#define _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT38)((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3))
108static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT39,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT39
= { (((1) << 10) + (((3) & 255) << 2)),
{&BackendDAE_VarKind_VARIABLE__desc,}};
109#define _OMC_LIT39((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT39)((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3))
110static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT40,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT40
= { (((1) << 10) + (((5) & 255) << 2)),
{&DAE_VarDirection_BIDIR__desc,}};
111#define _OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT40)((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3))
112static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT41,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT41
= { (((1) << 10) + (((5) & 255) << 2)),
{&DAE_VarParallelism_NON__PARALLEL__desc,}};
113#define _OMC_LIT41((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT41)((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3))
114static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT42,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT42
= { (((2) << 10) + (((4) & 255) << 2)),
{&DAE_Type_T__REAL__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
115#define _OMC_LIT42((void*)((char*)(&(_OMC_LIT_STRUCT42).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT42)((void*)((char*)(&(_OMC_LIT_STRUCT42).header) + 3))
116static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT43,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT43
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT20((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3))}};
117#define _OMC_LIT43((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT43)((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3))
118static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT44,1,4)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT44
= { (((1) << 10) + (((4) & 255) << 2)),
{&DAE_ComponentPrefix_NOCOMPPRE__desc,}};
119#define _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT44)((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))
120static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT45,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT45
= { (((8) << 10) + (((3) & 255) << 2)),
{&DAE_ElementSource_SOURCE__desc,_OMC_LIT43((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),_OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
121#define _OMC_LIT45((void*)((char*)(&(_OMC_LIT_STRUCT45).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT45)((void*)((char*)(&(_OMC_LIT_STRUCT45).header) + 3))
122static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT46,1,6)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT46
= { (((1) << 10) + (((6) & 255) << 2)),
{&DAE_ConnectorType_NON__CONNECTOR__desc,}};
123#define _OMC_LIT46((void*)((char*)(&(_OMC_LIT_STRUCT46).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT46)((void*)((char*)(&(_OMC_LIT_STRUCT46).header) + 3))
124static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT47,1,6)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT47
= { (((1) << 10) + (((6) & 255) << 2)),
{&DAE_VarInnerOuter_NOT__INNER__OUTER__desc,}};
125#define _OMC_LIT47((void*)((char*)(&(_OMC_LIT_STRUCT47).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT47)((void*)((char*)(&(_OMC_LIT_STRUCT47).header) + 3))
126#define _OMC_LIT48_data"der" "der"
127static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT48,3,_OMC_LIT48_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT48
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "der"
}
;
128#define _OMC_LIT48((void*)((char*)(&(_OMC_LIT_STRUCT48).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT48)((void*)((char*)(&(_OMC_LIT_STRUCT48).header) + 3))
129#define _OMC_LIT49_data"g" "g"
130static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT49,1,_OMC_LIT49_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT49
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "g"
}
;
131#define _OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT49)((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3))
132#define _OMC_LIT50_data"d" "d"
133static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT50,1,_OMC_LIT50_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT50
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "d"
}
;
134#define _OMC_LIT50((void*)((char*)(&(_OMC_LIT_STRUCT50).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT50)((void*)((char*)(&(_OMC_LIT_STRUCT50).header) + 3))
135static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT51,2,5)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT51
= { (((2) << 10) + (((5) & 255) << 2)),
{&DAE_Type_T__STRING__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
136#define _OMC_LIT51((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT51)((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3))
137static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT52,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT52
= { (((2) << 10) + (((3) & 255) << 2)),
{&DAE_Operator_ADD__desc,_OMC_LIT51((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3))}};
138#define _OMC_LIT52((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT52)((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3))
139#define _OMC_LIT53_data"String" "String"
140static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT53,6,_OMC_LIT53_data)struct { mmc_uint_t header; const char data[(6)+1]; } _OMC_LIT_STRUCT53
= { ((((mmc_uint_t)6)<<(3))+((1<<(3+3))+5)), "String"
}
;
141#define _OMC_LIT53((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT53)((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3))
142static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT54,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT54
= { (((2) << 10) + (((4) & 255) << 2)),
{&Absyn_Path_IDENT__desc,_OMC_LIT53((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3))}};
143#define _OMC_LIT54((void*)((char*)(&(_OMC_LIT_STRUCT54).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT54)((void*)((char*)(&(_OMC_LIT_STRUCT54).header) + 3))
144static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT55,1,7)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT55
= { (((1) << 10) + (((7) & 255) << 2)),
{&DAE_InlineType_NO__INLINE__desc,}};
145#define _OMC_LIT55((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT55)((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3))
146static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT56,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT56
= { (((1) << 10) + (((3) & 255) << 2)),
{&DAE_TailCall_NO__TAIL__desc,}};
147#define _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT56)((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3))
148static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT57,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT57
= { (((8) << 10) + (((3) & 255) << 2)),
{&DAE_CallAttributes_CALL__ATTR__desc,_OMC_LIT51((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT55((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3)),_OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3))}};
149#define _OMC_LIT57((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT57)((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3))
150#define _OMC_LIT58_data"AssertionLevel" "AssertionLevel"
151static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT58,14,_OMC_LIT58_data)struct { mmc_uint_t header; const char data[(14)+1]; } _OMC_LIT_STRUCT58
= { ((((mmc_uint_t)14)<<(3))+((1<<(3+3))+5)), "AssertionLevel"
}
;
152#define _OMC_LIT58((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT58)((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3))
153#define _OMC_LIT59_data"warning" "warning"
154static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT59,7,_OMC_LIT59_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT59
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "warning"
}
;
155#define _OMC_LIT59((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT59)((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3))
156static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT60,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT60
= { (((2) << 10) + (((4) & 255) << 2)),
{&Absyn_Path_IDENT__desc,_OMC_LIT59((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3))}};
157#define _OMC_LIT60((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT60)((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3))
158static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT61,3,3)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT61
= { (((3) << 10) + (((3) & 255) << 2)),
{&Absyn_Path_QUALIFIED__desc,_OMC_LIT58((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3)),_OMC_LIT60((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3))}};
159#define _OMC_LIT61((void*)((char*)(&(_OMC_LIT_STRUCT61).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT61)((void*)((char*)(&(_OMC_LIT_STRUCT61).header) + 3))
160static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT62,3,8)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT62
= { (((3) << 10) + (((8) & 255) << 2)),
{&DAE_Exp_ENUM__LITERAL__desc,_OMC_LIT61((void*)((char*)(&(_OMC_LIT_STRUCT61).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(2))((void*)(((((mmc_uint_t) (2)) << 1)+0)))}};
161#define _OMC_LIT62((void*)((char*)(&(_OMC_LIT_STRUCT62).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT62)((void*)((char*)(&(_OMC_LIT_STRUCT62).header) + 3))
162#define _OMC_LIT63_data"Nominal variable " "Nominal variable "
163static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT63,17,_OMC_LIT63_data)struct { mmc_uint_t header; const char data[(17)+1]; } _OMC_LIT_STRUCT63
= { ((((mmc_uint_t)17)<<(3))+((1<<(3+3))+5)), "Nominal variable "
}
;
164#define _OMC_LIT63((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT63)((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3))
165#define _OMC_LIT64_data"Variable " "Variable "
166static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT64,9,_OMC_LIT64_data)struct { mmc_uint_t header; const char data[(9)+1]; } _OMC_LIT_STRUCT64
= { ((((mmc_uint_t)9)<<(3))+((1<<(3+3))+5)), "Variable "
}
;
167#define _OMC_LIT64((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT64)((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3))
168#define _OMC_LIT65_data"violating min/max constraint: " "violating min/max constraint: "
169static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT65,30,_OMC_LIT65_data)struct { mmc_uint_t header; const char data[(30)+1]; } _OMC_LIT_STRUCT65
= { ((((mmc_uint_t)30)<<(3))+((1<<(3+3))+5)), "violating min/max constraint: "
}
;
170#define _OMC_LIT65((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT65)((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3))
171#define _OMC_LIT66_data" <= " " <= "
172static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT66,4,_OMC_LIT66_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT66
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), " <= "
}
;
173#define _OMC_LIT66((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT66)((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3))
174#define _OMC_LIT67_data", has value: " ", has value: "
175static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT67,13,_OMC_LIT67_data)struct { mmc_uint_t header; const char data[(13)+1]; } _OMC_LIT_STRUCT67
= { ((((mmc_uint_t)13)<<(3))+((1<<(3+3))+5)), ", has value: "
}
;
176#define _OMC_LIT67((void*)((char*)(&(_OMC_LIT_STRUCT67).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT67)((void*)((char*)(&(_OMC_LIT_STRUCT67).header) + 3))
177#define _OMC_LIT68_data"violating min constraint: " "violating min constraint: "
178static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT68,26,_OMC_LIT68_data)struct { mmc_uint_t header; const char data[(26)+1]; } _OMC_LIT_STRUCT68
= { ((((mmc_uint_t)26)<<(3))+((1<<(3+3))+5)), "violating min constraint: "
}
;
179#define _OMC_LIT68((void*)((char*)(&(_OMC_LIT_STRUCT68).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT68)((void*)((char*)(&(_OMC_LIT_STRUCT68).header) + 3))
180#define _OMC_LIT69_data"violating max constraint: " "violating max constraint: "
181static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT69,26,_OMC_LIT69_data)struct { mmc_uint_t header; const char data[(26)+1]; } _OMC_LIT_STRUCT69
= { ((((mmc_uint_t)26)<<(3))+((1<<(3+3))+5)), "violating max constraint: "
}
;
182#define _OMC_LIT69((void*)((char*)(&(_OMC_LIT_STRUCT69).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT69)((void*)((char*)(&(_OMC_LIT_STRUCT69).header) + 3))
183static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT70,2,6)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT70
= { (((2) << 10) + (((6) & 255) << 2)),
{&DAE_Type_T__BOOL__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
184#define _OMC_LIT70((void*)((char*)(&(_OMC_LIT_STRUCT70).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT70)((void*)((char*)(&(_OMC_LIT_STRUCT70).header) + 3))
185static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT71,2,25)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT71
= { (((2) << 10) + (((25) & 255) << 2)),
{&DAE_Operator_AND__desc,_OMC_LIT70((void*)((char*)(&(_OMC_LIT_STRUCT70).header) + 3))}};
186#define _OMC_LIT71((void*)((char*)(&(_OMC_LIT_STRUCT71).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT71)((void*)((char*)(&(_OMC_LIT_STRUCT71).header) + 3))
187#define _OMC_LIT72_data"error" "error"
188static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT72,5,_OMC_LIT72_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT72
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "error"
}
;
189#define _OMC_LIT72((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT72)((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3))
190static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT73,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT73
= { (((2) << 10) + (((4) & 255) << 2)),
{&Absyn_Path_IDENT__desc,_OMC_LIT72((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3))}};
191#define _OMC_LIT73((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT73)((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3))
192static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT74,3,3)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT74
= { (((3) << 10) + (((3) & 255) << 2)),
{&Absyn_Path_QUALIFIED__desc,_OMC_LIT58((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3)),_OMC_LIT73((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3))}};
193#define _OMC_LIT74((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT74)((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3))
194static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT75,3,8)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT75
= { (((3) << 10) + (((8) & 255) << 2)),
{&DAE_Exp_ENUM__LITERAL__desc,_OMC_LIT74((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0)))}};
195#define _OMC_LIT75((void*)((char*)(&(_OMC_LIT_STRUCT75).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT75)((void*)((char*)(&(_OMC_LIT_STRUCT75).header) + 3))
196#define _OMC_LIT76_data"warnMinMax" "warnMinMax"
197static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT76,10,_OMC_LIT76_data)struct { mmc_uint_t header; const char data[(10)+1]; } _OMC_LIT_STRUCT76
= { ((((mmc_uint_t)10)<<(3))+((1<<(3+3))+5)), "warnMinMax"
}
;
198#define _OMC_LIT76((void*)((char*)(&(_OMC_LIT_STRUCT76).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT76)((void*)((char*)(&(_OMC_LIT_STRUCT76).header) + 3))
199#define _OMC_LIT77_data"Makes a warning assert from min/max variable attributes instead of error." "Makes a warning assert from min/max variable attributes instead of error."
200static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT77,73,_OMC_LIT77_data)struct { mmc_uint_t header; const char data[(73)+1]; } _OMC_LIT_STRUCT77
= { ((((mmc_uint_t)73)<<(3))+((1<<(3+3))+5)), "Makes a warning assert from min/max variable attributes instead of error."
}
;
201#define _OMC_LIT77((void*)((char*)(&(_OMC_LIT_STRUCT77).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT77)((void*)((char*)(&(_OMC_LIT_STRUCT77).header) + 3))
202static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT78,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT78
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT77((void*)((char*)(&(_OMC_LIT_STRUCT77).header) + 3))}};
203#define _OMC_LIT78((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT78)((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3))
204static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT79,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT79
= { (((5) << 10) + (((3) & 255) << 2)),
{&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(187))((void*)(((((mmc_uint_t) (187)) << 1)+0))),_OMC_LIT76((void*)((char*)(&(_OMC_LIT_STRUCT76).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0))),_OMC_LIT78((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3))}};
205#define _OMC_LIT79((void*)((char*)(&(_OMC_LIT_STRUCT79).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT79)((void*)((char*)(&(_OMC_LIT_STRUCT79).header) + 3))
206static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT80,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT80
= { (((1) << 10) + (((3) & 255) << 2)),
{&DAE_VarVisibility_PUBLIC__desc,}};
207#define _OMC_LIT80((void*)((char*)(&(_OMC_LIT_STRUCT80).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT80)((void*)((char*)(&(_OMC_LIT_STRUCT80).header) + 3))
208static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT81,1,9)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT81
= { (((1) << 10) + (((9) & 255) << 2)),
{&BackendDAE_VarKind_DISCRETE__desc,}};
209#define _OMC_LIT81((void*)((char*)(&(_OMC_LIT_STRUCT81).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT81)((void*)((char*)(&(_OMC_LIT_STRUCT81).header) + 3))
210static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT82,2,6)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT82
= { (((2) << 10) + (((6) & 255) << 2)),
{&DAE_Exp_BCONST__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0)))}};
211#define _OMC_LIT82((void*)((char*)(&(_OMC_LIT_STRUCT82).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT82)((void*)((char*)(&(_OMC_LIT_STRUCT82).header) + 3))
212#define _OMC_LIT83_data"$DERAlias" "$DERAlias"
213static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT83,9,_OMC_LIT83_data)struct { mmc_uint_t header; const char data[(9)+1]; } _OMC_LIT_STRUCT83
= { ((((mmc_uint_t)9)<<(3))+((1<<(3+3))+5)), "$DERAlias"
}
;
214#define _OMC_LIT83((void*)((char*)(&(_OMC_LIT_STRUCT83).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT83)((void*)((char*)(&(_OMC_LIT_STRUCT83).header) + 3))
215#define _OMC_LIT84_data"$CLKPRE" "$CLKPRE"
216static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT84,7,_OMC_LIT84_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT84
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "$CLKPRE"
}
;
217#define _OMC_LIT84((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT84)((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3))
218static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT85,1,14)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT85
= { (((1) << 10) + (((14) & 255) << 2)),
{&BackendDAE_VarKind_JAC__DIFF__VAR__desc,}};
219#define _OMC_LIT85((void*)((char*)(&(_OMC_LIT_STRUCT85).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT85)((void*)((char*)(&(_OMC_LIT_STRUCT85).header) + 3))
220#define _OMC_LIT86_data"$pDER" "$pDER"
221static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT86,5,_OMC_LIT86_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT86
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "$pDER"
}
;
222#define _OMC_LIT86((void*)((char*)(&(_OMC_LIT_STRUCT86).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT86)((void*)((char*)(&(_OMC_LIT_STRUCT86).header) + 3))
223#define _OMC_LIT87_data"Evaluate" "Evaluate"
224static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT87,8,_OMC_LIT87_data)struct { mmc_uint_t header; const char data[(8)+1]; } _OMC_LIT_STRUCT87
= { ((((mmc_uint_t)8)<<(3))+((1<<(3+3))+5)), "Evaluate"
}
;
225#define _OMC_LIT87((void*)((char*)(&(_OMC_LIT_STRUCT87).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT87)((void*)((char*)(&(_OMC_LIT_STRUCT87).header) + 3))
226#define _OMC_LIT88_data"false" "false"
227static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT88,5,_OMC_LIT88_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT88
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "false"
}
;
228#define _OMC_LIT88((void*)((char*)(&(_OMC_LIT_STRUCT88).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT88)((void*)((char*)(&(_OMC_LIT_STRUCT88).header) + 3))
229#define _OMC_LIT89_data"true" "true"
230static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT89,4,_OMC_LIT89_data)struct { mmc_uint_t header; const char data[(4)+1]; } _OMC_LIT_STRUCT89
= { ((((mmc_uint_t)4)<<(3))+((1<<(3+3))+5)), "true"
}
;
231#define _OMC_LIT89((void*)((char*)(&(_OMC_LIT_STRUCT89).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT89)((void*)((char*)(&(_OMC_LIT_STRUCT89).header) + 3))
232#define _OMC_LIT90_data"HideResult" "HideResult"
233static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT90,10,_OMC_LIT90_data)struct { mmc_uint_t header; const char data[(10)+1]; } _OMC_LIT_STRUCT90
= { ((((mmc_uint_t)10)<<(3))+((1<<(3+3))+5)), "HideResult"
}
;
234#define _OMC_LIT90((void*)((char*)(&(_OMC_LIT_STRUCT90).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT90)((void*)((char*)(&(_OMC_LIT_STRUCT90).header) + 3))
235#define _OMC_LIT91_data"isTimeGrid" "isTimeGrid"
236static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT91,10,_OMC_LIT91_data)struct { mmc_uint_t header; const char data[(10)+1]; } _OMC_LIT_STRUCT91
= { ((((mmc_uint_t)10)<<(3))+((1<<(3+3))+5)), "isTimeGrid"
}
;
237#define _OMC_LIT91((void*)((char*)(&(_OMC_LIT_STRUCT91).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT91)((void*)((char*)(&(_OMC_LIT_STRUCT91).header) + 3))
238#define _OMC_LIT92_data"isFinalConstraint" "isFinalConstraint"
239static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT92,17,_OMC_LIT92_data)struct { mmc_uint_t header; const char data[(17)+1]; } _OMC_LIT_STRUCT92
= { ((((mmc_uint_t)17)<<(3))+((1<<(3+3))+5)), "isFinalConstraint"
}
;
240#define _OMC_LIT92((void*)((char*)(&(_OMC_LIT_STRUCT92).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT92)((void*)((char*)(&(_OMC_LIT_STRUCT92).header) + 3))
241#define _OMC_LIT93_data"isConstraint" "isConstraint"
242static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT93,12,_OMC_LIT93_data)struct { mmc_uint_t header; const char data[(12)+1]; } _OMC_LIT_STRUCT93
= { ((((mmc_uint_t)12)<<(3))+((1<<(3+3))+5)), "isConstraint"
}
;
243#define _OMC_LIT93((void*)((char*)(&(_OMC_LIT_STRUCT93).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT93)((void*)((char*)(&(_OMC_LIT_STRUCT93).header) + 3))
244#define _OMC_LIT94_data"isLagrange" "isLagrange"
245static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT94,10,_OMC_LIT94_data)struct { mmc_uint_t header; const char data[(10)+1]; } _OMC_LIT_STRUCT94
= { ((((mmc_uint_t)10)<<(3))+((1<<(3+3))+5)), "isLagrange"
}
;
246#define _OMC_LIT94((void*)((char*)(&(_OMC_LIT_STRUCT94).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT94)((void*)((char*)(&(_OMC_LIT_STRUCT94).header) + 3))
247#define _OMC_LIT95_data"isMayer" "isMayer"
248static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT95,7,_OMC_LIT95_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT95
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "isMayer"
}
;
249#define _OMC_LIT95((void*)((char*)(&(_OMC_LIT_STRUCT95).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT95)((void*)((char*)(&(_OMC_LIT_STRUCT95).header) + 3))
250static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT96,16,3)struct { mmc_uint_t header; const void *data[16]; } _OMC_LIT_STRUCT96
= { (((16) << 10) + (((3) & 255) << 2)),
{&DAE_VariableAttributes_VAR__ATTR__REAL__desc,MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3))}};
251#define _OMC_LIT96((void*)((char*)(&(_OMC_LIT_STRUCT96).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT96)((void*)((char*)(&(_OMC_LIT_STRUCT96).header) + 3))
252static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT97,12,4)struct { mmc_uint_t header; const void *data[12]; } _OMC_LIT_STRUCT97
= { (((12) << 10) + (((4) & 255) << 2)),
{&DAE_VariableAttributes_VAR__ATTR__INT__desc,MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3))}};
253#define _OMC_LIT97((void*)((char*)(&(_OMC_LIT_STRUCT97).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT97)((void*)((char*)(&(_OMC_LIT_STRUCT97).header) + 3))
254static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT98,8,5)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT98
= { (((8) << 10) + (((5) & 255) << 2)),
{&DAE_VariableAttributes_VAR__ATTR__BOOL__desc,MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3))}};
255#define _OMC_LIT98((void*)((char*)(&(_OMC_LIT_STRUCT98).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT98)((void*)((char*)(&(_OMC_LIT_STRUCT98).header) + 3))
256static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT99,8,7)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT99
= { (((8) << 10) + (((7) & 255) << 2)),
{&DAE_VariableAttributes_VAR__ATTR__STRING__desc,MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3))}};
257#define _OMC_LIT99((void*)((char*)(&(_OMC_LIT_STRUCT99).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT99)((void*)((char*)(&(_OMC_LIT_STRUCT99).header) + 3))
258static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT100,10,8)struct { mmc_uint_t header; const void *data[10]; } _OMC_LIT_STRUCT100
= { (((10) << 10) + (((8) & 255) << 2)),
{&DAE_VariableAttributes_VAR__ATTR__ENUMERATION__desc,MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3))}};
259#define _OMC_LIT100((void*)((char*)(&(_OMC_LIT_STRUCT100).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT100)((void*)((char*)(&(_OMC_LIT_STRUCT100).header) + 3))
260#define _OMC_LIT101_data"getVariableAttributefromType called with unsopported Type!\n" "getVariableAttributefromType called with unsopported Type!\n"
261static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT101,59,_OMC_LIT101_data)struct { mmc_uint_t header; const char data[(59)+1]; } _OMC_LIT_STRUCT101
= { ((((mmc_uint_t)59)<<(3))+((1<<(3+3))+5)), "getVariableAttributefromType called with unsopported Type!\n"
}
;
262#define _OMC_LIT101((void*)((char*)(&(_OMC_LIT_STRUCT101).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT101)((void*)((char*)(&(_OMC_LIT_STRUCT101).header) + 3))
263#define _OMC_LIT102_data"failtrace" "failtrace"
264static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT102,9,_OMC_LIT102_data)struct { mmc_uint_t header; const char data[(9)+1]; } _OMC_LIT_STRUCT102
= { ((((mmc_uint_t)9)<<(3))+((1<<(3+3))+5)), "failtrace"
}
;
265#define _OMC_LIT102((void*)((char*)(&(_OMC_LIT_STRUCT102).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT102)((void*)((char*)(&(_OMC_LIT_STRUCT102).header) + 3))
266#define _OMC_LIT103_data"Sets whether to print a failtrace or not." "Sets whether to print a failtrace or not."
267static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT103,41,_OMC_LIT103_data)struct { mmc_uint_t header; const char data[(41)+1]; } _OMC_LIT_STRUCT103
= { ((((mmc_uint_t)41)<<(3))+((1<<(3+3))+5)), "Sets whether to print a failtrace or not."
}
;
268#define _OMC_LIT103((void*)((char*)(&(_OMC_LIT_STRUCT103).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT103)((void*)((char*)(&(_OMC_LIT_STRUCT103).header) + 3))
269static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT104,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT104
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT103((void*)((char*)(&(_OMC_LIT_STRUCT103).header) + 3))}};
270#define _OMC_LIT104((void*)((char*)(&(_OMC_LIT_STRUCT104).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT104)((void*)((char*)(&(_OMC_LIT_STRUCT104).header) + 3))
271static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT105,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT105
= { (((5) << 10) + (((3) & 255) << 2)),
{&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0))),_OMC_LIT102((void*)((char*)(&(_OMC_LIT_STRUCT102).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT104((void*)((char*)(&(_OMC_LIT_STRUCT104).header) + 3))}};
272#define _OMC_LIT105((void*)((char*)(&(_OMC_LIT_STRUCT105).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT105)((void*)((char*)(&(_OMC_LIT_STRUCT105).header) + 3))
273static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT106,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT106
= { (((1) << 10) + (((5) & 255) << 2)),
{&DAE_StateSelect_DEFAULT__desc,}};
274#define _OMC_LIT106((void*)((char*)(&(_OMC_LIT_STRUCT106).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT106)((void*)((char*)(&(_OMC_LIT_STRUCT106).header) + 3))
275#include "util/modelica.h"
276
277#include "BackendVariable_includes.h"
278
279
280/* default, do not make protected functions static */
281#if !defined(PROTECTED_FUNCTION_STATIC)
282#define PROTECTED_FUNCTION_STATIC
283#endif
284PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_mergeMax(threadData_t *threadData, modelica_metatype _inMax1, modelica_metatype _inMax2);
285static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_mergeMax,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_mergeMax
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_mergeMaxomc_BackendVariable_mergeMax,0}};
286#define boxvar_BackendVariable_mergeMax((void*)((char*)(&(boxvar_lit_BackendVariable_mergeMax).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_mergeMax)((void*)((char*)(&(boxvar_lit_BackendVariable_mergeMax).header
) + 3))
287PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_mergeMin(threadData_t *threadData, modelica_metatype _inMin1, modelica_metatype _inMin2);
288static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_mergeMin,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_mergeMin
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_mergeMinomc_BackendVariable_mergeMin,0}};
289#define boxvar_BackendVariable_mergeMin((void*)((char*)(&(boxvar_lit_BackendVariable_mergeMin).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_mergeMin)((void*)((char*)(&(boxvar_lit_BackendVariable_mergeMin).header
) + 3))
290PROTECTED_FUNCTION_STATIC void omc_BackendVariable_checkMinMax(threadData_t *threadData, modelica_metatype _inMin, modelica_metatype _inMax, modelica_metatype _cr1, modelica_metatype _cr2, modelica_boolean _negate);
291PROTECTED_FUNCTION_STATIC void boxptr_BackendVariable_checkMinMax(threadData_t *threadData, modelica_metatype _inMin, modelica_metatype _inMax, modelica_metatype _cr1, modelica_metatype _cr2, modelica_metatype _negate);
292static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_checkMinMax,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_checkMinMax
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_checkMinMax,0}};
293#define boxvar_BackendVariable_checkMinMax((void*)((char*)(&(boxvar_lit_BackendVariable_checkMinMax
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_checkMinMax)((void*)((char*)(&(boxvar_lit_BackendVariable_checkMinMax
).header) + 3))
294PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_mergeMinMax(threadData_t *threadData, modelica_boolean _negate, modelica_metatype _inMin1, modelica_metatype _inMin2, modelica_metatype _inMax1, modelica_metatype _inMax2, modelica_metatype _cr, modelica_metatype _cr1, modelica_metatype *out_outMax);
295PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_mergeMinMax(threadData_t *threadData, modelica_metatype _negate, modelica_metatype _inMin1, modelica_metatype _inMin2, modelica_metatype _inMax1, modelica_metatype _inMax2, modelica_metatype _cr, modelica_metatype _cr1, modelica_metatype *out_outMax);
296static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_mergeMinMax,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_mergeMinMax
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_mergeMinMax,0}};
297#define boxvar_BackendVariable_mergeMinMax((void*)((char*)(&(boxvar_lit_BackendVariable_mergeMinMax
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_mergeMinMax)((void*)((char*)(&(boxvar_lit_BackendVariable_mergeMinMax
).header) + 3))
298PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_getNonZeroStart(threadData_t *threadData, modelica_boolean _mustBeEqual, modelica_metatype _exp1, modelica_metatype _so, modelica_metatype _exp2, modelica_metatype _sao, modelica_metatype _globalKnownVars, modelica_metatype *out_outStartOrigin);
299PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_getNonZeroStart(threadData_t *threadData, modelica_metatype _mustBeEqual, modelica_metatype _exp1, modelica_metatype _so, modelica_metatype _exp2, modelica_metatype _sao, modelica_metatype _globalKnownVars, modelica_metatype *out_outStartOrigin);
300static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_getNonZeroStart,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_getNonZeroStart
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_getNonZeroStart,0}};
301#define boxvar_BackendVariable_getNonZeroStart((void*)((char*)(&(boxvar_lit_BackendVariable_getNonZeroStart
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_getNonZeroStart)((void*)((char*)(&(boxvar_lit_BackendVariable_getNonZeroStart
).header) + 3))
302PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_replaceCrefWithBindExp(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inTuple, modelica_metatype *out_outTuple);
303static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_replaceCrefWithBindExp,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_replaceCrefWithBindExp
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_replaceCrefWithBindExpomc_BackendVariable_replaceCrefWithBindExp,0}};
304#define boxvar_BackendVariable_replaceCrefWithBindExp((void*)((char*)(&(boxvar_lit_BackendVariable_replaceCrefWithBindExp
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_replaceCrefWithBindExp)((void*)((char*)(&(boxvar_lit_BackendVariable_replaceCrefWithBindExp
).header) + 3))
305PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_mergeStartFixed1(threadData_t *threadData, modelica_boolean _b, modelica_metatype _inVar, modelica_metatype _cr, modelica_metatype _sv, modelica_metatype _cra, modelica_metatype _sva, modelica_metatype _soa, modelica_boolean _negate, modelica_string _s4);
306PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_mergeStartFixed1(threadData_t *threadData, modelica_metatype _b, modelica_metatype _inVar, modelica_metatype _cr, modelica_metatype _sv, modelica_metatype _cra, modelica_metatype _sva, modelica_metatype _soa, modelica_metatype _negate, modelica_metatype _s4);
307static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_mergeStartFixed1,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_mergeStartFixed1
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_mergeStartFixed1,0}};
308#define boxvar_BackendVariable_mergeStartFixed1((void*)((char*)(&(boxvar_lit_BackendVariable_mergeStartFixed1
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_mergeStartFixed1)((void*)((char*)(&(boxvar_lit_BackendVariable_mergeStartFixed1
).header) + 3))
309PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_startValueType(threadData_t *threadData, modelica_metatype _iExp, modelica_metatype _iTy);
310static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_startValueType,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_startValueType
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_startValueTypeomc_BackendVariable_startValueType,0}};
311#define boxvar_BackendVariable_startValueType((void*)((char*)(&(boxvar_lit_BackendVariable_startValueType
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_startValueType)((void*)((char*)(&(boxvar_lit_BackendVariable_startValueType
).header) + 3))
312PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_mergeStartFixed(threadData_t *threadData, modelica_metatype _inVar, modelica_boolean _fixed, modelica_metatype _sv, modelica_metatype _so, modelica_metatype _inAVar, modelica_boolean _fixeda, modelica_metatype _sva, modelica_metatype _soa, modelica_boolean _negate, modelica_metatype _globalKnownVars);
313PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_mergeStartFixed(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _fixed, modelica_metatype _sv, modelica_metatype _so, modelica_metatype _inAVar, modelica_metatype _fixeda, modelica_metatype _sva, modelica_metatype _soa, modelica_metatype _negate, modelica_metatype _globalKnownVars);
314static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_mergeStartFixed,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_mergeStartFixed
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_mergeStartFixed,0}};
315#define boxvar_BackendVariable_mergeStartFixed((void*)((char*)(&(boxvar_lit_BackendVariable_mergeStartFixed
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_mergeStartFixed)((void*)((char*)(&(boxvar_lit_BackendVariable_mergeStartFixed
).header) + 3))
316PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingisXXXFinder(threadData_t *threadData, modelica_metatype _D_24in_inVar, modelica_metatype _v_lst, modelica_metatype _i_lst, modelica_fnptr _isFunc, modelica_metatype _D_24in_i, modelica_metatype *out_i);
317static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_traversingisXXXFinder,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_traversingisXXXFinder
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_traversingisXXXFinderomc_BackendVariable_traversingisXXXFinder,0}};
318#define boxvar_BackendVariable_traversingisXXXFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisXXXFinder
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_traversingisXXXFinder)((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisXXXFinder
).header) + 3))
319PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingisStateCount(threadData_t *threadData, modelica_metatype _D_24in_v, modelica_integer _D_24in_count, modelica_integer *out_count);
320PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_traversingisStateCount(threadData_t *threadData, modelica_metatype _D_24in_v, modelica_metatype _D_24in_count, modelica_metatype *out_count);
321static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_traversingisStateCount,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_traversingisStateCount
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_traversingisStateCount,0}};
322#define boxvar_BackendVariable_traversingisStateCount((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisStateCount
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_traversingisStateCount)((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisStateCount
).header) + 3))
323PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingisClockedStateVarFinder(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVars, modelica_metatype *out_v_lst);
324static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_traversingisClockedStateVarFinder,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_traversingisClockedStateVarFinder
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_traversingisClockedStateVarFinderomc_BackendVariable_traversingisClockedStateVarFinder,0}};
325#define boxvar_BackendVariable_traversingisClockedStateVarFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisClockedStateVarFinder
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_traversingisClockedStateVarFinder)((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisClockedStateVarFinder
).header) + 3))
326PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingisStateVarFinder(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVars, modelica_metatype *out_v_lst);
327static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_traversingisStateVarFinder,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_traversingisStateVarFinder
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_traversingisStateVarFinderomc_BackendVariable_traversingisStateVarFinder,0}};
328#define boxvar_BackendVariable_traversingisStateVarFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisStateVarFinder
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_traversingisStateVarFinder)((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisStateVarFinder
).header) + 3))
329PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingisisVarDiscreteFinder(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVars, modelica_metatype *out_v_lst);
330static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_traversingisisVarDiscreteFinder,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_traversingisisVarDiscreteFinder
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_traversingisisVarDiscreteFinderomc_BackendVariable_traversingisisVarDiscreteFinder,0}};
331#define boxvar_BackendVariable_traversingisisVarDiscreteFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisisVarDiscreteFinder
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_traversingisisVarDiscreteFinder)((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisisVarDiscreteFinder
).header) + 3))
332PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingVarCrefFinder(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inCrefs, modelica_metatype *out_outCrefs);
333static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_traversingVarCrefFinder,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_traversingVarCrefFinder
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_traversingVarCrefFinderomc_BackendVariable_traversingVarCrefFinder,0}};
334#define boxvar_BackendVariable_traversingVarCrefFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingVarCrefFinder
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_traversingVarCrefFinder)((void*)((char*)(&(boxvar_lit_BackendVariable_traversingVarCrefFinder
).header) + 3))
335PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traverseBackendDAEVarsWithUpdate2(threadData_t *threadData, modelica_metatype _inVar, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg);
336static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_traverseBackendDAEVarsWithUpdate2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_traverseBackendDAEVarsWithUpdate2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_traverseBackendDAEVarsWithUpdate2omc_BackendVariable_traverseBackendDAEVarsWithUpdate2,0}};
337#define boxvar_BackendVariable_traverseBackendDAEVarsWithUpdate2((void*)((char*)(&(boxvar_lit_BackendVariable_traverseBackendDAEVarsWithUpdate2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_traverseBackendDAEVarsWithUpdate2)((void*)((char*)(&(boxvar_lit_BackendVariable_traverseBackendDAEVarsWithUpdate2
).header) + 3))
338PROTECTED_FUNCTION_STATIC modelica_boolean omc_BackendVariable_traverseBackendDAEVarsWithStop2(threadData_t *threadData, modelica_metatype _inVar, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg);
339PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_traverseBackendDAEVarsWithStop2(threadData_t *threadData, modelica_metatype _inVar, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg);
340static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_traverseBackendDAEVarsWithStop2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_traverseBackendDAEVarsWithStop2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_traverseBackendDAEVarsWithStop2,0}};
341#define boxvar_BackendVariable_traverseBackendDAEVarsWithStop2((void*)((char*)(&(boxvar_lit_BackendVariable_traverseBackendDAEVarsWithStop2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_traverseBackendDAEVarsWithStop2)((void*)((char*)(&(boxvar_lit_BackendVariable_traverseBackendDAEVarsWithStop2
).header) + 3))
342PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traverseBackendDAEVars2(threadData_t *threadData, modelica_metatype _inVar, modelica_fnptr _inFunc, modelica_metatype _inArg);
343static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_traverseBackendDAEVars2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_traverseBackendDAEVars2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_traverseBackendDAEVars2omc_BackendVariable_traverseBackendDAEVars2,0}};
344#define boxvar_BackendVariable_traverseBackendDAEVars2((void*)((char*)(&(boxvar_lit_BackendVariable_traverseBackendDAEVars2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_traverseBackendDAEVars2)((void*)((char*)(&(boxvar_lit_BackendVariable_traverseBackendDAEVars2
).header) + 3))
345PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingVarIndexInFirstSetFinder(threadData_t *threadData, modelica_metatype _D_24in_var, modelica_metatype _D_24in_data, modelica_metatype *out_data);
346static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_traversingVarIndexInFirstSetFinder,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_traversingVarIndexInFirstSetFinder
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_traversingVarIndexInFirstSetFinderomc_BackendVariable_traversingVarIndexInFirstSetFinder,0}};
347#define boxvar_BackendVariable_traversingVarIndexInFirstSetFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingVarIndexInFirstSetFinder
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_traversingVarIndexInFirstSetFinder)((void*)((char*)(&(boxvar_lit_BackendVariable_traversingVarIndexInFirstSetFinder
).header) + 3))
348PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingVarIndexFinder(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVars, modelica_metatype _inIndices, modelica_metatype *out_outIndices);
349static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_traversingVarIndexFinder,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_traversingVarIndexFinder
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_traversingVarIndexFinderomc_BackendVariable_traversingVarIndexFinder,0}};
350#define boxvar_BackendVariable_traversingVarIndexFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingVarIndexFinder
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_traversingVarIndexFinder)((void*)((char*)(&(boxvar_lit_BackendVariable_traversingVarIndexFinder
).header) + 3))
351PROTECTED_FUNCTION_STATIC modelica_boolean omc_BackendVariable_crefIndexEqualCref(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _inIndex);
352PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_crefIndexEqualCref(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _inIndex);
353static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_crefIndexEqualCref,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_crefIndexEqualCref
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_crefIndexEqualCref,0}};
354#define boxvar_BackendVariable_crefIndexEqualCref((void*)((char*)(&(boxvar_lit_BackendVariable_crefIndexEqualCref
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_crefIndexEqualCref)((void*)((char*)(&(boxvar_lit_BackendVariable_crefIndexEqualCref
).header) + 3))
355PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_computeRangeExps(threadData_t *threadData, modelica_metatype _inExp, modelica_boolean *out_isCalculated);
356PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_computeRangeExps(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype *out_isCalculated);
357static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_computeRangeExps,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_computeRangeExps
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_computeRangeExps,0}};
358#define boxvar_BackendVariable_computeRangeExps((void*)((char*)(&(boxvar_lit_BackendVariable_computeRangeExps
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_computeRangeExps)((void*)((char*)(&(boxvar_lit_BackendVariable_computeRangeExps
).header) + 3))
359PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_replaceVarWithWholeDimSubs(threadData_t *threadData, modelica_metatype _inSubscript, modelica_boolean _iPerformed, modelica_boolean *out_oPerformed);
360PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_replaceVarWithWholeDimSubs(threadData_t *threadData, modelica_metatype _inSubscript, modelica_metatype _iPerformed, modelica_metatype *out_oPerformed);
361static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_replaceVarWithWholeDimSubs,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_replaceVarWithWholeDimSubs
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_replaceVarWithWholeDimSubs,0}};
362#define boxvar_BackendVariable_replaceVarWithWholeDimSubs((void*)((char*)(&(boxvar_lit_BackendVariable_replaceVarWithWholeDimSubs
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_replaceVarWithWholeDimSubs)((void*)((char*)(&(boxvar_lit_BackendVariable_replaceVarWithWholeDimSubs
).header) + 3))
363PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_replaceVarWithWholeDim(threadData_t *threadData, modelica_metatype _inCref, modelica_boolean _iPerformed, modelica_boolean *out_oPerformed);
364PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_replaceVarWithWholeDim(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _iPerformed, modelica_metatype *out_oPerformed);
365static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_replaceVarWithWholeDim,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_replaceVarWithWholeDim
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_replaceVarWithWholeDim,0}};
366#define boxvar_BackendVariable_replaceVarWithWholeDim((void*)((char*)(&(boxvar_lit_BackendVariable_replaceVarWithWholeDim
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_replaceVarWithWholeDim)((void*)((char*)(&(boxvar_lit_BackendVariable_replaceVarWithWholeDim
).header) + 3))
367PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_isKnownAndParamWork(threadData_t *threadData, modelica_metatype _D_24in_inExp, modelica_metatype _D_24in_tpl, modelica_metatype *out_tpl);
368static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_isKnownAndParamWork,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_isKnownAndParamWork
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_isKnownAndParamWorkomc_BackendVariable_isKnownAndParamWork,0}};
369#define boxvar_BackendVariable_isKnownAndParamWork((void*)((char*)(&(boxvar_lit_BackendVariable_isKnownAndParamWork
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_isKnownAndParamWork)((void*)((char*)(&(boxvar_lit_BackendVariable_isKnownAndParamWork
).header) + 3))
370PROTECTED_FUNCTION_STATIC modelica_boolean omc_BackendVariable_removeVar2(threadData_t *threadData, modelica_metatype _inCrefIndex1, modelica_metatype _inCrefIndex2);
371PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_removeVar2(threadData_t *threadData, modelica_metatype _inCrefIndex1, modelica_metatype _inCrefIndex2);
372static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_removeVar2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_removeVar2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_removeVar2,0}};
373#define boxvar_BackendVariable_removeVar2((void*)((char*)(&(boxvar_lit_BackendVariable_removeVar2)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_removeVar2)((void*)((char*)(&(boxvar_lit_BackendVariable_removeVar2)
.header) + 3))
374PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_deleteVars1(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVars, modelica_metatype *out_outVars);
375static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_deleteVars1,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_deleteVars1
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_deleteVars1omc_BackendVariable_deleteVars1,0}};
376#define boxvar_BackendVariable_deleteVars1((void*)((char*)(&(boxvar_lit_BackendVariable_deleteVars1
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_deleteVars1)((void*)((char*)(&(boxvar_lit_BackendVariable_deleteVars1
).header) + 3))
377PROTECTED_FUNCTION_STATIC modelica_real omc_BackendVariable_varsLoadFactor(threadData_t *threadData, modelica_metatype _inVariables, modelica_integer _inIncrease);
378PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_varsLoadFactor(threadData_t *threadData, modelica_metatype _inVariables, modelica_metatype _inIncrease);
379static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_varsLoadFactor,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_varsLoadFactor
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_varsLoadFactor,0}};
380#define boxvar_BackendVariable_varsLoadFactor((void*)((char*)(&(boxvar_lit_BackendVariable_varsLoadFactor
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_varsLoadFactor)((void*)((char*)(&(boxvar_lit_BackendVariable_varsLoadFactor
).header) + 3))
381PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_vararrayList(threadData_t *threadData, modelica_metatype _inArray);
382static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_vararrayList,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_vararrayList
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_vararrayListomc_BackendVariable_vararrayList,0}};
383#define boxvar_BackendVariable_vararrayList((void*)((char*)(&(boxvar_lit_BackendVariable_vararrayList
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_vararrayList)((void*)((char*)(&(boxvar_lit_BackendVariable_vararrayList
).header) + 3))
384PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_vararrayDelete(threadData_t *threadData, modelica_metatype _inVariableArray, modelica_integer _inIndex, modelica_metatype *out_outVar);
385PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_vararrayDelete(threadData_t *threadData, modelica_metatype _inVariableArray, modelica_metatype _inIndex, modelica_metatype *out_outVar);
386static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_vararrayDelete,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_vararrayDelete
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_vararrayDelete,0}};
387#define boxvar_BackendVariable_vararrayDelete((void*)((char*)(&(boxvar_lit_BackendVariable_vararrayDelete
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_vararrayDelete)((void*)((char*)(&(boxvar_lit_BackendVariable_vararrayDelete
).header) + 3))
388PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_vararrayNth(threadData_t *threadData, modelica_metatype _inVariableArray, modelica_integer _inIndex);
389PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_vararrayNth(threadData_t *threadData, modelica_metatype _inVariableArray, modelica_metatype _inIndex);
390static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_vararrayNth,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_vararrayNth
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_vararrayNth,0}};
391#define boxvar_BackendVariable_vararrayNth((void*)((char*)(&(boxvar_lit_BackendVariable_vararrayNth
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_vararrayNth)((void*)((char*)(&(boxvar_lit_BackendVariable_vararrayNth
).header) + 3))
392PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_vararraySetnth(threadData_t *threadData, modelica_metatype _inVariableArray, modelica_integer _inIndex, modelica_metatype _inVar);
393PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_vararraySetnth(threadData_t *threadData, modelica_metatype _inVariableArray, modelica_metatype _inIndex, modelica_metatype _inVar);
394static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_vararraySetnth,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_vararraySetnth
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_vararraySetnth,0}};
395#define boxvar_BackendVariable_vararraySetnth((void*)((char*)(&(boxvar_lit_BackendVariable_vararraySetnth
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_vararraySetnth)((void*)((char*)(&(boxvar_lit_BackendVariable_vararraySetnth
).header) + 3))
396PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_vararrayAdd(threadData_t *threadData, modelica_metatype _inVariableArray, modelica_metatype _inVar);
397static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_vararrayAdd,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_vararrayAdd
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_vararrayAddomc_BackendVariable_vararrayAdd,0}};
398#define boxvar_BackendVariable_vararrayAdd((void*)((char*)(&(boxvar_lit_BackendVariable_vararrayAdd
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_vararrayAdd)((void*)((char*)(&(boxvar_lit_BackendVariable_vararrayAdd
).header) + 3))
399PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_vararrayEmpty(threadData_t *threadData, modelica_integer _inSize);
400PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_vararrayEmpty(threadData_t *threadData, modelica_metatype _inSize);
401static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_vararrayEmpty,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_vararrayEmpty
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_vararrayEmpty,0}};
402#define boxvar_BackendVariable_vararrayEmpty((void*)((char*)(&(boxvar_lit_BackendVariable_vararrayEmpty
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_vararrayEmpty)((void*)((char*)(&(boxvar_lit_BackendVariable_vararrayEmpty
).header) + 3))
403PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_copyArray(threadData_t *threadData, modelica_metatype _inVariableArray);
404static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_copyArray,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_copyArray
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_copyArrayomc_BackendVariable_copyArray,0}};
405#define boxvar_BackendVariable_copyArray((void*)((char*)(&(boxvar_lit_BackendVariable_copyArray).
header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_copyArray)((void*)((char*)(&(boxvar_lit_BackendVariable_copyArray).
header) + 3))
406PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_getAlias1(threadData_t *threadData, modelica_metatype _inExp, modelica_boolean *out_negated);
407PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_getAlias1(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype *out_negated);
408static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_getAlias1,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_getAlias1
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_getAlias1,0}};
409#define boxvar_BackendVariable_getAlias1((void*)((char*)(&(boxvar_lit_BackendVariable_getAlias1).
header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_getAlias1)((void*)((char*)(&(boxvar_lit_BackendVariable_getAlias1).
header) + 3))
410PROTECTED_FUNCTION_STATIC modelica_string omc_BackendVariable_getMinMaxAsserts1Str(threadData_t *threadData, modelica_metatype _omin, modelica_metatype _omax, modelica_string _varStr, modelica_boolean _nominal);
411PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_getMinMaxAsserts1Str(threadData_t *threadData, modelica_metatype _omin, modelica_metatype _omax, modelica_metatype _varStr, modelica_metatype _nominal);
412static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_getMinMaxAsserts1Str,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_getMinMaxAsserts1Str
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_getMinMaxAsserts1Str,0}};
413#define boxvar_BackendVariable_getMinMaxAsserts1Str((void*)((char*)(&(boxvar_lit_BackendVariable_getMinMaxAsserts1Str
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_getMinMaxAsserts1Str)((void*)((char*)(&(boxvar_lit_BackendVariable_getMinMaxAsserts1Str
).header) + 3))
414PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_getMinMaxAsserts1(threadData_t *threadData, modelica_metatype _omin, modelica_metatype _omax, modelica_metatype _e, modelica_metatype _tp);
415static const MMC_DEFSTRUCTLIT(boxvar_lit_BackendVariable_getMinMaxAsserts1,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_BackendVariable_getMinMaxAsserts1
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_BackendVariable_getMinMaxAsserts1omc_BackendVariable_getMinMaxAsserts1,0}};
416#define boxvar_BackendVariable_getMinMaxAsserts1((void*)((char*)(&(boxvar_lit_BackendVariable_getMinMaxAsserts1
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_BackendVariable_getMinMaxAsserts1)((void*)((char*)(&(boxvar_lit_BackendVariable_getMinMaxAsserts1
).header) + 3))
417
418DLLExport
419modelica_metatype omc_BackendVariable_varExp2(threadData_t *threadData, modelica_metatype _inVar)
420{
421 modelica_metatype _outExp = NULL((void*)0);
422 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
423 MMC_SO()mmc_check_stackoverflow(threadData);
424 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
425 // _outExp has no default value.
426#line 426 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
427 { /* match expression */
428 modelica_metatype tmp3_1;
429 tmp3_1 = _inVar;
430 {
431 modelica_metatype _exp = NULL((void*)0);
432 volatile mmc_switch_type tmp3;
433 int tmp4;
434 // _exp has no default value.
435 tmp3 = 0;
436 for (; tmp3 < 2; tmp3++) {
437 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
438 case 0: {
439 modelica_integer tmp5;
440 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
441 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((3 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
442 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
443 tmp5 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
444 if (1 != tmp5) goto tmp2_end;
445
446 /* Pattern matching succeeded */
447#line 4456 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
448 _exp = omc_Expression_crefExp(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
));
449#line 449 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
450#line 4457 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
451 tmpMeta[0] = omc_Expression_expDer(threadData, _exp);
452#line 452 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
453 goto tmp2_done;
454 }
455 case 1: {
456
457 /* Pattern matching succeeded */
458#line 4459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
459 tmpMeta[0] = omc_Expression_crefExp(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
));
460#line 460 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
461 goto tmp2_done;
462 }
463 }
464 goto tmp2_end;
465 tmp2_end: ;
466 }
467 goto goto_1;
468 goto_1:;
469 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
470 goto tmp2_done;
471 tmp2_done:;
472 }
473 }
474 _outExp = tmpMeta[0];
475 _return: OMC_LABEL_UNUSED__attribute__((unused))
476 return _outExp;
477}
478
479DLLExport
480modelica_metatype omc_BackendVariable_varExp(threadData_t *threadData, modelica_metatype _inVar)
481{
482 modelica_metatype _outExp = NULL((void*)0);
483 MMC_SO()mmc_check_stackoverflow(threadData);
484 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
485 // _outExp has no default value.
486#line 4444 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
487 _outExp = omc_Expression_crefExp(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
));
488#line 488 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
489 _return: OMC_LABEL_UNUSED__attribute__((unused))
490 return _outExp;
491}
492
493DLLExport
494modelica_boolean omc_BackendVariable_isRecordVar(threadData_t *threadData, modelica_metatype _inVar)
495{
496 modelica_boolean _isRec;
497 MMC_SO()mmc_check_stackoverflow(threadData);
498 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
499 _isRec = mmc_unbox_boolean(omc_ComponentReference_traverseCref(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))), boxvar_ComponentReference_crefIsRec, mmc_mk_boolean(0)))(((mmc_sint_t) (omc_ComponentReference_traverseCref(threadData
, ((*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3)
)) + (2)))))), ((void*)((char*)(&(boxvar_lit_ComponentReference_crefIsRec
).header) + 3)), ((0) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(
0)))))) >> 1)
;
500 _return: OMC_LABEL_UNUSED__attribute__((unused))
501 return _isRec;
502}
503modelica_metatype boxptr_BackendVariable_isRecordVar(threadData_t *threadData, modelica_metatype _inVar)
504{
505 modelica_boolean _isRec;
506 modelica_metatype out_isRec;
507 _isRec = omc_BackendVariable_isRecordVar(threadData, _inVar);
508 out_isRec = mmc_mk_icon(_isRec);
509 return out_isRec;
510}
511
512DLLExport
513modelica_metatype omc_BackendVariable_setStateIndex(threadData_t *threadData, modelica_metatype _v1, modelica_integer _idx)
514{
515 modelica_metatype _v2 = NULL((void*)0);
516 modelica_metatype _derName = NULL((void*)0);
517 modelica_boolean _natural;
518 modelica_integer tmp1;
519 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
520 MMC_SO()mmc_check_stackoverflow(threadData);
521 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
522 _v2 = _v1;
523 // _derName has no default value.
524 // _natural has no default value.
525#line 4428 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
526 if(omc_BackendVariable_isStateVar(threadData, _v1))
527#line 4428 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
528 {
529#line 4429 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
530 /* Pattern-matching assignment */
531#line 4429 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
532 tmpMeta[0] = omc_BackendVariable_getVarKind(threadData, _v1);
533#line 4429 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
534 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((3 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
535#line 4429 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
536 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
537#line 4429 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
538 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (4)))))
;
539#line 4429 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
540 tmp1 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
541#line 4429 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
542 _derName = tmpMeta[1];
543#line 4429 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
544 _natural = tmp1 /* pattern as ty=Boolean */;
545#line 545 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
546
547#line 4430 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
548 tmpMeta[0] = mmc_mk_box4(4, &BackendDAE_VarKind_STATE__desc, mmc_mk_integermmc_mk_icon(_idx), _derName, mmc_mk_boolean(_natural)((_natural) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))));
549#line 4430 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
550 _v2 = omc_BackendVariable_setVarKind(threadData, _v1, tmpMeta[0]);
551#line 551 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
552 }
553 _return: OMC_LABEL_UNUSED__attribute__((unused))
554 return _v2;
555}
556modelica_metatype boxptr_BackendVariable_setStateIndex(threadData_t *threadData, modelica_metatype _v1, modelica_metatype _idx)
557{
558 modelica_integer tmp1;
559 modelica_metatype _v2 = NULL((void*)0);
560 tmp1 = mmc_unbox_integer(_idx)(((mmc_sint_t) (_idx)) >> 1);
561 _v2 = omc_BackendVariable_setStateIndex(threadData, _v1, tmp1);
562 /* skip box _v2; BackendDAE.Var */
563 return _v2;
564}
565
566DLLExport
567modelica_metatype omc_BackendVariable_transformXToXd(threadData_t *threadData, modelica_metatype _inVar)
568{
569 modelica_metatype _outVar = NULL((void*)0);
570 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
571 MMC_SO()mmc_check_stackoverflow(threadData);
572 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
573 // _outVar has no default value.
574#line 574 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
575 { /* match expression */
576 modelica_metatype tmp3_1;
577 tmp3_1 = _inVar;
578 {
579 volatile mmc_switch_type tmp3;
580 int tmp4;
581 tmp3 = 0;
582 for (; tmp3 < 2; tmp3++) {
583 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
584 case 0: {
585 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
586 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((3 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
587
588 /* Pattern matching succeeded */
589#line 4410 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
590 _outVar = _inVar;
591#line 591 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
592
593#line 4411 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
594 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(18))((void*)((char*)(mmc_alloc_words(18)) + 3));
595#line 4411 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
596 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_outVar)((void*)((char*)(_outVar) - 3)), 18*sizeof(modelica_metatype));
597#line 4411 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
598 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[2] = omc_ComponentReference_crefPrefixDer(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
));
599#line 4411 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
600 _outVar = tmpMeta[1];
601#line 601 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
602
603#line 4412 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
604 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(18))((void*)((char*)(mmc_alloc_words(18)) + 3));
605#line 4412 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
606 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_outVar)((void*)((char*)(_outVar) - 3)), 18*sizeof(modelica_metatype));
607#line 4412 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
608 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[3] = _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3));
609#line 4412 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
610 _outVar = tmpMeta[1];
611#line 611 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
612#line 4413 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
613 tmpMeta[0] = _outVar;
614#line 614 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
615 goto tmp2_done;
616 }
617 case 1: {
618
619 /* Pattern matching succeeded */
620#line 4415 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
621 tmpMeta[0] = _inVar;
622#line 622 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
623 goto tmp2_done;
624 }
625 }
626 goto tmp2_end;
627 tmp2_end: ;
628 }
629 goto goto_1;
630 goto_1:;
631 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
632 goto tmp2_done;
633 tmp2_done:;
634 }
635 }
636 _outVar = tmpMeta[0];
637 _return: OMC_LABEL_UNUSED__attribute__((unused))
638 return _outVar;
639}
640
641DLLExport
642modelica_integer omc_BackendVariable_stateSelectToInteger(threadData_t *threadData, modelica_metatype _inStateSelect)
643{
644 modelica_integer _prio;
645 modelica_integer tmp1 = 0;
646 MMC_SO()mmc_check_stackoverflow(threadData);
647 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
648 // _prio has no default value.
649#line 649 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
650 { /* match expression */
651 modelica_metatype tmp4_1;
652 tmp4_1 = _inStateSelect;
653 {
654 int tmp4;
655 {
656 switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) >> 2
) & 255))
) {
657 case 3: {
658
659 /* Pattern matching succeeded */
660#line 4394 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
661 tmp1 = ((modelica_integer) -1);
662#line 662 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
663 goto tmp3_done;
664 }
665 case 4: {
666
667 /* Pattern matching succeeded */
668#line 4395 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
669 tmp1 = ((modelica_integer) 0);
670#line 670 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
671 goto tmp3_done;
672 }
673 case 5: {
674
675 /* Pattern matching succeeded */
676#line 4396 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
677 tmp1 = ((modelica_integer) 1);
678#line 678 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
679 goto tmp3_done;
680 }
681 case 6: {
682
683 /* Pattern matching succeeded */
684#line 4397 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
685 tmp1 = ((modelica_integer) 2);
686#line 686 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
687 goto tmp3_done;
688 }
689 case 7: {
690
691 /* Pattern matching succeeded */
692#line 4398 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
693 tmp1 = ((modelica_integer) 3);
694#line 694 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
695 goto tmp3_done;
696 }
697 }
698 goto tmp3_end;
699 tmp3_end: ;
700 }
701 goto goto_2;
702 goto_2:;
703 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
704 goto tmp3_done;
705 tmp3_done:;
706 }
707 }
708 _prio = tmp1;
709 _return: OMC_LABEL_UNUSED__attribute__((unused))
710 return _prio;
711}
712modelica_metatype boxptr_BackendVariable_stateSelectToInteger(threadData_t *threadData, modelica_metatype _inStateSelect)
713{
714 modelica_integer _prio;
715 modelica_metatype out_prio;
716 _prio = omc_BackendVariable_stateSelectToInteger(threadData, _inStateSelect);
717 out_prio = mmc_mk_icon(_prio);
718 return out_prio;
719}
720
721DLLExport
722modelica_integer omc_BackendVariable_varStateSelectPrioAlias(threadData_t *threadData, modelica_metatype _v)
723{
724 modelica_integer _prio;
725 modelica_metatype _ss = NULL((void*)0);
726 modelica_boolean _knownDer;
727 MMC_SO()mmc_check_stackoverflow(threadData);
728 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
729 // _prio has no default value.
730 // _ss has no default value.
731 // _knownDer has no default value.
732#line 4378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
733 _ss = omc_BackendVariable_varStateSelect(threadData, _v);
734#line 734 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
735
736#line 4379 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
737 _prio = omc_BackendVariable_stateSelectToInteger(threadData, _ss);
738#line 738 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
739
740#line 4380 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
741 _knownDer = omc_BackendVariable_varHasStateDerivative(threadData, _v);
742#line 742 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
743
744#line 4381 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
745 _prio = (((modelica_integer) 2)) * (_prio);
746#line 746 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
747
748#line 4382 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
749 _prio = (_knownDer?((modelica_integer) 1) + _prio:_prio);
750#line 750 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
751 _return: OMC_LABEL_UNUSED__attribute__((unused))
752 return _prio;
753}
754modelica_metatype boxptr_BackendVariable_varStateSelectPrioAlias(threadData_t *threadData, modelica_metatype _v)
755{
756 modelica_integer _prio;
757 modelica_metatype out_prio;
758 _prio = omc_BackendVariable_varStateSelectPrioAlias(threadData, _v);
759 out_prio = mmc_mk_icon(_prio);
760 return out_prio;
761}
762
763DLLExport
764modelica_boolean omc_BackendVariable_selfGeneratedVar(threadData_t *threadData, modelica_metatype _inCref)
765{
766 modelica_boolean _b;
767 MMC_SO()mmc_check_stackoverflow(threadData);
768 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
769 // _b has no default value.
770#line 4367 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
771 _b = (stringEqual(substring(omc_ComponentReference_crefStr(threadData, _inCref), ((modelica_integer) 1), ((modelica_integer) 1)), _OMC_LIT1)((((((*(mmc_uint_t*)((void*)((char*)(boxptr_substring(threadData
,omc_ComponentReference_crefStr(threadData, _inCref),mmc_mk_icon
(((modelica_integer) 1)),mmc_mk_icon(((modelica_integer) 1)))
) - 3)))) >> (3)) - 8)) == (((((*(mmc_uint_t*)((void*)(
(char*)(((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)
)) - 3)))) >> (3)) - 8)) && !mmc_stringCompare(
boxptr_substring(threadData,omc_ComponentReference_crefStr(threadData
, _inCref),mmc_mk_icon(((modelica_integer) 1)),mmc_mk_icon(((
modelica_integer) 1))),((void*)((char*)(&(_OMC_LIT_STRUCT1
).header) + 3))))
);
772#line 772 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
773 _return: OMC_LABEL_UNUSED__attribute__((unused))
774 return _b;
775}
776modelica_metatype boxptr_BackendVariable_selfGeneratedVar(threadData_t *threadData, modelica_metatype _inCref)
777{
778 modelica_boolean _b;
779 modelica_metatype out_b;
780 _b = omc_BackendVariable_selfGeneratedVar(threadData, _inCref);
781 out_b = mmc_mk_icon(_b);
782 return out_b;
783}
784
785DLLExport
786modelica_integer omc_BackendVariable_calcAliasKey(threadData_t *threadData, modelica_metatype _inVar)
787{
788 modelica_integer _i;
789 modelica_boolean _b;
790 modelica_integer _d;
791 MMC_SO()mmc_check_stackoverflow(threadData);
792 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
793 // _i has no default value.
794 // _b has no default value.
795 // _d has no default value.
796#line 4342 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
797 _b = omc_ComponentReference_isRecord(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
));
798#line 798 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
799
800#line 4343 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
801 _i = (_b?((modelica_integer) -1):((modelica_integer) 0));
802#line 802 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
803
804#line 4345 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
805 _b = omc_ComponentReference_isArrayElement(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
));
806#line 806 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
807
808#line 4346 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
809 _i = _i + (_b?((modelica_integer) -1):((modelica_integer) 0));
810#line 810 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
811
812#line 4348 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
813 _b = omc_BackendVariable_isProtectedVar(threadData, _inVar);
814#line 814 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
815
816#line 4349 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
817 _i = _i + (_b?((modelica_integer) 5):((modelica_integer) 0));
818#line 818 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
819
820#line 4351 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
821 _b = omc_BackendVariable_isVarConnector(threadData, _inVar);
822#line 822 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
823
824#line 4352 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
825 _i = _i + (_b?((modelica_integer) 1):((modelica_integer) 0));
826#line 826 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
827
828#line 4354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
829 _b = omc_BackendVariable_isDummyDerVar(threadData, _inVar);
830#line 830 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
831
832#line 4355 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
833 _i = _i + (_b?((modelica_integer) 10):((modelica_integer) 0));
834#line 834 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
835
836#line 4356 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
837 _b = omc_BackendVariable_selfGeneratedVar(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
));
838#line 838 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
839
840#line 4357 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
841 _i = _i + (_b?((modelica_integer) 100):((modelica_integer) 0));
842#line 842 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
843
844#line 4359 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
845 _d = omc_ComponentReference_crefDepth(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
));
846#line 846 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
847
848#line 4360 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
849 _i = _i + _d;
850#line 850 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
851 _return: OMC_LABEL_UNUSED__attribute__((unused))
852 return _i;
853}
854modelica_metatype boxptr_BackendVariable_calcAliasKey(threadData_t *threadData, modelica_metatype _inVar)
855{
856 modelica_integer _i;
857 modelica_metatype out_i;
858 _i = omc_BackendVariable_calcAliasKey(threadData, _inVar);
859 out_i = mmc_mk_icon(_i);
860 return out_i;
861}
862
863PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_mergeMax(threadData_t *threadData, modelica_metatype _inMax1, modelica_metatype _inMax2)
864{
865 modelica_metatype _outMax = NULL((void*)0);
866 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
867 MMC_SO()mmc_check_stackoverflow(threadData);
868 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
869 // _outMax has no default value.
870#line 870 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
871 { /* match expression */
872 modelica_metatype tmp3_1;modelica_metatype tmp3_2;
873 tmp3_1 = _inMax1;
874 tmp3_2 = _inMax2;
875 {
876 modelica_metatype _max1 = NULL((void*)0);
877 modelica_metatype _max2 = NULL((void*)0);
878 modelica_metatype _max = NULL((void*)0);
879 volatile mmc_switch_type tmp3;
880 int tmp4;
881 // _max1 has no default value.
882 // _max2 has no default value.
883 // _max has no default value.
884 tmp3 = 0;
885 for (; tmp3 < 4; tmp3++) {
886 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
887 case 0: {
888 if (optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
889 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
890 if (optionNone(tmp3_2)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_2
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
891 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
892 _max1 = tmpMeta[1];
893 _max2 = tmpMeta[2];
894 /* Pattern matching succeeded */
895#line 4323 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
896 _max = omc_Expression_expMinScalar(threadData, _max1, _max2);
897#line 897 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
898
899#line 4324 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
900 _max = omc_ExpressionSimplify_simplify(threadData, _max, NULL((void*)0));
901#line 901 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
902#line 4325 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
903 tmpMeta[0] = (referenceEq(_max, _max1)((_max) == (_max1))?_inMax1:(referenceEq(_max, _max2)((_max) == (_max2))?_inMax2:mmc_mk_some(_max)));
904#line 904 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
905 goto tmp2_done;
906 }
907 case 1: {
908 if (!optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
909
910 /* Pattern matching succeeded */
911#line 4327 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
912 tmpMeta[0] = _inMax2;
913#line 913 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
914 goto tmp2_done;
915 }
916 case 2: {
917 if (!optionNone(tmp3_2)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_2
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
918
919 /* Pattern matching succeeded */
920#line 4328 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
921 tmpMeta[0] = _inMax1;
922#line 922 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
923 goto tmp2_done;
924 }
925 case 3: {
926
927 /* Pattern matching succeeded */
928#line 4329 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
929 tmpMeta[0] = _inMax1;
930#line 930 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
931 goto tmp2_done;
932 }
933 }
934 goto tmp2_end;
935 tmp2_end: ;
936 }
937 goto goto_1;
938 goto_1:;
939 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
940 goto tmp2_done;
941 tmp2_done:;
942 }
943 }
944 _outMax = tmpMeta[0];
945 _return: OMC_LABEL_UNUSED__attribute__((unused))
946 return _outMax;
947}
948
949PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_mergeMin(threadData_t *threadData, modelica_metatype _inMin1, modelica_metatype _inMin2)
950{
951 modelica_metatype _outMin = NULL((void*)0);
952 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
953 MMC_SO()mmc_check_stackoverflow(threadData);
954 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
955 // _outMin has no default value.
956#line 956 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
957 { /* match expression */
958 modelica_metatype tmp3_1;modelica_metatype tmp3_2;
959 tmp3_1 = _inMin1;
960 tmp3_2 = _inMin2;
961 {
962 modelica_metatype _min1 = NULL((void*)0);
963 modelica_metatype _min2 = NULL((void*)0);
964 modelica_metatype _min = NULL((void*)0);
965 volatile mmc_switch_type tmp3;
966 int tmp4;
967 // _min1 has no default value.
968 // _min2 has no default value.
969 // _min has no default value.
970 tmp3 = 0;
971 for (; tmp3 < 4; tmp3++) {
972 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
973 case 0: {
974 if (optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
975 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
976 if (optionNone(tmp3_2)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_2
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
977 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
978 _min1 = tmpMeta[1];
979 _min2 = tmpMeta[2];
980 /* Pattern matching succeeded */
981#line 4303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
982 _min = omc_Expression_expMaxScalar(threadData, _min1, _min2);
983#line 983 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
984
985#line 4304 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
986 _min = omc_ExpressionSimplify_simplify(threadData, _min, NULL((void*)0));
987#line 987 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
988#line 4305 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
989 tmpMeta[0] = (referenceEq(_min, _min1)((_min) == (_min1))?_inMin1:(referenceEq(_min, _min2)((_min) == (_min2))?_inMin2:mmc_mk_some(_min)));
990#line 990 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
991 goto tmp2_done;
992 }
993 case 1: {
994 if (!optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
995
996 /* Pattern matching succeeded */
997#line 4307 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
998 tmpMeta[0] = _inMin2;
999#line 999 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1000 goto tmp2_done;
1001 }
1002 case 2: {
1003 if (!optionNone(tmp3_2)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_2
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
1004
1005 /* Pattern matching succeeded */
1006#line 4308 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1007 tmpMeta[0] = _inMin1;
1008#line 1008 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1009 goto tmp2_done;
1010 }
1011 case 3: {
1012
1013 /* Pattern matching succeeded */
1014#line 4309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1015 tmpMeta[0] = _inMin1;
1016#line 1016 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1017 goto tmp2_done;
1018 }
1019 }
1020 goto tmp2_end;
1021 tmp2_end: ;
1022 }
1023 goto goto_1;
1024 goto_1:;
1025 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1026 goto tmp2_done;
1027 tmp2_done:;
1028 }
1029 }
1030 _outMin = tmpMeta[0];
1031 _return: OMC_LABEL_UNUSED__attribute__((unused))
1032 return _outMin;
1033}
1034
1035PROTECTED_FUNCTION_STATIC void omc_BackendVariable_checkMinMax(threadData_t *threadData, modelica_metatype _inMin, modelica_metatype _inMax, modelica_metatype _cr1, modelica_metatype _cr2, modelica_boolean _negate)
1036{
1037 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
1038 MMC_SO()mmc_check_stackoverflow(threadData);
1039 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1040#line 1040 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1041 { /* matchcontinue expression */
1042 volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
1043 tmp3_1 = _inMin;
1044 tmp3_2 = _inMax;
1045 {
1046 modelica_metatype _min = NULL((void*)0);
1047 modelica_metatype _max = NULL((void*)0);
1048 modelica_string _s = NULL((void*)0);
1049 modelica_string _s1 = NULL((void*)0);
1050 modelica_string _s2 = NULL((void*)0);
1051 modelica_string _s3 = NULL((void*)0);
1052 modelica_string _s4 = NULL((void*)0);
1053 modelica_string _s5 = NULL((void*)0);
1054 modelica_real _rmin;
1055 modelica_real _rmax;
1056 volatile mmc_switch_type tmp3;
1057 int tmp4;
1058 // _min has no default value.
1059 // _max has no default value.
1060 // _s has no default value.
1061 // _s1 has no default value.
1062 // _s2 has no default value.
1063 // _s3 has no default value.
1064 // _s4 has no default value.
1065 // _s5 has no default value.
1066 // _rmin has no default value.
1067 // _rmax has no default value.
1068 tmp3 = 0;
1069 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
1070 tmp2_top:
1071 threadData->mmc_jumper = &new_mmc_jumper;
1072 for (; tmp3 < 2; tmp3++) {
1073 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1074 case 0: {
1075 modelica_boolean tmp5;
1076 if (optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
1077 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
1078 if (optionNone(tmp3_2)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_2
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
1079 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
1080 _min = tmpMeta[0];
1081 _max = tmpMeta[1];
1082 /* Pattern matching succeeded */
1083#line 4276 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1084 _rmin = omc_Expression_toReal(threadData, _min);
1085#line 1085 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1086
1087#line 4277 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1088 _rmax = omc_Expression_toReal(threadData, _max);
1089#line 1089 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1090
1091#line 4278 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1092 /* Pattern-matching assignment */
1093#line 4278 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1094 tmp5 = (_rmin > _rmax);
1095#line 4278 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1096 if (1 != tmp5) goto goto_1;
1097#line 1097 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1098
1099#line 4279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1100 _s1 = omc_ComponentReference_printComponentRefStr(threadData, _cr1);
1101#line 1101 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1102
1103#line 4280 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1104 _s2 = (_negate?_OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)):_OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)));
1105#line 1105 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1106
1107#line 4281 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1108 _s3 = omc_ComponentReference_printComponentRefStr(threadData, _cr2);
1109#line 1109 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1110
1111#line 4282 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1112 _s4 = omc_ExpressionDump_printExpStr(threadData, _min);
1113#line 1113 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1114
1115#line 4283 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1116 _s5 = omc_ExpressionDump_printExpStr(threadData, _max);
1117#line 1117 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1118
1119#line 4284 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1120 tmpMeta[0] = mmc_mk_cons(_OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)), mmc_mk_cons(_s1, mmc_mk_cons(_s2, mmc_mk_cons(_s3, mmc_mk_cons(_OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)), mmc_mk_cons(_s4, mmc_mk_cons(_OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)), mmc_mk_cons(_s5, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))))))))));
1121#line 4284 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1122 _s = stringAppendList(tmpMeta[0]);
1123#line 1123 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1124
1125#line 4285 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1126 tmpMeta[0] = mmc_mk_cons(_s, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1127#line 4285 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1128 omc_Error_addMessage(threadData, _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)), tmpMeta[0]);
1129#line 1129 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1130#line 1130 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1131 goto tmp2_done;
1132 }
1133 case 1: {
1134
1135 /* Pattern matching succeeded */
1136#line 1136 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1137 goto tmp2_done;
1138 }
1139 }
1140 goto tmp2_end;
1141 tmp2_end: ;
1142 }
1143 goto goto_1;
1144 tmp2_done:
1145 (void)tmp3;
1146 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
1147 goto tmp2_done2;
1148 goto_1:;
1149 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
1150 if (++tmp3 < 2) {
1151 goto tmp2_top;
1152 }
1153 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1154 tmp2_done2:;
1155 }
1156 }
1157 ;
1158 _return: OMC_LABEL_UNUSED__attribute__((unused))
1159 return;
1160}
1161PROTECTED_FUNCTION_STATIC void boxptr_BackendVariable_checkMinMax(threadData_t *threadData, modelica_metatype _inMin, modelica_metatype _inMax, modelica_metatype _cr1, modelica_metatype _cr2, modelica_metatype _negate)
1162{
1163 modelica_integer tmp1;
1164 tmp1 = mmc_unbox_integer(_negate)(((mmc_sint_t) (_negate)) >> 1);
1165 omc_BackendVariable_checkMinMax(threadData, _inMin, _inMax, _cr1, _cr2, tmp1);
1166 return;
1167}
1168
1169PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_mergeMinMax(threadData_t *threadData, modelica_boolean _negate, modelica_metatype _inMin1, modelica_metatype _inMin2, modelica_metatype _inMax1, modelica_metatype _inMax2, modelica_metatype _cr, modelica_metatype _cr1, modelica_metatype *out_outMax)
1170{
1171 modelica_metatype _outMin = NULL((void*)0);
1172 modelica_metatype _outMax = NULL((void*)0);
1173 MMC_SO()mmc_check_stackoverflow(threadData);
1174 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1175 // _outMin has no default value.
1176 // _outMax has no default value.
1177#line 4255 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1178 _outMin = (_negate?omc_Util_applyOption(threadData, _inMin1, boxvar_Expression_negate((void*)((char*)(&(boxvar_lit_Expression_negate).header) +
3))
):_inMin1);
1179#line 1179 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1180
1181#line 4256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1182 _outMax = (_negate?omc_Util_applyOption(threadData, _inMax1, boxvar_Expression_negate((void*)((char*)(&(boxvar_lit_Expression_negate).header) +
3))
):_inMax1);
1183#line 1183 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1184
1185#line 4257 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1186 _outMin = omc_BackendVariable_mergeMin(threadData, _outMin, _inMin2);
1187#line 1187 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1188
1189#line 4258 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1190 _outMax = omc_BackendVariable_mergeMax(threadData, _outMax, _inMax2);
1191#line 1191 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1192
1193#line 4259 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1194 omc_BackendVariable_checkMinMax(threadData, _outMin, _outMax, _cr, _cr1, _negate);
1195#line 1195 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1196 _return: OMC_LABEL_UNUSED__attribute__((unused))
1197 if (out_outMax) { *out_outMax = _outMax; }
1198 return _outMin;
1199}
1200PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_mergeMinMax(threadData_t *threadData, modelica_metatype _negate, modelica_metatype _inMin1, modelica_metatype _inMin2, modelica_metatype _inMax1, modelica_metatype _inMax2, modelica_metatype _cr, modelica_metatype _cr1, modelica_metatype *out_outMax)
1201{
1202 modelica_integer tmp1;
1203 modelica_metatype _outMin = NULL((void*)0);
1204 tmp1 = mmc_unbox_integer(_negate)(((mmc_sint_t) (_negate)) >> 1);
1205 _outMin = omc_BackendVariable_mergeMinMax(threadData, tmp1, _inMin1, _inMin2, _inMax1, _inMax2, _cr, _cr1, out_outMax);
1206 /* skip box _outMin; Option<DAE.Exp> */
1207 /* skip box _outMax; Option<DAE.Exp> */
1208 return _outMin;
1209}
1210
1211DLLExport
1212modelica_metatype omc_BackendVariable_getMinMaxAttribute(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype *out_outMax)
1213{
1214 modelica_metatype _outMin = NULL((void*)0);
1215 modelica_metatype _outMax = NULL((void*)0);
1216 MMC_SO()mmc_check_stackoverflow(threadData);
1217 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1218 // _outMin has no default value.
1219 // _outMax has no default value.
1220#line 4240 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1221 _outMin = omc_DAEUtil_getMinMaxValues(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 11))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(11)))))
) ,&_outMax);
1222#line 1222 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1223 _return: OMC_LABEL_UNUSED__attribute__((unused))
1224 if (out_outMax) { *out_outMax = _outMax; }
1225 return _outMin;
1226}
1227
1228DLLExport
1229modelica_metatype omc_BackendVariable_mergeMinMaxAttribute(threadData_t *threadData, modelica_metatype _inAVar, modelica_metatype _inVar, modelica_boolean _negate)
1230{
1231 modelica_metatype _outVar = NULL((void*)0);
1232 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
1233 MMC_SO()mmc_check_stackoverflow(threadData);
1234 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1235 // _outVar has no default value.
1236#line 1236 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1237 { /* matchcontinue expression */
1238 volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
1239 tmp3_1 = _inAVar;
1240 tmp3_2 = _inVar;
1241 {
1242 modelica_metatype _v = NULL((void*)0);
1243 modelica_metatype _var = NULL((void*)0);
1244 modelica_metatype _attr = NULL((void*)0);
1245 modelica_metatype _attr1 = NULL((void*)0);
1246 modelica_metatype _min1 = NULL((void*)0);
1247 modelica_metatype _min2 = NULL((void*)0);
1248 modelica_metatype _max1 = NULL((void*)0);
1249 modelica_metatype _max2 = NULL((void*)0);
1250 modelica_metatype _cr = NULL((void*)0);
1251 modelica_metatype _cr1 = NULL((void*)0);
1252 volatile mmc_switch_type tmp3;
1253 int tmp4;
1254 // _v has no default value.
1255 // _var has no default value.
1256 // _attr has no default value.
1257 // _attr1 has no default value.
1258 // _min1 has no default value.
1259 // _min2 has no default value.
1260 // _max1 has no default value.
1261 // _max2 has no default value.
1262 // _cr has no default value.
1263 // _cr1 has no default value.
1264 tmp3 = 0;
1265 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
1266 tmp2_top:
1267 threadData->mmc_jumper = &new_mmc_jumper;
1268 for (; tmp3 < 2; tmp3++) {
1269 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1270 case 0: {
1271 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 11))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(11)))))
;
1272 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 11))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(11)))))
;
1273
1274 _v = tmp3_1;
1275 _attr = tmpMeta[1];
1276 _var = tmp3_2;
1277 _attr1 = tmpMeta[2];
1278 /* Pattern matching succeeded */
1279#line 4223 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1280 _min1 = omc_DAEUtil_getMinMaxValues(threadData, _attr ,&_max1);
1281#line 1281 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1282
1283#line 4224 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1284 _min2 = omc_DAEUtil_getMinMaxValues(threadData, _attr1 ,&_max2);
1285#line 1285 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1286
1287#line 4225 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1288 _cr = omc_BackendVariable_varCref(threadData, _v);
1289#line 1289 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1290
1291#line 4226 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1292 _cr1 = omc_BackendVariable_varCref(threadData, _var);
1293#line 1293 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1294
1295#line 4227 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1296 _min1 = omc_BackendVariable_mergeMinMax(threadData, _negate, _min1, _min2, _max1, _max2, _cr, _cr1 ,&_max1);
1297#line 1297 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1298#line 4228 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1299 tmpMeta[0] = omc_BackendVariable_setVarMinMax(threadData, _var, _min1, _max1);
1300#line 1300 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1301 goto tmp2_done;
1302 }
1303 case 1: {
1304
1305 /* Pattern matching succeeded */
1306#line 4231 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1307 tmpMeta[0] = _inVar;
1308#line 1308 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1309 goto tmp2_done;
1310 }
1311 }
1312 goto tmp2_end;
1313 tmp2_end: ;
1314 }
1315 goto goto_1;
1316 tmp2_done:
1317 (void)tmp3;
1318 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
1319 goto tmp2_done2;
1320 goto_1:;
1321 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
1322 if (++tmp3 < 2) {
1323 goto tmp2_top;
1324 }
1325 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1326 tmp2_done2:;
1327 }
1328 }
1329 _outVar = tmpMeta[0];
1330 _return: OMC_LABEL_UNUSED__attribute__((unused))
1331 return _outVar;
1332}
1333modelica_metatype boxptr_BackendVariable_mergeMinMaxAttribute(threadData_t *threadData, modelica_metatype _inAVar, modelica_metatype _inVar, modelica_metatype _negate)
1334{
1335 modelica_integer tmp1;
1336 modelica_metatype _outVar = NULL((void*)0);
1337 tmp1 = mmc_unbox_integer(_negate)(((mmc_sint_t) (_negate)) >> 1);
1338 _outVar = omc_BackendVariable_mergeMinMaxAttribute(threadData, _inAVar, _inVar, tmp1);
1339 /* skip box _outVar; BackendDAE.Var */
1340 return _outVar;
1341}
1342
1343DLLExport
1344modelica_metatype omc_BackendVariable_mergeNominalAttribute(threadData_t *threadData, modelica_metatype _inAVar, modelica_metatype _inVar, modelica_boolean _negate)
1345{
1346 modelica_metatype _outVar = NULL((void*)0);
1347 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
1348 MMC_SO()mmc_check_stackoverflow(threadData);
1349 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1350 // _outVar has no default value.
1351#line 1351 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1352 { /* matchcontinue expression */
1353 volatile modelica_metatype tmp3_1;volatile modelica_metatype tmp3_2;
1354 tmp3_1 = _inAVar;
1355 tmp3_2 = _inVar;
1356 {
1357 modelica_metatype _v = NULL((void*)0);
1358 modelica_metatype _var = NULL((void*)0);
1359 modelica_metatype _e = NULL((void*)0);
1360 modelica_metatype _e_1 = NULL((void*)0);
1361 modelica_metatype _e1 = NULL((void*)0);
1362 modelica_metatype _esum = NULL((void*)0);
1363 modelica_metatype _eaverage = NULL((void*)0);
1364 volatile mmc_switch_type tmp3;
1365 int tmp4;
1366 // _v has no default value.
1367 // _var has no default value.
1368 // _e has no default value.
1369 // _e_1 has no default value.
1370 // _e1 has no default value.
1371 // _esum has no default value.
1372 // _eaverage has no default value.
1373 tmp3 = 0;
1374 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
1375 tmp2_top:
1376 threadData->mmc_jumper = &new_mmc_jumper;
1377 for (; tmp3 < 3; tmp3++) {
1378 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1379 case 0: {
1380
1381 _v = tmp3_1;
1382 _var = tmp3_2;
1383 /* Pattern matching succeeded */
1384#line 4188 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1385 _e = omc_BackendVariable_varNominalValue(threadData, _v);
1386#line 1386 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1387
1388#line 4189 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1389 _e1 = omc_BackendVariable_varNominalValue(threadData, _var);
1390#line 1390 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1391
1392#line 4190 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1393 _e_1 = (_negate?omc_Expression_negate(threadData, _e):_e);
1394#line 1394 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1395
1396#line 4191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1397 tmpMeta[1] = mmc_mk_cons(_e_1, mmc_mk_cons(_e1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
1398#line 4191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1399 _esum = omc_Expression_makeSum(threadData, tmpMeta[1]);
1400#line 1400 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1401
1402#line 4192 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1403 _eaverage = omc_Expression_expDiv(threadData, _esum, _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)));
1404#line 1404 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1405
1406#line 4193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1407 _eaverage = omc_ExpressionSimplify_simplify(threadData, _eaverage, NULL((void*)0));
1408#line 1408 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1409#line 4194 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1410 tmpMeta[0] = omc_BackendVariable_setVarNominalValue(threadData, _var, _eaverage);
1411#line 1411 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1412 goto tmp2_done;
1413 }
1414 case 1: {
1415
1416 _v = tmp3_1;
1417 _var = tmp3_2;
1418 /* Pattern matching succeeded */
1419#line 4199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1420 _e = omc_BackendVariable_varNominalValue(threadData, _v);
1421#line 1421 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1422
1423#line 4200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1424 _e_1 = (_negate?omc_Expression_negate(threadData, _e):_e);
1425#line 1425 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1426#line 4201 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1427 tmpMeta[0] = omc_BackendVariable_setVarNominalValue(threadData, _var, _e_1);
1428#line 1428 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1429 goto tmp2_done;
1430 }
1431 case 2: {
1432
1433 /* Pattern matching succeeded */
1434#line 4203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1435 tmpMeta[0] = _inVar;
1436#line 1436 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1437 goto tmp2_done;
1438 }
1439 }
1440 goto tmp2_end;
1441 tmp2_end: ;
1442 }
1443 goto goto_1;
1444 tmp2_done:
1445 (void)tmp3;
1446 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
1447 goto tmp2_done2;
1448 goto_1:;
1449 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
1450 if (++tmp3 < 3) {
1451 goto tmp2_top;
1452 }
1453 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1454 tmp2_done2:;
1455 }
1456 }
1457 _outVar = tmpMeta[0];
1458 _return: OMC_LABEL_UNUSED__attribute__((unused))
1459 return _outVar;
1460}
1461modelica_metatype boxptr_BackendVariable_mergeNominalAttribute(threadData_t *threadData, modelica_metatype _inAVar, modelica_metatype _inVar, modelica_metatype _negate)
1462{
1463 modelica_integer tmp1;
1464 modelica_metatype _outVar = NULL((void*)0);
1465 tmp1 = mmc_unbox_integer(_negate)(((mmc_sint_t) (_negate)) >> 1);
1466 _outVar = omc_BackendVariable_mergeNominalAttribute(threadData, _inAVar, _inVar, tmp1);
1467 /* skip box _outVar; BackendDAE.Var */
1468 return _outVar;
1469}
1470
1471DLLExport
1472modelica_integer omc_BackendVariable_startOriginToValue(threadData_t *threadData, modelica_metatype _startOrigin)
1473{
1474 modelica_integer _i;
1475 modelica_integer tmp1 = 0;
1476 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
1477 MMC_SO()mmc_check_stackoverflow(threadData);
1478 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1479 // _i has no default value.
1480#line 1480 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1481 { /* match expression */
1482 modelica_metatype tmp4_1;
1483 tmp4_1 = _startOrigin;
1484 {
1485 volatile mmc_switch_type tmp4;
1486 int tmp5;
1487 tmp4 = 0;
1488 for (; tmp4 < 4; tmp4++) {
1489 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1490 case 0: {
1491 if (!optionNone(tmp4_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
1492 /* Pattern matching succeeded */
1493#line 4167 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1494 tmp1 = ((modelica_integer) 0);
1495#line 1495 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1496 goto tmp3_done;
1497 }
1498 case 1: {
1499 if (optionNone(tmp4_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
1500 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1501 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp3_end;
1502 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
1503 if (9 != MMC_STRLEN(tmpMeta[1])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT14)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT14).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[1])(((struct mmc_string*)((void*)((char*)(tmpMeta[1]) - 3)))->
data)
) != 0) goto tmp3_end;
1504 /* Pattern matching succeeded */
1505#line 4168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1506 tmp1 = ((modelica_integer) 1);
1507#line 1507 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1508 goto tmp3_done;
1509 }
1510 case 2: {
1511 if (optionNone(tmp4_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
1512 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1513 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp3_end;
1514 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
1515 if (4 != MMC_STRLEN(tmpMeta[1])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT15)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT15).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[1])(((struct mmc_string*)((void*)((char*)(tmpMeta[1]) - 3)))->
data)
) != 0) goto tmp3_end;
1516 /* Pattern matching succeeded */
1517#line 4169 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1518 tmp1 = ((modelica_integer) 2);
1519#line 1519 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1520 goto tmp3_done;
1521 }
1522 case 3: {
1523 if (optionNone(tmp4_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
1524 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
1525 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp3_end;
1526 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
1527 if (7 != MMC_STRLEN(tmpMeta[1])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT16)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT16).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[1])(((struct mmc_string*)((void*)((char*)(tmpMeta[1]) - 3)))->
data)
) != 0) goto tmp3_end;
1528 /* Pattern matching succeeded */
1529#line 4170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1530 tmp1 = ((modelica_integer) 3);
1531#line 1531 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1532 goto tmp3_done;
1533 }
1534 }
1535 goto tmp3_end;
1536 tmp3_end: ;
1537 }
1538 goto goto_2;
1539 goto_2:;
1540 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1541 goto tmp3_done;
1542 tmp3_done:;
1543 }
1544 }
1545 _i = tmp1;
1546 _return: OMC_LABEL_UNUSED__attribute__((unused))
1547 return _i;
1548}
1549modelica_metatype boxptr_BackendVariable_startOriginToValue(threadData_t *threadData, modelica_metatype _startOrigin)
1550{
1551 modelica_integer _i;
1552 modelica_metatype out_i;
1553 _i = omc_BackendVariable_startOriginToValue(threadData, _startOrigin);
1554 out_i = mmc_mk_icon(_i);
1555 return out_i;
1556}
1557
1558PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_getNonZeroStart(threadData_t *threadData, modelica_boolean _mustBeEqual, modelica_metatype _exp1, modelica_metatype _so, modelica_metatype _exp2, modelica_metatype _sao, modelica_metatype _globalKnownVars, modelica_metatype *out_outStartOrigin)
1559{
1560 modelica_metatype _outExp = NULL((void*)0);
1561 modelica_metatype _outStartOrigin = NULL((void*)0);
1562 modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
1563 MMC_SO()mmc_check_stackoverflow(threadData);
1564 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1565 // _outExp has no default value.
1566 // _outStartOrigin has no default value.
1567#line 4120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1568
1569#line 4120 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1570
1571#line 1571 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1572 { /* matchcontinue expression */
1573 volatile modelica_boolean tmp4_1;
1574 tmp4_1 = _mustBeEqual;
1575 {
1576 modelica_metatype _exp2_1 = NULL((void*)0);
1577 modelica_metatype _exp1_1 = NULL((void*)0);
1578 modelica_integer _i;
1579 modelica_integer _ia;
1580 modelica_boolean _b1;
1581 modelica_boolean _b2;
1582 modelica_metatype _origin = NULL((void*)0);
1583 volatile mmc_switch_type tmp4;
1584 int tmp5;
1585 // _exp2_1 has no default value.
1586 // _exp1_1 has no default value.
1587 // _i has no default value.
1588 // _ia has no default value.
1589 // _b1 has no default value.
1590 // _b2 has no default value.
1591 // _origin has no default value.
1592 tmp4 = 0;
1593 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
1594 tmp3_top:
1595 threadData->mmc_jumper = &new_mmc_jumper;
1596 for (; tmp4 < 3; tmp4++) {
1597 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1598 case 0: {
1599 modelica_boolean tmp6;
1600
1601 /* Pattern matching succeeded */
1602#line 4129 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1603 /* Pattern-matching assignment */
1604#line 4129 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1605 tmp6 = omc_Expression_expEqual(threadData, _exp1, _exp2);
1606#line 4129 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1607 if (1 != tmp6) goto goto_2;
1608#line 1608 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1609
1610#line 4131 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1611 _i = omc_BackendVariable_startOriginToValue(threadData, _so);
1612#line 1612 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1613
1614#line 4132 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1615 _ia = omc_BackendVariable_startOriginToValue(threadData, _sao);
1616#line 1616 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1617
1618#line 4133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1619 _origin = ((_ia > _i)?_sao:_so);
1620#line 1620 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1621#line 4134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1622 tmpMeta[0+0] = _exp1;
1623#line 4134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1624 tmpMeta[0+1] = _origin;
1625#line 1625 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1626 goto tmp3_done;
1627 }
1628 case 1: {
1629 modelica_boolean tmp7;
1630 modelica_boolean tmp8;
1631 if (0 != tmp4_1) goto tmp3_end;
1632 /* Pattern matching succeeded */
1633#line 4138 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1634 _i = omc_BackendVariable_startOriginToValue(threadData, _so);
1635#line 1635 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1636
1637#line 4139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1638 _ia = omc_BackendVariable_startOriginToValue(threadData, _sao);
1639#line 1639 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1640
1641#line 4140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1642 /* Pattern-matching assignment */
1643#line 4140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1644 tmp7 = (_i == _ia);
1645#line 4140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1646 if (0 != tmp7) goto goto_2;
1647#line 1647 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1648
1649#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1650 /* Pattern-matching assignment */
1651#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1652 tmp8 = (modelica_boolean)(_ia > _i);
1653#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1654 if(tmp8)
1655#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1656 {
1657#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1658 tmpMeta[2] = mmc_mk_box2(0, _exp2, _sao);
1659#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1660 tmpMeta[4] = tmpMeta[2];
1661#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1662 }
1663#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1664 else
1665#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1666 {
1667#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1668 tmpMeta[3] = mmc_mk_box2(0, _exp1, _so);
1669#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1670 tmpMeta[4] = tmpMeta[3];
1671#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1672 }
1673#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1674 tmpMeta[5] = tmpMeta[4];
1675#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1676 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
1677#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1678 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
1679#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1680 _exp1_1 = tmpMeta[6];
1681#line 4141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1682 _origin = tmpMeta[7];
1683#line 1683 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1684#line 4142 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1685 tmpMeta[0+0] = _exp1_1;
1686#line 4142 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1687 tmpMeta[0+1] = _origin;
1688#line 1688 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1689 goto tmp3_done;
1690 }
1691 case 2: {
1692 modelica_integer tmp9;
1693 modelica_integer tmp10;
1694 modelica_boolean tmp11;
1695
1696 /* Pattern matching succeeded */
1697#line 4147 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1698 /* Pattern-matching tuple assignment */
1699#line 4147 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1700 tmpMeta[4] = mmc_mk_box3(0, _globalKnownVars, mmc_mk_boolean(0)((0) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), omc_HashSet_emptyHashSet(threadData));
1701#line 4147 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1702 tmpMeta[5] = omc_Expression_traverseExpBottomUp(threadData, _exp1, boxvar_BackendVariable_replaceCrefWithBindExp((void*)((char*)(&(boxvar_lit_BackendVariable_replaceCrefWithBindExp
).header) + 3))
, tmpMeta[4], &tmpMeta[2]);
1703#line 4147 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1704 _exp1_1 = tmpMeta[5];
1705#line 4147 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1706 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1707#line 4147 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1708 tmp9 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
1709#line 4147 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1710 _b1 = tmp9 /* pattern as ty=Boolean */;
1711#line 1711 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1712
1713#line 4148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1714 /* Pattern-matching tuple assignment */
1715#line 4148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1716 tmpMeta[4] = mmc_mk_box3(0, _globalKnownVars, mmc_mk_boolean(0)((0) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), omc_HashSet_emptyHashSet(threadData));
1717#line 4148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1718 tmpMeta[5] = omc_Expression_traverseExpBottomUp(threadData, _exp2, boxvar_BackendVariable_replaceCrefWithBindExp((void*)((char*)(&(boxvar_lit_BackendVariable_replaceCrefWithBindExp
).header) + 3))
, tmpMeta[4], &tmpMeta[2]);
1719#line 4148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1720 _exp2_1 = tmpMeta[5];
1721#line 4148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1722 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1723#line 4148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1724 tmp10 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
1725#line 4148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1726 _b2 = tmp10 /* pattern as ty=Boolean */;
1727#line 1727 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1728
1729#line 4149 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1730 _exp1_1 = omc_ExpressionSimplify_condsimplify(threadData, _b1, _exp1_1, NULL((void*)0));
1731#line 1731 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1732
1733#line 4150 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1734 _exp2_1 = omc_ExpressionSimplify_condsimplify(threadData, _b2, _exp2_1, NULL((void*)0));
1735#line 1735 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1736
1737#line 4151 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1738 /* Pattern-matching assignment */
1739#line 4151 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1740 tmp11 = omc_Expression_expEqual(threadData, _exp1_1, _exp2_1);
1741#line 4151 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1742 if (1 != tmp11) goto goto_2;
1743#line 1743 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1744
1745#line 4152 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1746 _exp1_1 = (_b1?_exp1:_exp2);
1747#line 1747 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1748
1749#line 4154 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1750 _i = omc_BackendVariable_startOriginToValue(threadData, _so);
1751#line 1751 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1752
1753#line 4155 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1754 _ia = omc_BackendVariable_startOriginToValue(threadData, _sao);
1755#line 1755 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1756
1757#line 4156 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1758 _origin = ((_ia > _i)?_sao:_so);
1759#line 1759 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1760#line 4157 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1761 tmpMeta[0+0] = _exp1_1;
1762#line 4157 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1763 tmpMeta[0+1] = _origin;
1764#line 1764 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1765 goto tmp3_done;
1766 }
1767 }
1768 goto tmp3_end;
1769 tmp3_end: ;
1770 }
1771 goto goto_2;
1772 tmp3_done:
1773 (void)tmp4;
1774 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
1775 goto tmp3_done2;
1776 goto_2:;
1777 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
1778 if (++tmp4 < 3) {
1779 goto tmp3_top;
1780 }
1781 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1782 tmp3_done2:;
1783 }
1784 }
1785 _outExp = tmpMeta[0+0];
1786 _outStartOrigin = tmpMeta[0+1];
1787 _return: OMC_LABEL_UNUSED__attribute__((unused))
1788 if (out_outStartOrigin) { *out_outStartOrigin = _outStartOrigin; }
1789 return _outExp;
1790}
1791PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_getNonZeroStart(threadData_t *threadData, modelica_metatype _mustBeEqual, modelica_metatype _exp1, modelica_metatype _so, modelica_metatype _exp2, modelica_metatype _sao, modelica_metatype _globalKnownVars, modelica_metatype *out_outStartOrigin)
1792{
1793 modelica_integer tmp1;
1794 modelica_metatype _outExp = NULL((void*)0);
1795 tmp1 = mmc_unbox_integer(_mustBeEqual)(((mmc_sint_t) (_mustBeEqual)) >> 1);
1796 _outExp = omc_BackendVariable_getNonZeroStart(threadData, tmp1, _exp1, _so, _exp2, _sao, _globalKnownVars, out_outStartOrigin);
1797 /* skip box _outExp; DAE.Exp */
1798 /* skip box _outStartOrigin; Option<DAE.Exp> */
1799 return _outExp;
1800}
1801
1802PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_replaceCrefWithBindExp(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype _inTuple, modelica_metatype *out_outTuple)
1803{
1804 modelica_metatype _outExp = NULL((void*)0);
1805 modelica_metatype _outTuple = NULL((void*)0);
1806 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
1807 MMC_SO()mmc_check_stackoverflow(threadData);
1808 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1809 // _outExp has no default value.
1810 // _outTuple has no default value.
1811#line 4087 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1812
1813#line 4087 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1814
1815#line 1815 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1816 { /* matchcontinue expression */
1817 volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
1818 tmp4_1 = _inExp;
1819 tmp4_2 = _inTuple;
1820 {
1821 modelica_metatype _e = NULL((void*)0);
1822 modelica_metatype _vars = NULL((void*)0);
1823 modelica_metatype _cr = NULL((void*)0);
1824 modelica_metatype _hs = NULL((void*)0);
1825 volatile mmc_switch_type tmp4;
1826 int tmp5;
1827 // _e has no default value.
1828 // _vars has no default value.
1829 // _cr has no default value.
1830 // _hs has no default value.
1831 tmp4 = 0;
1832 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
1833 tmp3_top:
1834 threadData->mmc_jumper = &new_mmc_jumper;
1835 for (; tmp4 < 3; tmp4++) {
1836 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1837 case 0: {
1838 modelica_boolean tmp6;
1839 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
1840 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1841 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
1842 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
1843 _cr = tmpMeta[2];
1844 _vars = tmpMeta[3];
1845 _hs = tmpMeta[4];
1846 /* Pattern matching succeeded */
1847#line 4097 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1848 /* Pattern-matching assignment */
1849#line 4097 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1850 tmp6 = omc_BaseHashSet_has(threadData, _cr, _hs);
1851#line 4097 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1852 if (0 != tmp6) goto goto_2;
1853#line 1853 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1854
1855#line 4098 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1856 /* Pattern-matching tuple assignment */
1857#line 4098 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1858 tmpMeta[2] = omc_BackendVariable_getVarSingle(threadData, _cr, _vars, NULL((void*)0));
1859#line 4098 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1860 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (7)))))
;
1861#line 4098 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1862 if (optionNone(tmpMeta[3])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[3]) - 3)))) >> 10)) ? 1 : 0)
) goto goto_2;
1863#line 4098 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1864 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
1865#line 4098 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1866 _e = tmpMeta[4];
1867#line 1867 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1868
1869#line 4099 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1870 _hs = omc_BaseHashSet_add(threadData, _cr, _hs);
1871#line 1871 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1872
1873#line 4100 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1874 /* Pattern-matching tuple assignment */
1875#line 4100 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1876 tmpMeta[4] = mmc_mk_box3(0, _vars, mmc_mk_boolean(0)((0) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _hs);
1877#line 4100 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1878 tmpMeta[5] = omc_Expression_traverseExpBottomUp(threadData, _e, boxvar_BackendVariable_replaceCrefWithBindExp((void*)((char*)(&(boxvar_lit_BackendVariable_replaceCrefWithBindExp
).header) + 3))
, tmpMeta[4], &tmpMeta[2]);
1879#line 4100 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1880 _e = tmpMeta[5];
1881#line 4100 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1882 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
1883#line 4100 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1884 _hs = tmpMeta[3];
1885#line 1885 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1886#line 4101 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1887 tmpMeta[2] = mmc_mk_box3(0, _vars, mmc_mk_boolean(1)((1) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _hs);
1888#line 4101 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1889 tmpMeta[0+0] = _e;
1890#line 4101 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1891 tmpMeta[0+1] = tmpMeta[2];
1892#line 1892 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1893 goto tmp3_done;
1894 }
1895 case 1: {
1896 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
1897 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(1)))))
;
1898 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(3)))))
;
1899 _e = tmp4_1;
1900 _vars = tmpMeta[2];
1901 _hs = tmpMeta[3];
1902 /* Pattern matching succeeded */
1903#line 4104 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1904 tmpMeta[2] = mmc_mk_box3(0, _vars, mmc_mk_boolean(1)((1) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _hs);
1905#line 4104 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1906 tmpMeta[0+0] = _e;
1907#line 4104 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1908 tmpMeta[0+1] = tmpMeta[2];
1909#line 1909 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1910 goto tmp3_done;
1911 }
1912 case 2: {
1913
1914 /* Pattern matching succeeded */
1915#line 4105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1916 tmpMeta[0+0] = _inExp;
1917#line 4105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1918 tmpMeta[0+1] = _inTuple;
1919#line 1919 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1920 goto tmp3_done;
1921 }
1922 }
1923 goto tmp3_end;
1924 tmp3_end: ;
1925 }
1926 goto goto_2;
1927 tmp3_done:
1928 (void)tmp4;
1929 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
1930 goto tmp3_done2;
1931 goto_2:;
1932 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
1933 if (++tmp4 < 3) {
1934 goto tmp3_top;
1935 }
1936 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1937 tmp3_done2:;
1938 }
1939 }
1940 _outExp = tmpMeta[0+0];
1941 _outTuple = tmpMeta[0+1];
1942 _return: OMC_LABEL_UNUSED__attribute__((unused))
1943 if (out_outTuple) { *out_outTuple = _outTuple; }
1944 return _outExp;
1945}
1946
1947PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_mergeStartFixed1(threadData_t *threadData, modelica_boolean _b, modelica_metatype _inVar, modelica_metatype _cr, modelica_metatype _sv, modelica_metatype _cra, modelica_metatype _sva, modelica_metatype _soa, modelica_boolean _negate, modelica_string _s4)
1948{
1949 modelica_metatype _outVar = NULL((void*)0);
1950 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
1951 MMC_SO()mmc_check_stackoverflow(threadData);
1952 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1953 // _outVar has no default value.
1954#line 1954 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1955 { /* match expression */
1956 modelica_boolean tmp3_1;
1957 tmp3_1 = _b;
1958 {
1959 modelica_string _s = NULL((void*)0);
1960 modelica_string _s1 = NULL((void*)0);
1961 modelica_string _s2 = NULL((void*)0);
1962 modelica_string _s3 = NULL((void*)0);
1963 modelica_string _s5 = NULL((void*)0);
1964 modelica_string _s6 = NULL((void*)0);
1965 modelica_metatype _v = NULL((void*)0);
1966 volatile mmc_switch_type tmp3;
1967 int tmp4;
1968 // _s has no default value.
1969 // _s1 has no default value.
1970 // _s2 has no default value.
1971 // _s3 has no default value.
1972 // _s5 has no default value.
1973 // _s6 has no default value.
1974 // _v has no default value.
1975 tmp3 = 0;
1976 for (; tmp3 < 2; tmp3++) {
1977 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1978 case 0: {
1979 if (0 != tmp3_1) goto tmp2_end;
1980 /* Pattern matching succeeded */
1981#line 4056 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1982 _s1 = omc_ComponentReference_printComponentRefStr(threadData, _cr);
1983#line 1983 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1984
1985#line 4057 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1986 _s2 = (_negate?_OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)):_OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)));
1987#line 1987 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1988
1989#line 4058 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1990 _s3 = omc_ComponentReference_printComponentRefStr(threadData, _cra);
1991#line 1991 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1992
1993#line 4059 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1994 _s5 = omc_ExpressionDump_printExpStr(threadData, _sv);
1995#line 1995 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
1996
1997#line 4060 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
1998 _s6 = omc_ExpressionDump_printExpStr(threadData, _sva);
1999#line 1999 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2000
2001#line 4061 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2002 tmpMeta[1] = mmc_mk_cons(_OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)), mmc_mk_cons(_s1, mmc_mk_cons(_s2, mmc_mk_cons(_s3, mmc_mk_cons(_s4, mmc_mk_cons(_s5, mmc_mk_cons(_OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)), mmc_mk_cons(_s6, mmc_mk_cons(_OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)), mmc_mk_cons(_s1, mmc_mk_cons(_OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)))))))))))));
2003#line 4061 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2004 _s = stringAppendList(tmpMeta[1]);
2005#line 2005 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2006
2007#line 4062 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2008 tmpMeta[1] = mmc_mk_cons(_s, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2009#line 4062 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2010 omc_Error_addMessage(threadData, _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)), tmpMeta[1]);
2011#line 2011 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2012#line 4063 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2013 tmpMeta[0] = _inVar;
2014#line 2014 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2015 goto tmp2_done;
2016 }
2017 case 1: {
2018 if (1 != tmp3_1) goto tmp2_end;
2019 /* Pattern matching succeeded */
2020#line 4067 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2021 _s1 = omc_ComponentReference_printComponentRefStr(threadData, _cr);
2022#line 2022 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2023
2024#line 4068 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2025 _s2 = (_negate?_OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)):_OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)));
2026#line 2026 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2027
2028#line 4069 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2029 _s3 = omc_ComponentReference_printComponentRefStr(threadData, _cra);
2030#line 2030 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2031
2032#line 4070 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2033 _s5 = omc_ExpressionDump_printExpStr(threadData, _sv);
2034#line 2034 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2035
2036#line 4071 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2037 _s6 = omc_ExpressionDump_printExpStr(threadData, _sva);
2038#line 2038 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2039
2040#line 4072 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2041 tmpMeta[1] = mmc_mk_cons(_OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)), mmc_mk_cons(_s1, mmc_mk_cons(_s2, mmc_mk_cons(_s3, mmc_mk_cons(_s4, mmc_mk_cons(_s5, mmc_mk_cons(_OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)), mmc_mk_cons(_s6, mmc_mk_cons(_OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)), mmc_mk_cons(_s3, mmc_mk_cons(_OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)))))))))))));
2042#line 4072 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2043 _s = stringAppendList(tmpMeta[1]);
2044#line 2044 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2045
2046#line 4073 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2047 tmpMeta[1] = mmc_mk_cons(_s, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
2048#line 4073 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2049 omc_Error_addMessage(threadData, _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)), tmpMeta[1]);
2050#line 2050 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2051
2052#line 4074 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2053 _v = omc_BackendVariable_setVarStartValue(threadData, _inVar, _sva);
2054#line 2054 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2055#line 4075 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2056 tmpMeta[0] = omc_BackendVariable_setVarStartOrigin(threadData, _v, _soa);
2057#line 2057 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2058 goto tmp2_done;
2059 }
2060 }
2061 goto tmp2_end;
2062 tmp2_end: ;
2063 }
2064 goto goto_1;
2065 goto_1:;
2066 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2067 goto tmp2_done;
2068 tmp2_done:;
2069 }
2070 }
2071 _outVar = tmpMeta[0];
2072 _return: OMC_LABEL_UNUSED__attribute__((unused))
2073 return _outVar;
2074}
2075PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_mergeStartFixed1(threadData_t *threadData, modelica_metatype _b, modelica_metatype _inVar, modelica_metatype _cr, modelica_metatype _sv, modelica_metatype _cra, modelica_metatype _sva, modelica_metatype _soa, modelica_metatype _negate, modelica_metatype _s4)
2076{
2077 modelica_integer tmp1;
2078 modelica_integer tmp2;
2079 modelica_metatype _outVar = NULL((void*)0);
2080 tmp1 = mmc_unbox_integer(_b)(((mmc_sint_t) (_b)) >> 1);
2081 tmp2 = mmc_unbox_integer(_negate)(((mmc_sint_t) (_negate)) >> 1);
2082 _outVar = omc_BackendVariable_mergeStartFixed1(threadData, tmp1, _inVar, _cr, _sv, _cra, _sva, _soa, tmp2, _s4);
2083 /* skip box _outVar; BackendDAE.Var */
2084 return _outVar;
2085}
2086
2087PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_startValueType(threadData_t *threadData, modelica_metatype _iExp, modelica_metatype _iTy)
2088{
2089 modelica_metatype _oExp = NULL((void*)0);
2090 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2091 MMC_SO()mmc_check_stackoverflow(threadData);
2092 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2093 // _oExp has no default value.
2094#line 2094 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2095 { /* match expression */
2096 modelica_metatype tmp3_1;
2097 tmp3_1 = _iExp;
2098 {
2099 modelica_metatype _e = NULL((void*)0);
2100 volatile mmc_switch_type tmp3;
2101 int tmp4;
2102 // _e has no default value.
2103 tmp3 = 0;
2104 for (; tmp3 < 6; tmp3++) {
2105 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
2106 case 0: {
2107 if (optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2108 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
2109 _e = tmpMeta[1];
2110 /* Pattern matching succeeded */
2111#line 4018 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2112 tmpMeta[0] = _e;
2113#line 2113 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2114 goto tmp2_done;
2115 }
2116 case 1: {
2117 if (!optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2118 /* Pattern matching succeeded */
2119 /* Check guard condition after assignments */
2120 if (!omc_Types_isRealOrSubTypeReal(threadData, _iTy)) goto tmp2_end;
2121#line 4020 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2122 tmpMeta[0] = _OMC_LIT21((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3));
2123#line 2123 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2124 goto tmp2_done;
2125 }
2126 case 2: {
2127 if (!optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2128 /* Pattern matching succeeded */
2129 /* Check guard condition after assignments */
2130 if (!omc_Types_isIntegerOrSubTypeInteger(threadData, _iTy)) goto tmp2_end;
2131#line 4023 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2132 tmpMeta[0] = _OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3));
2133#line 2133 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2134 goto tmp2_done;
2135 }
2136 case 3: {
2137 if (!optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2138 /* Pattern matching succeeded */
2139 /* Check guard condition after assignments */
2140 if (!omc_Types_isBooleanOrSubTypeBoolean(threadData, _iTy)) goto tmp2_end;
2141#line 4026 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2142 tmpMeta[0] = _OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3));
2143#line 2143 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2144 goto tmp2_done;
2145 }
2146 case 4: {
2147 if (!optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2148 /* Pattern matching succeeded */
2149 /* Check guard condition after assignments */
2150 if (!omc_Types_isStringOrSubTypeString(threadData, _iTy)) goto tmp2_end;
2151#line 4029 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2152 tmpMeta[0] = _OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3));
2153#line 2153 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2154 goto tmp2_done;
2155 }
2156 case 5: {
2157
2158 /* Pattern matching succeeded */
2159#line 4031 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2160 tmpMeta[0] = _OMC_LIT21((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3));
2161#line 2161 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2162 goto tmp2_done;
2163 }
2164 }
2165 goto tmp2_end;
2166 tmp2_end: ;
2167 }
2168 goto goto_1;
2169 goto_1:;
2170 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2171 goto tmp2_done;
2172 tmp2_done:;
2173 }
2174 }
2175 _oExp = tmpMeta[0];
2176 _return: OMC_LABEL_UNUSED__attribute__((unused))
2177 return _oExp;
2178}
2179
2180PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_mergeStartFixed(threadData_t *threadData, modelica_metatype _inVar, modelica_boolean _fixed, modelica_metatype _sv, modelica_metatype _so, modelica_metatype _inAVar, modelica_boolean _fixeda, modelica_metatype _sva, modelica_metatype _soa, modelica_boolean _negate, modelica_metatype _globalKnownVars)
2181{
2182 modelica_metatype _outVar = NULL((void*)0);
2183 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
2184 MMC_SO()mmc_check_stackoverflow(threadData);
2185 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2186 // _outVar has no default value.
2187#line 2187 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2188 { /* matchcontinue expression */
2189 volatile modelica_metatype tmp3_1;volatile modelica_boolean tmp3_2;volatile modelica_metatype tmp3_3;volatile modelica_metatype tmp3_4;volatile modelica_boolean tmp3_5;volatile modelica_metatype tmp3_6;
2190 tmp3_1 = _inVar;
2191 tmp3_2 = _fixed;
2192 tmp3_3 = _sv;
2193 tmp3_4 = _inAVar;
2194 tmp3_5 = _fixeda;
2195 tmp3_6 = _sva;
2196 {
2197 modelica_metatype _v = NULL((void*)0);
2198 modelica_metatype _v1 = NULL((void*)0);
2199 modelica_metatype _cr = NULL((void*)0);
2200 modelica_metatype _cra = NULL((void*)0);
2201 modelica_metatype _sa = NULL((void*)0);
2202 modelica_metatype _sb = NULL((void*)0);
2203 modelica_metatype _e = NULL((void*)0);
2204 modelica_integer _i;
2205 modelica_integer _ia;
2206 modelica_metatype _origin = NULL((void*)0);
2207 modelica_metatype _ty = NULL((void*)0);
2208 modelica_metatype _tya = NULL((void*)0);
2209 volatile mmc_switch_type tmp3;
2210 int tmp4;
2211 // _v has no default value.
2212 // _v1 has no default value.
2213 // _cr has no default value.
2214 // _cra has no default value.
2215 // _sa has no default value.
2216 // _sb has no default value.
2217 // _e has no default value.
2218 // _i has no default value.
2219 // _ia has no default value.
2220 // _origin has no default value.
2221 // _ty has no default value.
2222 // _tya has no default value.
2223 tmp3 = 0;
2224 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
2225 tmp2_top:
2226 threadData->mmc_jumper = &new_mmc_jumper;
2227 for (; tmp3 < 12; tmp3++) {
2228 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
2229 case 0: {
2230 if (1 != tmp3_2) goto tmp2_end;
2231 if (0 != tmp3_5) goto tmp2_end;
2232
2233 _v = tmp3_1;
2234 tmp3 += 11; /* Pattern matching succeeded; we may skip some cases if we fail */
2235#line 3936 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2236 tmpMeta[0] = _v;
2237#line 2237 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2238 goto tmp2_done;
2239 }
2240 case 1: {
2241 if (0 != tmp3_2) goto tmp2_end;
2242 if (1 != tmp3_5) goto tmp2_end;
2243 if (optionNone(tmp3_6)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_6
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2244 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_6), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_6) - 3))) +
(1)))))
;
2245
2246 _sb = tmpMeta[1];
2247 _v = tmp3_1;
2248 tmp3 += 10; /* Pattern matching succeeded; we may skip some cases if we fail */
2249#line 3939 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2250 _e = (_negate?omc_Expression_negate(threadData, _sb):_sb);
2251#line 2251 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2252
2253#line 3940 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2254 _v1 = omc_BackendVariable_setVarStartValue(threadData, _v, _e);
2255#line 2255 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2256#line 3941 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2257 tmpMeta[0] = omc_BackendVariable_setVarFixed(threadData, _v1, 1);
2258#line 2258 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2259 goto tmp2_done;
2260 }
2261 case 2: {
2262 if (0 != tmp3_2) goto tmp2_end;
2263 if (1 != tmp3_5) goto tmp2_end;
2264 if (!optionNone(tmp3_3)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_3
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2265 if (!optionNone(tmp3_6)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_6
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2266
2267 _v = tmp3_1;
2268 tmp3 += 9; /* Pattern matching succeeded; we may skip some cases if we fail */
2269#line 3945 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2270 tmpMeta[0] = omc_BackendVariable_setVarFixed(threadData, _v, 1);
2271#line 2271 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2272 goto tmp2_done;
2273 }
2274 case 3: {
2275 if (0 != tmp3_2) goto tmp2_end;
2276 if (1 != tmp3_5) goto tmp2_end;
2277 if (optionNone(tmp3_3)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_3
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2278 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_3), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_3) - 3))) +
(1)))))
;
2279 if (!optionNone(tmp3_6)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_6
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2280
2281 _v = tmp3_1;
2282 tmp3 += 8; /* Pattern matching succeeded; we may skip some cases if we fail */
2283#line 3949 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2284 omc_BackendVariable_setVarStartValueOption(threadData, _v, mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)));
2285#line 2285 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2286#line 3950 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2287 tmpMeta[0] = omc_BackendVariable_setVarFixed(threadData, _v, 1);
2288#line 2288 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2289 goto tmp2_done;
2290 }
2291 case 4: {
2292 if (0 != tmp3_2) goto tmp2_end;
2293 if (0 != tmp3_5) goto tmp2_end;
2294 if (!optionNone(tmp3_3)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_3
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2295 if (!optionNone(tmp3_6)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_6
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2296
2297 _v = tmp3_1;
2298 tmp3 += 2; /* Pattern matching succeeded; we may skip some cases if we fail */
2299#line 3954 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2300 tmpMeta[0] = _v;
2301#line 2301 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2302 goto tmp2_done;
2303 }
2304 case 5: {
2305 if (0 != tmp3_2) goto tmp2_end;
2306 if (0 != tmp3_5) goto tmp2_end;
2307 if (optionNone(tmp3_3)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_3
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2308 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_3), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_3) - 3))) +
(1)))))
;
2309 if (!optionNone(tmp3_6)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_6
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2310
2311 _v = tmp3_1;
2312 tmp3 += 1; /* Pattern matching succeeded; we may skip some cases if we fail */
2313#line 3956 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2314 tmpMeta[0] = _v;
2315#line 2315 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2316 goto tmp2_done;
2317 }
2318 case 6: {
2319 if (0 != tmp3_2) goto tmp2_end;
2320 if (0 != tmp3_5) goto tmp2_end;
2321 if (!optionNone(tmp3_3)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_3
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2322 if (optionNone(tmp3_6)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_6
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2323 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_6), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_6) - 3))) +
(1)))))
;
2324
2325 _sb = tmpMeta[1];
2326 _v = tmp3_1;
2327 /* Pattern matching succeeded */
2328#line 3959 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2329 _e = (_negate?omc_Expression_negate(threadData, _sb):_sb);
2330#line 2330 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2331#line 3960 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2332 tmpMeta[0] = omc_BackendVariable_setVarStartValue(threadData, _v, _e);
2333#line 2333 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2334 goto tmp2_done;
2335 }
2336 case 7: {
2337 if (0 != tmp3_2) goto tmp2_end;
2338 if (0 != tmp3_5) goto tmp2_end;
2339 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(6)))))
;
2340 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_4), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_4) - 3))) +
(6)))))
;
2341
2342 _v = tmp3_1;
2343 _ty = tmpMeta[1];
2344 _tya = tmpMeta[2];
2345 /* Pattern matching succeeded */
2346#line 3964 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2347 _sa = omc_BackendVariable_startValueType(threadData, _sv, _ty);
2348#line 2348 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2349
2350#line 3965 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2351 _sb = omc_BackendVariable_startValueType(threadData, _sva, _tya);
2352#line 2352 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2353
2354#line 3966 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2355 _e = (_negate?omc_Expression_negate(threadData, _sb):_sb);
2356#line 2356 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2357
2358#line 3967 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2359 _e = omc_BackendVariable_getNonZeroStart(threadData, 0, _sa, _so, _e, _soa, _globalKnownVars ,&_origin);
2360#line 2360 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2361
2362#line 3968 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2363 omc_BackendVariable_setVarStartValue(threadData, _v, _e);
2364#line 2364 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2365#line 3969 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2366 tmpMeta[0] = omc_BackendVariable_setVarStartOrigin(threadData, _v, _origin);
2367#line 2367 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2368 goto tmp2_done;
2369 }
2370 case 8: {
2371 if (0 != tmp3_2) goto tmp2_end;
2372 if (0 != tmp3_5) goto tmp2_end;
2373 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
2374 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(6)))))
;
2375 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_4), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_4) - 3))) +
(2)))))
;
2376 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_4), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_4) - 3))) +
(6)))))
;
2377
2378 _v = tmp3_1;
2379 _cr = tmpMeta[1];
2380 _ty = tmpMeta[2];
2381 _cra = tmpMeta[3];
2382 _tya = tmpMeta[4];
2383 tmp3 += 3; /* Pattern matching succeeded; we may skip some cases if we fail */
2384#line 3973 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2385 _sa = omc_BackendVariable_startValueType(threadData, _sv, _ty);
2386#line 2386 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2387
2388#line 3974 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2389 _sb = omc_BackendVariable_startValueType(threadData, _sva, _tya);
2390#line 2390 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2391
2392#line 3975 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2393 _e = (_negate?omc_Expression_negate(threadData, _sb):_sb);
2394#line 2394 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2395
2396#line 3979 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2397 _i = omc_ComponentReference_crefDepth(threadData, _cr);
2398#line 2398 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2399
2400#line 3980 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2401 _ia = omc_ComponentReference_crefDepth(threadData, _cra);
2402#line 2402 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2403#line 3981 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2404 tmpMeta[0] = omc_BackendVariable_mergeStartFixed1(threadData, (_ia < _i), _v, _cr, _sa, _cra, _e, _soa, _negate, _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)));
2405#line 2405 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2406 goto tmp2_done;
2407 }
2408 case 9: {
2409 if (1 != tmp3_2) goto tmp2_end;
2410 if (1 != tmp3_5) goto tmp2_end;
2411 if (!optionNone(tmp3_3)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_3
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2412 if (!optionNone(tmp3_6)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_6) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_6
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
2413
2414 _v = tmp3_1;
2415 /* Pattern matching succeeded */
2416#line 3985 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2417 tmpMeta[0] = _v;
2418#line 2418 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2419 goto tmp2_done;
2420 }
2421 case 10: {
2422 if (1 != tmp3_2) goto tmp2_end;
2423 if (1 != tmp3_5) goto tmp2_end;
2424 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(6)))))
;
2425 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_4), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_4) - 3))) +
(6)))))
;
2426
2427 _v = tmp3_1;
2428 _ty = tmpMeta[1];
2429 _tya = tmpMeta[2];
2430 /* Pattern matching succeeded */
2431#line 3988 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2432 _sa = omc_BackendVariable_startValueType(threadData, _sv, _ty);
2433#line 2433 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2434
2435#line 3989 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2436 _sb = omc_BackendVariable_startValueType(threadData, _sva, _tya);
2437#line 2437 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2438
2439#line 3990 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2440 _e = (_negate?omc_Expression_negate(threadData, _sb):_sb);
2441#line 2441 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2442
2443#line 3991 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2444 _e = omc_BackendVariable_getNonZeroStart(threadData, 1, _sa, _so, _e, _soa, _globalKnownVars ,&_origin);
2445#line 2445 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2446
2447#line 3992 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2448 omc_BackendVariable_setVarStartValue(threadData, _v, _e);
2449#line 2449 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2450#line 3993 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2451 tmpMeta[0] = omc_BackendVariable_setVarStartOrigin(threadData, _v, _origin);
2452#line 2452 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2453 goto tmp2_done;
2454 }
2455 case 11: {
2456 if (1 != tmp3_2) goto tmp2_end;
2457 if (1 != tmp3_5) goto tmp2_end;
2458 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
2459 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(6)))))
;
2460 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_4), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_4) - 3))) +
(2)))))
;
2461 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_4), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_4) - 3))) +
(6)))))
;
2462
2463 _v = tmp3_1;
2464 _cr = tmpMeta[1];
2465 _ty = tmpMeta[2];
2466 _cra = tmpMeta[3];
2467 _tya = tmpMeta[4];
2468 /* Pattern matching succeeded */
2469#line 3998 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2470 _sa = omc_BackendVariable_startValueType(threadData, _sv, _ty);
2471#line 2471 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2472
2473#line 3999 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2474 _sb = omc_BackendVariable_startValueType(threadData, _sva, _tya);
2475#line 2475 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2476
2477#line 4000 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2478 _e = (_negate?omc_Expression_negate(threadData, _sb):_sb);
2479#line 2479 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2480
2481#line 4002 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2482 _i = omc_ComponentReference_crefDepth(threadData, _cr);
2483#line 2483 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2484
2485#line 4003 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2486 _ia = omc_ComponentReference_crefDepth(threadData, _cra);
2487#line 2487 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2488#line 4004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2489 tmpMeta[0] = omc_BackendVariable_mergeStartFixed1(threadData, (_ia < _i), _v, _cr, _sa, _cra, _e, _soa, _negate, _OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3)));
2490#line 2490 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2491 goto tmp2_done;
2492 }
2493 }
2494 goto tmp2_end;
2495 tmp2_end: ;
2496 }
2497 goto goto_1;
2498 tmp2_done:
2499 (void)tmp3;
2500 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
2501 goto tmp2_done2;
2502 goto_1:;
2503 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
2504 if (++tmp3 < 12) {
2505 goto tmp2_top;
2506 }
2507 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2508 tmp2_done2:;
2509 }
2510 }
2511 _outVar = tmpMeta[0];
2512 _return: OMC_LABEL_UNUSED__attribute__((unused))
2513 return _outVar;
2514}
2515PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_mergeStartFixed(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _fixed, modelica_metatype _sv, modelica_metatype _so, modelica_metatype _inAVar, modelica_metatype _fixeda, modelica_metatype _sva, modelica_metatype _soa, modelica_metatype _negate, modelica_metatype _globalKnownVars)
2516{
2517 modelica_integer tmp1;
2518 modelica_integer tmp2;
2519 modelica_integer tmp3;
2520 modelica_metatype _outVar = NULL((void*)0);
2521 tmp1 = mmc_unbox_integer(_fixed)(((mmc_sint_t) (_fixed)) >> 1);
2522 tmp2 = mmc_unbox_integer(_fixeda)(((mmc_sint_t) (_fixeda)) >> 1);
2523 tmp3 = mmc_unbox_integer(_negate)(((mmc_sint_t) (_negate)) >> 1);
2524 _outVar = omc_BackendVariable_mergeStartFixed(threadData, _inVar, tmp1, _sv, _so, _inAVar, tmp2, _sva, _soa, tmp3, _globalKnownVars);
2525 /* skip box _outVar; BackendDAE.Var */
2526 return _outVar;
2527}
2528
2529DLLExport
2530modelica_metatype omc_BackendVariable_mergeAliasVars(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inAVar, modelica_boolean _negate, modelica_metatype _globalKnownVars)
2531{
2532 modelica_metatype _outVar = NULL((void*)0);
2533 modelica_metatype _v1 = NULL((void*)0);
2534 modelica_metatype _v2 = NULL((void*)0);
2535 modelica_boolean _fixed;
2536 modelica_boolean _fixeda;
2537 modelica_metatype _sv = NULL((void*)0);
2538 modelica_metatype _sva = NULL((void*)0);
2539 modelica_metatype _so = NULL((void*)0);
2540 modelica_metatype _soa = NULL((void*)0);
2541 modelica_metatype _start = NULL((void*)0);
2542 MMC_SO()mmc_check_stackoverflow(threadData);
2543 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2544 // _outVar has no default value.
2545 // _v1 has no default value.
2546 // _v2 has no default value.
2547 // _fixed has no default value.
2548 // _fixeda has no default value.
2549 // _sv has no default value.
2550 // _sva has no default value.
2551 // _so has no default value.
2552 // _soa has no default value.
2553 // _start has no default value.
2554#line 3896 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2555 _fixed = omc_BackendVariable_varFixed(threadData, _inVar);
2556#line 2556 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2557
2558#line 3897 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2559 _fixeda = omc_BackendVariable_varFixed(threadData, _inAVar);
2560#line 2560 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2561
2562#line 3899 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2563 _sv = omc_BackendVariable_varStartValueOption(threadData, _inVar);
2564#line 2564 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2565
2566#line 3900 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2567 _sva = omc_BackendVariable_varStartValueOption(threadData, _inAVar);
2568#line 2568 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2569
2570#line 3901 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2571 _so = omc_BackendVariable_varStartOrigin(threadData, _inVar);
2572#line 2572 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2573
2574#line 3902 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2575 _soa = omc_BackendVariable_varStartOrigin(threadData, _inAVar);
2576#line 2576 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2577
2578#line 3903 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2579 _v1 = omc_BackendVariable_mergeStartFixed(threadData, _inVar, _fixed, _sv, _so, _inAVar, _fixeda, _sva, _soa, _negate, _globalKnownVars);
2580#line 2580 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2581
2582#line 3905 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2583 _v2 = omc_BackendVariable_mergeNominalAttribute(threadData, _inAVar, _v1, _negate);
2584#line 2584 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2585
2586#line 3907 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2587 _outVar = omc_BackendVariable_mergeMinMaxAttribute(threadData, _inAVar, _v2, _negate);
2588#line 2588 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2589 _return: OMC_LABEL_UNUSED__attribute__((unused))
2590 return _outVar;
2591}
2592modelica_metatype boxptr_BackendVariable_mergeAliasVars(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inAVar, modelica_metatype _negate, modelica_metatype _globalKnownVars)
2593{
2594 modelica_integer tmp1;
2595 modelica_metatype _outVar = NULL((void*)0);
2596 tmp1 = mmc_unbox_integer(_negate)(((mmc_sint_t) (_negate)) >> 1);
2597 _outVar = omc_BackendVariable_mergeAliasVars(threadData, _inVar, _inAVar, tmp1, _globalKnownVars);
2598 /* skip box _outVar; BackendDAE.Var */
2599 return _outVar;
2600}
2601
2602DLLExport
2603modelica_metatype omc_BackendVariable_mergeVariableOperations(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inOps)
2604{
2605 modelica_metatype _outVar = NULL((void*)0);
2606 modelica_metatype _ops = NULL((void*)0);
2607 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2608 MMC_SO()mmc_check_stackoverflow(threadData);
2609 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2610 _outVar = _inVar;
2611 // _ops has no default value.
2612#line 3878 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2613 _ops = listReverse(_inOps);
2614#line 2614 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2615
2616#line 3879 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2617 tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(18))((void*)((char*)(mmc_alloc_words(18)) + 3));
2618#line 3879 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2619 memcpy(MMC_UNTAGPTR(tmpMeta[0])((void*)((char*)(tmpMeta[0]) - 3)), MMC_UNTAGPTR(_outVar)((void*)((char*)(_outVar) - 3)), 18*sizeof(modelica_metatype));
2620#line 3879 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2621 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0])((void*)((char*)(tmpMeta[0]) - 3)))[10] = omc_List_foldr(threadData, _ops, boxvar_ElementSource_addSymbolicTransformation((void*)((char*)(&(boxvar_lit_ElementSource_addSymbolicTransformation
).header) + 3))
, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 10))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(10)))))
));
2622#line 3879 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2623 _outVar = tmpMeta[0];
2624#line 2624 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2625 _return: OMC_LABEL_UNUSED__attribute__((unused))
2626 return _outVar;
2627}
2628
2629PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingisXXXFinder(threadData_t *threadData, modelica_metatype _D_24in_inVar, modelica_metatype _v_lst, modelica_metatype _i_lst, modelica_fnptr _isFunc, modelica_metatype _D_24in_i, modelica_metatype *out_i)
2630{
2631 modelica_metatype _inVar = NULL((void*)0);
2632 modelica_metatype _i = NULL((void*)0);
2633 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2634 MMC_SO()mmc_check_stackoverflow(threadData);
2635 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2636 _inVar = _D_24in_inVar;
2637 _i = _D_24in_i;
2638#line 3864 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2639 if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isFunc), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isFunc), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isFunc), 2))), _inVar) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_isFunc), 1)))) (threadData, _inVar))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_isFunc) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype)) ((*(void**)(((void*
)((void**)(((void*)((char*)(_isFunc) - 3))) + (1))))))) (threadData
, ((*(void**)(((void*)((void**)(((void*)((char*)(_isFunc) - 3
))) + (2)))))), _inVar) : ((modelica_metatype(*)(threadData_t
*, modelica_metatype)) ((*(void**)(((void*)((void**)(((void*)
((char*)(_isFunc) - 3))) + (1))))))) (threadData, _inVar))) >>
1)
)
2640#line 3864 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2641 {
2642#line 3865 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2643 tmpMeta[0] = mmc_mk_cons(_inVar, arrayGet(_v_lst,((modelica_integer) 1))nobox_arrayGet(threadData,_v_lst,((modelica_integer) 1)) /* DAE.ASUB */);
2644#line 3865 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2645 arrayUpdate(_v_lst, ((modelica_integer) 1), tmpMeta[0])boxptr_arrayUpdate(threadData,_v_lst,mmc_mk_icon(((modelica_integer
) 1)),tmpMeta[0])
;
2646#line 2646 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2647
2648#line 3866 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2649 tmpMeta[0] = mmc_mk_cons(arrayGet(_i,((modelica_integer) 1))nobox_arrayGet(threadData,_i,((modelica_integer) 1)) /* DAE.ASUB */, arrayGet(_i_lst,((modelica_integer) 1))nobox_arrayGet(threadData,_i_lst,((modelica_integer) 1)) /* DAE.ASUB */);
2650#line 3866 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2651 arrayUpdate(_i_lst, ((modelica_integer) 1), tmpMeta[0])boxptr_arrayUpdate(threadData,_i_lst,mmc_mk_icon(((modelica_integer
) 1)),tmpMeta[0])
;
2652#line 2652 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2653 }
2654
2655#line 3868 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2656 arrayUpdate(_i,((modelica_integer) 1),mmc_mk_integer(((modelica_integer) 1) + mmc_unbox_integer(arrayGet(_i,((modelica_integer) 1)) /* DAE.ASUB */)))boxptr_arrayUpdate(threadData,_i,mmc_mk_icon(((modelica_integer
) 1)),mmc_mk_icon(((modelica_integer) 1) + (((mmc_sint_t) (nobox_arrayGet
(threadData,_i,((modelica_integer) 1)))) >> 1)))
;
2657#line 2657 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2658 _return: OMC_LABEL_UNUSED__attribute__((unused))
2659 if (out_i) { *out_i = _i; }
2660 return _inVar;
2661}
2662
2663static modelica_metatype closure0_BackendVariable_traversingisXXXFinder(threadData_t *thData, modelica_metatype closure, modelica_metatype $in_inVar, modelica_metatype $in_i, modelica_metatype tmp1)
2664{
2665 modelica_metatype v_lst = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),1))(*(void**)(((void*)((void**)(((void*)((char*)(closure) - 3)))
+ (1)))))
;
2666 modelica_metatype i_lst = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),2))(*(void**)(((void*)((void**)(((void*)((char*)(closure) - 3)))
+ (2)))))
;
2667 modelica_fnptr isFunc = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),3))(*(void**)(((void*)((void**)(((void*)((char*)(closure) - 3)))
+ (3)))))
;
2668 return boxptr_BackendVariable_traversingisXXXFinderomc_BackendVariable_traversingisXXXFinder(thData, $in_inVar, v_lst, i_lst, isFunc, $in_i, tmp1);
2669}
2670DLLExport
2671modelica_metatype omc_BackendVariable_getAllAlgStateVarIndexFromVariables(threadData_t *threadData, modelica_metatype _inVariables, modelica_metatype *out_i_lst)
2672{
2673 modelica_metatype _v_lst = NULL((void*)0);
2674 modelica_metatype _i_lst = NULL((void*)0);
2675 modelica_metatype _v_a = NULL((void*)0);
2676 modelica_metatype _i_a = NULL((void*)0);
2677 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2678 MMC_SO()mmc_check_stackoverflow(threadData);
2679 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2680 // _v_lst has no default value.
2681 // _i_lst has no default value.
2682 // _v_a has no default value.
2683 // _i_a has no default value.
2684#line 3845 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2685 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2686#line 3845 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2687 _v_a = arrayCreate(((modelica_integer) 1), tmpMeta[0]);
2688#line 2688 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2689
2690#line 3846 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2691 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2692#line 3846 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2693 _i_a = arrayCreate(((modelica_integer) 1), tmpMeta[0]);
2694#line 2694 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2695
2696#line 3847 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2697 tmpMeta[0] = mmc_mk_box3(0, _v_a, _i_a, boxvar_BackendVariable_isAlgState((void*)((char*)(&(boxvar_lit_BackendVariable_isAlgState)
.header) + 3))
);
2698#line 3847 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2699 omc_BackendVariable_traverseBackendDAEVars(threadData, _inVariables, (modelica_fnptr) mmc_mk_box2(0,closure0_BackendVariable_traversingisXXXFinder,tmpMeta[0]), arrayCreate(((modelica_integer) 1), mmc_mk_integermmc_mk_icon(((modelica_integer) 1))));
2700#line 2700 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2701
2702#line 3848 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2703 _v_lst = arrayGet(_v_a,((modelica_integer) 1))nobox_arrayGet(threadData,_v_a,((modelica_integer) 1)) /* DAE.ASUB */;
2704#line 2704 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2705
2706#line 3849 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2707 _i_lst = arrayGet(_i_a,((modelica_integer) 1))nobox_arrayGet(threadData,_i_a,((modelica_integer) 1)) /* DAE.ASUB */;
2708#line 2708 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2709 _return: OMC_LABEL_UNUSED__attribute__((unused))
2710 if (out_i_lst) { *out_i_lst = _i_lst; }
2711 return _v_lst;
2712}
2713
2714static modelica_metatype closure1_BackendVariable_traversingisXXXFinder(threadData_t *thData, modelica_metatype closure, modelica_metatype $in_inVar, modelica_metatype $in_i, modelica_metatype tmp1)
2715{
2716 modelica_metatype v_lst = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),1))(*(void**)(((void*)((void**)(((void*)((char*)(closure) - 3)))
+ (1)))))
;
2717 modelica_metatype i_lst = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),2))(*(void**)(((void*)((void**)(((void*)((char*)(closure) - 3)))
+ (2)))))
;
2718 modelica_fnptr isFunc = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),3))(*(void**)(((void*)((void**)(((void*)((char*)(closure) - 3)))
+ (3)))))
;
2719 return boxptr_BackendVariable_traversingisXXXFinderomc_BackendVariable_traversingisXXXFinder(thData, $in_inVar, v_lst, i_lst, isFunc, $in_i, tmp1);
2720}
2721DLLExport
2722modelica_metatype omc_BackendVariable_getAllStateVarIndexFromVariables(threadData_t *threadData, modelica_metatype _inVariables, modelica_metatype *out_i_lst)
2723{
2724 modelica_metatype _v_lst = NULL((void*)0);
2725 modelica_metatype _i_lst = NULL((void*)0);
2726 modelica_metatype _v_a = NULL((void*)0);
2727 modelica_metatype _i_a = NULL((void*)0);
2728 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2729 MMC_SO()mmc_check_stackoverflow(threadData);
2730 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2731 // _v_lst has no default value.
2732 // _i_lst has no default value.
2733 // _v_a has no default value.
2734 // _i_a has no default value.
2735#line 3830 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2736 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2737#line 3830 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2738 _v_a = arrayCreate(((modelica_integer) 1), tmpMeta[0]);
2739#line 2739 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2740
2741#line 3831 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2742 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2743#line 3831 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2744 _i_a = arrayCreate(((modelica_integer) 1), tmpMeta[0]);
2745#line 2745 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2746
2747#line 3832 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2748 tmpMeta[0] = mmc_mk_box3(0, _v_a, _i_a, boxvar_BackendVariable_isStateVar((void*)((char*)(&(boxvar_lit_BackendVariable_isStateVar)
.header) + 3))
);
2749#line 3832 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2750 omc_BackendVariable_traverseBackendDAEVars(threadData, _inVariables, (modelica_fnptr) mmc_mk_box2(0,closure1_BackendVariable_traversingisXXXFinder,tmpMeta[0]), arrayCreate(((modelica_integer) 1), mmc_mk_integermmc_mk_icon(((modelica_integer) 1))));
2751#line 2751 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2752
2753#line 3833 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2754 _v_lst = arrayGet(_v_a,((modelica_integer) 1))nobox_arrayGet(threadData,_v_a,((modelica_integer) 1)) /* DAE.ASUB */;
2755#line 2755 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2756
2757#line 3834 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2758 _i_lst = arrayGet(_i_a,((modelica_integer) 1))nobox_arrayGet(threadData,_i_a,((modelica_integer) 1)) /* DAE.ASUB */;
2759#line 2759 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2760 _return: OMC_LABEL_UNUSED__attribute__((unused))
2761 if (out_i_lst) { *out_i_lst = _i_lst; }
2762 return _v_lst;
2763}
2764
2765static modelica_metatype closure2_BackendVariable_traversingisXXXFinder(threadData_t *thData, modelica_metatype closure, modelica_metatype $in_inVar, modelica_metatype $in_i, modelica_metatype tmp1)
2766{
2767 modelica_metatype v_lst = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),1))(*(void**)(((void*)((void**)(((void*)((char*)(closure) - 3)))
+ (1)))))
;
2768 modelica_metatype i_lst = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),2))(*(void**)(((void*)((void**)(((void*)((char*)(closure) - 3)))
+ (2)))))
;
2769 modelica_fnptr isFunc = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),3))(*(void**)(((void*)((void**)(((void*)((char*)(closure) - 3)))
+ (3)))))
;
2770 return boxptr_BackendVariable_traversingisXXXFinderomc_BackendVariable_traversingisXXXFinder(thData, $in_inVar, v_lst, i_lst, isFunc, $in_i, tmp1);
2771}
2772DLLExport
2773modelica_metatype omc_BackendVariable_getAllStateDerVarIndexFromVariables(threadData_t *threadData, modelica_metatype _inVariables, modelica_metatype *out_i_lst)
2774{
2775 modelica_metatype _v_lst = NULL((void*)0);
2776 modelica_metatype _i_lst = NULL((void*)0);
2777 modelica_metatype _v_a = NULL((void*)0);
2778 modelica_metatype _i_a = NULL((void*)0);
2779 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2780 MMC_SO()mmc_check_stackoverflow(threadData);
2781 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2782 // _v_lst has no default value.
2783 // _i_lst has no default value.
2784 // _v_a has no default value.
2785 // _i_a has no default value.
2786#line 3815 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2787 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2788#line 3815 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2789 _v_a = arrayCreate(((modelica_integer) 1), tmpMeta[0]);
2790#line 2790 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2791
2792#line 3816 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2793 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2794#line 3816 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2795 _i_a = arrayCreate(((modelica_integer) 1), tmpMeta[0]);
2796#line 2796 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2797
2798#line 3817 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2799 tmpMeta[0] = mmc_mk_box3(0, _v_a, _i_a, boxvar_BackendVariable_isStateDerVar((void*)((char*)(&(boxvar_lit_BackendVariable_isStateDerVar
).header) + 3))
);
2800#line 3817 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2801 omc_BackendVariable_traverseBackendDAEVars(threadData, _inVariables, (modelica_fnptr) mmc_mk_box2(0,closure2_BackendVariable_traversingisXXXFinder,tmpMeta[0]), arrayCreate(((modelica_integer) 1), mmc_mk_integermmc_mk_icon(((modelica_integer) 1))));
2802#line 2802 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2803
2804#line 3818 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2805 _v_lst = arrayGet(_v_a,((modelica_integer) 1))nobox_arrayGet(threadData,_v_a,((modelica_integer) 1)) /* DAE.ASUB */;
2806#line 2806 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2807
2808#line 3819 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2809 _i_lst = arrayGet(_i_a,((modelica_integer) 1))nobox_arrayGet(threadData,_i_a,((modelica_integer) 1)) /* DAE.ASUB */;
2810#line 2810 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2811 _return: OMC_LABEL_UNUSED__attribute__((unused))
2812 if (out_i_lst) { *out_i_lst = _i_lst; }
2813 return _v_lst;
2814}
2815
2816PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingisStateCount(threadData_t *threadData, modelica_metatype _D_24in_v, modelica_integer _D_24in_count, modelica_integer *out_count)
2817{
2818 modelica_metatype _v = NULL((void*)0);
2819 modelica_integer _count;
2820 MMC_SO()mmc_check_stackoverflow(threadData);
2821 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2822 _v = _D_24in_v;
2823 _count = _D_24in_count;
2824#line 3802 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2825 if(omc_BackendVariable_isStateVar(threadData, _v))
2826#line 3802 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2827 {
2828#line 3803 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2829 _count = ((modelica_integer) 1) + _count;
2830#line 2830 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2831 }
2832 _return: OMC_LABEL_UNUSED__attribute__((unused))
2833 if (out_count) { *out_count = _count; }
2834 return _v;
2835}
2836PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_traversingisStateCount(threadData_t *threadData, modelica_metatype _D_24in_v, modelica_metatype _D_24in_count, modelica_metatype *out_count)
2837{
2838 modelica_integer tmp1;
2839 modelica_integer _count;
2840 modelica_metatype _v = NULL((void*)0);
2841 tmp1 = mmc_unbox_integer(_D_24in_count)(((mmc_sint_t) (_D_24in_count)) >> 1);
2842 _v = omc_BackendVariable_traversingisStateCount(threadData, _D_24in_v, tmp1, &_count);
2843 /* skip box _v; BackendDAE.Var */
2844 if (out_count) { *out_count = mmc_mk_icon(_count); }
2845 return _v;
2846}
2847
2848PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingisClockedStateVarFinder(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVars, modelica_metatype *out_v_lst)
2849{
2850 modelica_metatype _v = NULL((void*)0);
2851 modelica_metatype _v_lst = NULL((void*)0);
2852 MMC_SO()mmc_check_stackoverflow(threadData);
2853 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2854 // _v has no default value.
2855 // _v_lst has no default value.
2856#line 3794 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2857 _v = _inVar;
2858#line 2858 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2859
2860#line 3795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2861 _v_lst = omc_List_consOnTrue(threadData, omc_BackendVariable_isClockedStateVar(threadData, _v), _v, _inVars);
2862#line 2862 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2863 _return: OMC_LABEL_UNUSED__attribute__((unused))
2864 if (out_v_lst) { *out_v_lst = _v_lst; }
2865 return _v;
2866}
2867
2868PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingisStateVarFinder(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVars, modelica_metatype *out_v_lst)
2869{
2870 modelica_metatype _v = NULL((void*)0);
2871 modelica_metatype _v_lst = NULL((void*)0);
2872 MMC_SO()mmc_check_stackoverflow(threadData);
2873 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2874 // _v has no default value.
2875 // _v_lst has no default value.
2876#line 3784 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2877 _v = _inVar;
2878#line 2878 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2879
2880#line 3785 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2881 _v_lst = omc_List_consOnTrue(threadData, omc_BackendVariable_isStateVar(threadData, _v), _v, _inVars);
2882#line 2882 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2883 _return: OMC_LABEL_UNUSED__attribute__((unused))
2884 if (out_v_lst) { *out_v_lst = _v_lst; }
2885 return _v;
2886}
2887
2888DLLExport
2889modelica_integer omc_BackendVariable_getNumStateVarFromVariables(threadData_t *threadData, modelica_metatype _inVariables)
2890{
2891 modelica_integer _count;
2892 MMC_SO()mmc_check_stackoverflow(threadData);
2893 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2894 // _count has no default value.
2895#line 3775 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2896 _count = mmc_unbox_integer(omc_BackendVariable_traverseBackendDAEVars(threadData, _inVariables, boxvar_BackendVariable_traversingisStateCount, mmc_mk_integer(((modelica_integer) 0))))(((mmc_sint_t) (omc_BackendVariable_traverseBackendDAEVars(threadData
, _inVariables, ((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisStateCount
).header) + 3)), mmc_mk_icon(((modelica_integer) 0))))) >>
1)
;
2897#line 2897 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2898 _return: OMC_LABEL_UNUSED__attribute__((unused))
2899 return _count;
2900}
2901modelica_metatype boxptr_BackendVariable_getNumStateVarFromVariables(threadData_t *threadData, modelica_metatype _inVariables)
2902{
2903 modelica_integer _count;
2904 modelica_metatype out_count;
2905 _count = omc_BackendVariable_getNumStateVarFromVariables(threadData, _inVariables);
2906 out_count = mmc_mk_icon(_count);
2907 return out_count;
2908}
2909
2910DLLExport
2911modelica_metatype omc_BackendVariable_getAllClockedStatesFromVariables(threadData_t *threadData, modelica_metatype _inVariables)
2912{
2913 modelica_metatype _v_lst = NULL((void*)0);
2914 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2915 MMC_SO()mmc_check_stackoverflow(threadData);
2916 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2917 // _v_lst has no default value.
2918#line 3768 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2919 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2920#line 3768 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2921 _v_lst = omc_BackendVariable_traverseBackendDAEVars(threadData, _inVariables, boxvar_BackendVariable_traversingisClockedStateVarFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisClockedStateVarFinder
).header) + 3))
, tmpMeta[0]);
2922#line 2922 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2923 _return: OMC_LABEL_UNUSED__attribute__((unused))
2924 return _v_lst;
2925}
2926
2927DLLExport
2928modelica_metatype omc_BackendVariable_getAllStateVarFromVariables(threadData_t *threadData, modelica_metatype _inVariables)
2929{
2930 modelica_metatype _v_lst = NULL((void*)0);
2931 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2932 MMC_SO()mmc_check_stackoverflow(threadData);
2933 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2934 // _v_lst has no default value.
2935#line 3761 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2936 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2937#line 3761 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2938 _v_lst = omc_BackendVariable_traverseBackendDAEVars(threadData, _inVariables, boxvar_BackendVariable_traversingisStateVarFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisStateVarFinder
).header) + 3))
, tmpMeta[0]);
2939#line 2939 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2940 _return: OMC_LABEL_UNUSED__attribute__((unused))
2941 return _v_lst;
2942}
2943
2944PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingisisVarDiscreteFinder(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVars, modelica_metatype *out_v_lst)
2945{
2946 modelica_metatype _v = NULL((void*)0);
2947 modelica_metatype _v_lst = NULL((void*)0);
2948 MMC_SO()mmc_check_stackoverflow(threadData);
2949 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2950 // _v has no default value.
2951 // _v_lst has no default value.
2952#line 3753 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2953 _v = _inVar;
2954#line 2954 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2955
2956#line 3754 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2957 _v_lst = omc_List_consOnTrue(threadData, omc_BackendVariable_isVarDiscrete(threadData, _v), _v, _inVars);
2958#line 2958 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2959 _return: OMC_LABEL_UNUSED__attribute__((unused))
2960 if (out_v_lst) { *out_v_lst = _v_lst; }
2961 return _v;
2962}
2963
2964DLLExport
2965modelica_metatype omc_BackendVariable_getAllDiscreteVarFromVariables(threadData_t *threadData, modelica_metatype _inVariables)
2966{
2967 modelica_metatype _v_lst = NULL((void*)0);
2968 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2969 MMC_SO()mmc_check_stackoverflow(threadData);
2970 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2971 // _v_lst has no default value.
2972#line 3744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2973 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2974#line 3744 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2975 _v_lst = omc_BackendVariable_traverseBackendDAEVars(threadData, _inVariables, boxvar_BackendVariable_traversingisisVarDiscreteFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingisisVarDiscreteFinder
).header) + 3))
, tmpMeta[0]);
2976#line 2976 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
2977 _return: OMC_LABEL_UNUSED__attribute__((unused))
2978 return _v_lst;
2979}
2980
2981DLLExport
2982modelica_metatype omc_BackendVariable_collectVarKindVarinVariables(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVarArrays, modelica_metatype *out_outVarArrays)
2983{
2984 modelica_metatype _outVar = NULL((void*)0);
2985 modelica_metatype _outVarArrays = NULL((void*)0);
2986 modelica_metatype _vararray = NULL((void*)0);
2987 modelica_fnptr _checkVarKind;
2988 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2989 MMC_SO()mmc_check_stackoverflow(threadData);
2990 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2991 _outVar = _inVar;
2992 _outVarArrays = _inVarArrays;
2993 // _vararray has no default value.
2994#line 3728 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2995 /* Pattern-matching assignment */
2996#line 3728 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2997 tmpMeta[0] = _inVarArrays;
2998#line 3728 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
2999 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
3000#line 3728 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3001 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3002#line 3728 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3003 _checkVarKind = tmpMeta[1];
3004#line 3728 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3005 _vararray = tmpMeta[2];
3006#line 3006 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3007
3008#line 3008 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3009 { /* match expression */
3010 {
3011 volatile mmc_switch_type tmp3;
3012 int tmp4;
3013 tmp3 = 0;
3014 for (; tmp3 < 2; tmp3++) {
3015 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
3016 case 0: {
3017 /* Pattern matching succeeded */
3018 /* Check guard condition after assignments */
3019 if (!mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_checkVarKind), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_checkVarKind), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_checkVarKind), 2))), _inVar) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_checkVarKind), 1)))) (threadData, _inVar))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_checkVarKind) - 3))) + (2)))))) ? ((modelica_metatype(*)(threadData_t
*, modelica_metatype, modelica_metatype)) ((*(void**)(((void*
)((void**)(((void*)((char*)(_checkVarKind) - 3))) + (1)))))))
(threadData, ((*(void**)(((void*)((void**)(((void*)((char*)(
_checkVarKind) - 3))) + (2)))))), _inVar) : ((modelica_metatype
(*)(threadData_t*, modelica_metatype)) ((*(void**)(((void*)((
void**)(((void*)((char*)(_checkVarKind) - 3))) + (1))))))) (threadData
, _inVar))) >> 1)
) goto tmp2_end;
3020#line 3733 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3021 _vararray = omc_BackendVariable_addVar(threadData, _inVar, _vararray);
3022#line 3022 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3023#line 3734 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3024 tmpMeta[1] = mmc_mk_box2(0, ((modelica_fnptr) _checkVarKind), _vararray);
3025#line 3734 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3026 tmpMeta[0] = tmpMeta[1];
3027#line 3027 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3028 goto tmp2_done;
3029 }
3030 case 1: {
3031 /* Pattern matching succeeded */
3032#line 3736 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3033 tmpMeta[0] = _outVarArrays;
3034#line 3034 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3035 goto tmp2_done;
3036 }
3037 }
3038 goto tmp2_end;
3039 tmp2_end: ;
3040 }
3041 goto goto_1;
3042 goto_1:;
3043 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3044 goto tmp2_done;
3045 tmp2_done:;
3046 }
3047 }
3048 _outVarArrays = tmpMeta[0];
3049 _return: OMC_LABEL_UNUSED__attribute__((unused))
3050 if (out_outVarArrays) { *out_outVarArrays = _outVarArrays; }
3051 return _outVar;
3052}
3053
3054PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingVarCrefFinder(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inCrefs, modelica_metatype *out_outCrefs)
3055{
3056 modelica_metatype _outVar = NULL((void*)0);
3057 modelica_metatype _outCrefs = NULL((void*)0);
3058 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
3059 MMC_SO()mmc_check_stackoverflow(threadData);
3060 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3061 // _outVar has no default value.
3062 // _outCrefs has no default value.
3063#line 3702 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3064
3065#line 3702 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3066
3067#line 3067 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3068 { /* matchcontinue expression */
3069 volatile modelica_metatype tmp4_1;volatile modelica_metatype tmp4_2;
3070 tmp4_1 = _inVar;
3071 tmp4_2 = _inCrefs;
3072 {
3073 modelica_metatype _v = NULL((void*)0);
3074 modelica_metatype _cr_lst = NULL((void*)0);
3075 modelica_metatype _cr = NULL((void*)0);
3076 volatile mmc_switch_type tmp4;
3077 int tmp5;
3078 // _v has no default value.
3079 // _cr_lst has no default value.
3080 // _cr has no default value.
3081 tmp4 = 0;
3082 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
3083 tmp3_top:
3084 threadData->mmc_jumper = &new_mmc_jumper;
3085 for (; tmp4 < 2; tmp4++) {
3086 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
3087 case 0: {
3088
3089 _v = tmp4_1;
3090 _cr_lst = tmp4_2;
3091 /* Pattern matching succeeded */
3092#line 3709 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3093 _cr = omc_BackendVariable_varCref(threadData, _v);
3094#line 3094 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3095#line 3710 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3096 tmpMeta[2] = mmc_mk_cons(_cr, _cr_lst);
3097#line 3710 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3098 tmpMeta[0+0] = _v;
3099#line 3710 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3100 tmpMeta[0+1] = tmpMeta[2];
3101#line 3101 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3102 goto tmp3_done;
3103 }
3104 case 1: {
3105
3106 /* Pattern matching succeeded */
3107#line 3711 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3108 tmpMeta[0+0] = _inVar;
3109#line 3711 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3110 tmpMeta[0+1] = _inCrefs;
3111#line 3111 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3112 goto tmp3_done;
3113 }
3114 }
3115 goto tmp3_end;
3116 tmp3_end: ;
3117 }
3118 goto goto_2;
3119 tmp3_done:
3120 (void)tmp4;
3121 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3122 goto tmp3_done2;
3123 goto_2:;
3124 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3125 if (++tmp4 < 2) {
3126 goto tmp3_top;
3127 }
3128 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3129 tmp3_done2:;
3130 }
3131 }
3132 _outVar = tmpMeta[0+0];
3133 _outCrefs = tmpMeta[0+1];
3134 _return: OMC_LABEL_UNUSED__attribute__((unused))
3135 if (out_outCrefs) { *out_outCrefs = _outCrefs; }
3136 return _outVar;
3137}
3138
3139DLLExport
3140modelica_metatype omc_BackendVariable_getAllCrefFromVariables(threadData_t *threadData, modelica_metatype _inVariables)
3141{
3142 modelica_metatype _cr_lst = NULL((void*)0);
3143 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
3144 MMC_SO()mmc_check_stackoverflow(threadData);
3145 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3146 // _cr_lst has no default value.
3147#line 3693 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3148 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3149#line 3693 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3150 _cr_lst = omc_BackendVariable_traverseBackendDAEVars(threadData, _inVariables, boxvar_BackendVariable_traversingVarCrefFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingVarCrefFinder
).header) + 3))
, tmpMeta[0]);
3151#line 3151 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3152 _return: OMC_LABEL_UNUSED__attribute__((unused))
3153 return _cr_lst;
3154}
3155
3156PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traverseBackendDAEVarsWithUpdate2(threadData_t *threadData, modelica_metatype _inVar, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg)
3157{
3158 modelica_metatype _outVar = NULL((void*)0);
3159 modelica_metatype _outArg = NULL((void*)0);
3160 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
3161 MMC_SO()mmc_check_stackoverflow(threadData);
3162 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3163 // _outVar has no default value.
3164 // _outArg has no default value.
3165#line 3670 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3166
3167#line 3670 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3168
3169#line 3169 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3170 { /* match expression */
3171 modelica_metatype tmp4_1;
3172 tmp4_1 = _inVar;
3173 {
3174 modelica_metatype _ov = NULL((void*)0);
3175 modelica_metatype _v = NULL((void*)0);
3176 modelica_metatype _new_v = NULL((void*)0);
3177 modelica_metatype _arg = NULL((void*)0);
3178 volatile mmc_switch_type tmp4;
3179 int tmp5;
3180 // _ov has no default value.
3181 // _v has no default value.
3182 // _new_v has no default value.
3183 // _arg has no default value.
3184 tmp4 = 0;
3185 for (; tmp4 < 2; tmp4++) {
3186 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
3187 case 0: {
3188 if (!optionNone(tmp4_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
3189 /* Pattern matching succeeded */
3190#line 3677 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3191 tmpMeta[0+0] = _inVar;
3192#line 3677 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3193 tmpMeta[0+1] = _inArg;
3194#line 3194 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3195 goto tmp3_done;
3196 }
3197 case 1: {
3198 if (optionNone(tmp4_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
3199 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
3200 _v = tmpMeta[2];
3201 /* Pattern matching succeeded */
3202#line 3681 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3203 _new_v = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (2)))))
) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (1)))))
)) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (2)))))
), _v, _inArg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (1)))))
)) (threadData, _v, _inArg ,&_arg);
3204#line 3204 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3205
3206#line 3682 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3207 _ov = (referenceEq(_v, _new_v)((_v) == (_new_v))?_inVar:mmc_mk_some(_new_v));
3208#line 3208 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3209#line 3683 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3210 tmpMeta[0+0] = _ov;
3211#line 3683 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3212 tmpMeta[0+1] = _arg;
3213#line 3213 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3214 goto tmp3_done;
3215 }
3216 }
3217 goto tmp3_end;
3218 tmp3_end: ;
3219 }
3220 goto goto_2;
3221 goto_2:;
3222 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3223 goto tmp3_done;
3224 tmp3_done:;
3225 }
3226 }
3227 _outVar = tmpMeta[0+0];
3228 _outArg = tmpMeta[0+1];
3229 _return: OMC_LABEL_UNUSED__attribute__((unused))
3230 if (out_outArg) { *out_outArg = _outArg; }
3231 return _outVar;
3232}
3233
3234DLLExport
3235modelica_metatype omc_BackendVariable_traverseBackendDAEVarsWithUpdate(threadData_t *threadData, modelica_metatype _inVariables, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg)
3236{
3237 modelica_metatype _outVariables = NULL((void*)0);
3238 modelica_metatype _outArg = NULL((void*)0);
3239 modelica_metatype _indices = NULL((void*)0);
3240 modelica_integer _buckets;
3241 modelica_integer _num_vars1;
3242 modelica_integer _num_vars2;
3243 modelica_metatype _vars = NULL((void*)0);
3244 modelica_integer tmp1;
3245 modelica_integer tmp2;
3246 modelica_integer tmp3;
3247 modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
3248 MMC_SO()mmc_check_stackoverflow(threadData);
3249 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3250 // _outVariables has no default value.
3251 // _outArg has no default value.
3252 // _indices has no default value.
3253 // _buckets has no default value.
3254 // _num_vars1 has no default value.
3255 // _num_vars2 has no default value.
3256 // _vars has no default value.
3257#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3258 /* Pattern-matching assignment */
3259#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3260 tmpMeta[0] = _inVariables;
3261#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3262 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3263#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3264 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
3265#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3266 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
3267#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3268 tmp1 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
3269#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3270 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
3271#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3272 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (4)))))
;
3273#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3274 tmp2 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
3275#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3276 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (5)))))
;
3277#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3278 tmp3 = mmc_unbox_integer(tmpMeta[6])(((mmc_sint_t) (tmpMeta[6])) >> 1);
3279#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3280 _indices = tmpMeta[1];
3281#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3282 _num_vars1 = tmp1 /* pattern as ty=Integer */;
3283#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3284 _vars = tmpMeta[4];
3285#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3286 _buckets = tmp2 /* pattern as ty=Integer */;
3287#line 3647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3288 _num_vars2 = tmp3 /* pattern as ty=Integer */;
3289#line 3289 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3290
3291#line 3648 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3292 if((_num_vars1 != _num_vars2))
3293#line 3648 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3294 {
3295#line 3649 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3296 omc_Error_addInternalError(threadData, _OMC_LIT28((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3)), _OMC_LIT30((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3)));
3297#line 3297 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3298
3299#line 3650 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3300 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3301#line 3301 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3302 }
3303
3304#line 3652 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3305 _vars = omc_BackendDAEUtil_traverseArrayNoCopyWithUpdate(threadData, _vars, ((modelica_fnptr) _inFunc), boxvar_BackendVariable_traverseBackendDAEVarsWithUpdate2((void*)((char*)(&(boxvar_lit_BackendVariable_traverseBackendDAEVarsWithUpdate2
).header) + 3))
, _inArg, _num_vars1 ,&_outArg);
3306#line 3306 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3307
3308#line 3653 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3309 tmpMeta[0] = mmc_mk_box3(3, &BackendDAE_VariableArray_VARIABLE__ARRAY__desc, mmc_mk_integermmc_mk_icon(_num_vars1), _vars);
3310#line 3653 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3311 tmpMeta[1] = mmc_mk_box5(3, &BackendDAE_Variables_VARIABLES__desc, _indices, tmpMeta[0], mmc_mk_integermmc_mk_icon(_buckets), mmc_mk_integermmc_mk_icon(_num_vars2));
3312#line 3653 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3313 _outVariables = tmpMeta[1];
3314#line 3314 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3315 _return: OMC_LABEL_UNUSED__attribute__((unused))
3316 if (out_outArg) { *out_outArg = _outArg; }
3317 return _outVariables;
3318}
3319
3320DLLExport
3321modelica_metatype omc_BackendVariable_traverseBackendDAE(threadData_t *threadData, modelica_metatype _D_24in_dae, modelica_fnptr _inFunc, modelica_metatype _D_24in_arg, modelica_metatype *out_arg)
3322{
3323 modelica_metatype _dae = NULL((void*)0);
3324 modelica_metatype _arg = NULL((void*)0);
3325 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3326 MMC_SO()mmc_check_stackoverflow(threadData);
3327 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3328 _dae = _D_24in_dae;
3329 _arg = _D_24in_arg;
3330#line 3618 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3331 {
3332#line 3618 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3333 modelica_metatype _syst;
3334#line 3618 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3335 for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_dae), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_dae) - 3))) + (
2)))))
); !listEmpty(tmpMeta[0])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[0]=MMC_CDR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
)
3336#line 3618 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3337 {
3338#line 3618 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3339 _syst = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
3340#line 3619 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3341 omc_BackendVariable_traverseBackendDAEVarsWithUpdate(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_syst), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_syst) - 3))) +
(2)))))
), ((modelica_fnptr) _inFunc), _arg ,&_arg);
3342#line 3342 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3343 }
3344 }
3345
3346#line 3622 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3347 omc_BackendVariable_traverseBackendDAEVarsWithUpdate(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_dae), 3)))), 2))(*(void**)(((void*)((void**)(((void*)((char*)(((*(void**)(((void
*)((void**)(((void*)((char*)(_dae) - 3))) + (3))))))) - 3))) +
(2)))))
), ((modelica_fnptr) _inFunc), _arg ,&_arg);
3348#line 3348 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3349
3350#line 3623 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3351 omc_BackendVariable_traverseBackendDAEVarsWithUpdate(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_dae), 3)))), 3))(*(void**)(((void*)((void**)(((void*)((char*)(((*(void**)(((void
*)((void**)(((void*)((char*)(_dae) - 3))) + (3))))))) - 3))) +
(3)))))
), ((modelica_fnptr) _inFunc), _arg ,&_arg);
3352#line 3352 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3353
3354#line 3624 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3355 omc_BackendVariable_traverseBackendDAEVarsWithUpdate(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_dae), 3)))), 4))(*(void**)(((void*)((void**)(((void*)((char*)(((*(void**)(((void
*)((void**)(((void*)((char*)(_dae) - 3))) + (3))))))) - 3))) +
(4)))))
), ((modelica_fnptr) _inFunc), _arg ,&_arg);
3356#line 3356 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3357
3358#line 3625 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3359 omc_BackendVariable_traverseBackendDAEVarsWithUpdate(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_dae), 3)))), 5))(*(void**)(((void*)((void**)(((void*)((char*)(((*(void**)(((void
*)((void**)(((void*)((char*)(_dae) - 3))) + (3))))))) - 3))) +
(5)))))
), ((modelica_fnptr) _inFunc), _arg ,&_arg);
3360#line 3360 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3361 _return: OMC_LABEL_UNUSED__attribute__((unused))
3362 if (out_arg) { *out_arg = _arg; }
3363 return _dae;
3364}
3365
3366PROTECTED_FUNCTION_STATIC modelica_boolean omc_BackendVariable_traverseBackendDAEVarsWithStop2(threadData_t *threadData, modelica_metatype _inVar, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg)
3367{
3368 modelica_boolean _outContinue;
3369 modelica_metatype _outArg = NULL((void*)0);
3370 modelica_boolean tmp1_c0 __attribute__((unused)) = 0;
3371 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
3372 MMC_SO()mmc_check_stackoverflow(threadData);
3373 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3374 // _outContinue has no default value.
3375 // _outArg has no default value.
3376#line 3592 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3377
3378#line 3592 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3379
3380#line 3380 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3381 { /* match expression */
3382 modelica_metatype tmp4_1;
3383 tmp4_1 = _inVar;
3384 {
3385 modelica_metatype _v = NULL((void*)0);
3386 modelica_metatype _arg = NULL((void*)0);
3387 modelica_boolean _cont;
3388 volatile mmc_switch_type tmp4;
3389 int tmp5;
3390 // _v has no default value.
3391 // _arg has no default value.
3392 // _cont has no default value.
3393 tmp4 = 0;
3394 for (; tmp4 < 2; tmp4++) {
3395 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
3396 case 0: {
3397 if (!optionNone(tmp4_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
3398 /* Pattern matching succeeded */
3399#line 3598 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3400 tmp1_c0 = 1;
3401#line 3598 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3402 tmpMeta[0+1] = _inArg;
3403#line 3403 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3404 goto tmp3_done;
3405 }
3406 case 1: {
3407 modelica_integer tmp6;
3408 if (optionNone(tmp4_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp4_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp3_end;
3409 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
3410 _v = tmpMeta[2];
3411 /* Pattern matching succeeded */
3412#line 3601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3413 /* Pattern-matching tuple assignment, wild first pattern */
3414#line 3601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3415 (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (2)))))
) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (1)))))
)) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (2)))))
), _v, _inArg, &tmpMeta[2], &tmpMeta[3]) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (1)))))
)) (threadData, _v, _inArg, &tmpMeta[2], &tmpMeta[3]);
3416#line 3601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3417 tmp6 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
3418#line 3601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3419 _cont = tmp6 /* pattern as ty=Boolean */;
3420#line 3601 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3421 _arg = tmpMeta[3];
3422#line 3422 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3423#line 3602 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3424 tmp1_c0 = _cont;
3425#line 3602 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3426 tmpMeta[0+1] = _arg;
3427#line 3427 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3428 goto tmp3_done;
3429 }
3430 }
3431 goto tmp3_end;
3432 tmp3_end: ;
3433 }
3434 goto goto_2;
3435 goto_2:;
3436 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3437 goto tmp3_done;
3438 tmp3_done:;
3439 }
3440 }
3441 _outContinue = tmp1_c0;
3442 _outArg = tmpMeta[0+1];
3443 _return: OMC_LABEL_UNUSED__attribute__((unused))
3444 if (out_outArg) { *out_outArg = _outArg; }
3445 return _outContinue;
3446}
3447PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_traverseBackendDAEVarsWithStop2(threadData_t *threadData, modelica_metatype _inVar, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg)
3448{
3449 modelica_boolean _outContinue;
3450 modelica_metatype out_outContinue;
3451 _outContinue = omc_BackendVariable_traverseBackendDAEVarsWithStop2(threadData, _inVar, _inFunc, _inArg, out_outArg);
3452 out_outContinue = mmc_mk_icon(_outContinue);
3453 /* skip box _outArg; polymorphic<ArgT> */
3454 return out_outContinue;
3455}
3456
3457DLLExport
3458modelica_metatype omc_BackendVariable_traverseBackendDAEVarsWithStop(threadData_t *threadData, modelica_metatype _inVariables, modelica_fnptr _inFunc, modelica_metatype _inArg)
3459{
3460 modelica_metatype _outArg = NULL((void*)0);
3461 modelica_integer _num_vars;
3462 modelica_metatype _vars = NULL((void*)0);
3463 modelica_integer tmp1;
3464 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
3465 MMC_SO()mmc_check_stackoverflow(threadData);
3466 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3467 // _outArg has no default value.
3468 // _num_vars has no default value.
3469 // _vars has no default value.
3470#line 3573 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3471 /* Pattern-matching assignment */
3472#line 3573 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3473 tmpMeta[0] = _inVariables;
3474#line 3573 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3475 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
3476#line 3573 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3477 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3478#line 3573 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3479 tmp1 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
3480#line 3573 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3481 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
3482#line 3573 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3483 _num_vars = tmp1 /* pattern as ty=Integer */;
3484#line 3573 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3485 _vars = tmpMeta[3];
3486#line 3486 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3487
3488#line 3574 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3489 _outArg = omc_BackendDAEUtil_traverseArrayNoCopyWithStop(threadData, _vars, ((modelica_fnptr) _inFunc), boxvar_BackendVariable_traverseBackendDAEVarsWithStop2((void*)((char*)(&(boxvar_lit_BackendVariable_traverseBackendDAEVarsWithStop2
).header) + 3))
, _inArg, _num_vars);
3490#line 3490 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3491 _return: OMC_LABEL_UNUSED__attribute__((unused))
3492 return _outArg;
3493}
3494
3495PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traverseBackendDAEVars2(threadData_t *threadData, modelica_metatype _inVar, modelica_fnptr _inFunc, modelica_metatype _inArg)
3496{
3497 modelica_metatype _outArg = NULL((void*)0);
3498 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3499 MMC_SO()mmc_check_stackoverflow(threadData);
3500 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3501 // _outArg has no default value.
3502#line 3502 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3503 { /* match expression */
3504 modelica_metatype tmp3_1;
3505 tmp3_1 = _inVar;
3506 {
3507 modelica_metatype _v = NULL((void*)0);
3508 modelica_metatype _arg = NULL((void*)0);
3509 volatile mmc_switch_type tmp3;
3510 int tmp4;
3511 // _v has no default value.
3512 // _arg has no default value.
3513 tmp3 = 0;
3514 for (; tmp3 < 2; tmp3++) {
3515 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
3516 case 0: {
3517 if (optionNone(tmp3_1)(0==((((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3
)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(tmp3_1
) - 3)))) >> 10)) ? 1 : 0)
) goto tmp2_end;
3518 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(1)))))
;
3519 _v = tmpMeta[1];
3520 /* Pattern matching succeeded */
3521#line 3548 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3522 (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (2)))))
) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (1)))))
)) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (2)))))
), _v, _inArg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inFunc), 1))(*(void**)(((void*)((void**)(((void*)((char*)(_inFunc) - 3)))
+ (1)))))
)) (threadData, _v, _inArg ,&_arg);
3523#line 3523 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3524#line 3549 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3525 tmpMeta[0] = _arg;
3526#line 3526 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3527 goto tmp2_done;
3528 }
3529 case 1: {
3530
3531 /* Pattern matching succeeded */
3532#line 3551 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3533 tmpMeta[0] = _inArg;
3534#line 3534 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3535 goto tmp2_done;
3536 }
3537 }
3538 goto tmp2_end;
3539 tmp2_end: ;
3540 }
3541 goto goto_1;
3542 goto_1:;
3543 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3544 goto tmp2_done;
3545 tmp2_done:;
3546 }
3547 }
3548 _outArg = tmpMeta[0];
3549 _return: OMC_LABEL_UNUSED__attribute__((unused))
3550 return _outArg;
3551}
3552
3553DLLExport
3554modelica_metatype omc_BackendVariable_traverseBackendDAEVars(threadData_t *threadData, modelica_metatype _inVariables, modelica_fnptr _inFunc, modelica_metatype _inArg)
3555{
3556 modelica_metatype _outArg = NULL((void*)0);
3557 modelica_integer _num_vars;
3558 modelica_metatype _vars = NULL((void*)0);
3559 modelica_integer tmp1;
3560 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
3561 MMC_SO()mmc_check_stackoverflow(threadData);
3562 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3563 // _outArg has no default value.
3564 // _num_vars has no default value.
3565 // _vars has no default value.
3566#line 3524 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3567 /* Pattern-matching assignment */
3568#line 3524 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3569 tmpMeta[0] = _inVariables;
3570#line 3524 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3571 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
3572#line 3524 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3573 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3574#line 3524 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3575 tmp1 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
3576#line 3524 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3577 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
3578#line 3524 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3579 _num_vars = tmp1 /* pattern as ty=Integer */;
3580#line 3524 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3581 _vars = tmpMeta[3];
3582#line 3582 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3583
3584#line 3525 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3585 _outArg = omc_BackendDAEUtil_traverseArrayNoCopy(threadData, _vars, ((modelica_fnptr) _inFunc), boxvar_BackendVariable_traverseBackendDAEVars2((void*)((char*)(&(boxvar_lit_BackendVariable_traverseBackendDAEVars2
).header) + 3))
, _inArg, _num_vars);
3586#line 3586 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3587 _return: OMC_LABEL_UNUSED__attribute__((unused))
3588 return _outArg;
3589}
3590
3591DLLExport
3592modelica_metatype omc_BackendVariable_rehashVariables(threadData_t *threadData, modelica_metatype _inVariables)
3593{
3594 modelica_metatype _outVariables = NULL((void*)0);
3595 modelica_real _load;
3596 MMC_SO()mmc_check_stackoverflow(threadData);
3597 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3598 // _outVariables has no default value.
3599 _load = omc_BackendVariable_varsLoadFactor(threadData, _inVariables, ((modelica_integer) 0));
3600#line 3499 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3601 if(((_load < 0.5) || (_load > 1.0)))
3602#line 3499 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3603 {
3604#line 3500 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3605 _outVariables = omc_BackendVariable_emptyVarsSized(threadData, omc_BackendVariable_varsSize(threadData, _inVariables));
3606#line 3606 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3607
3608#line 3501 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3609 _outVariables = omc_BackendVariable_addVariables(threadData, _inVariables, _outVariables);
3610#line 3610 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3611 }
3612 else
3613 {
3614#line 3503 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3615 _outVariables = _inVariables;
3616#line 3616 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3617 }
3618 _return: OMC_LABEL_UNUSED__attribute__((unused))
3619 return _outVariables;
3620}
3621
3622DLLExport
3623modelica_metatype omc_BackendVariable_mergeVariables(threadData_t *threadData, modelica_metatype _inVariables1, modelica_metatype _inVariables2, modelica_boolean _copy)
3624{
3625 modelica_metatype _outVariables = NULL((void*)0);
3626 modelica_integer _num_vars;
3627 MMC_SO()mmc_check_stackoverflow(threadData);
3628 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3629 // _outVariables has no default value.
3630 // _num_vars has no default value.
3631#line 3479 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3632 _num_vars = omc_BackendVariable_varsSize(threadData, _inVariables2);
3633#line 3633 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3634
3635#line 3481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3636 if((omc_BackendVariable_varsLoadFactor(threadData, _inVariables1, _num_vars) > 1.0))
3637#line 3481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3638 {
3639#line 3482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3640 _outVariables = omc_BackendVariable_emptyVarsSized(threadData, omc_BackendVariable_varsSize(threadData, _inVariables1) + _num_vars);
3641#line 3641 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3642
3643#line 3483 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3644 _outVariables = omc_BackendVariable_addVariables(threadData, _inVariables1, _outVariables);
3645#line 3645 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3646 }
3647 else
3648 {
3649 if(_copy)
3650 {
3651#line 3485 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3652 _outVariables = omc_BackendVariable_copyVariables(threadData, _inVariables1);
3653#line 3653 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3654 }
3655 else
3656 {
3657#line 3487 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3658 _outVariables = _inVariables1;
3659#line 3659 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3660 }
3661 }
3662
3663#line 3490 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3664 _outVariables = omc_BackendVariable_addVariables(threadData, _inVariables2, _outVariables);
3665#line 3665 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3666 _return: OMC_LABEL_UNUSED__attribute__((unused))
3667 return _outVariables;
3668}
3669modelica_metatype boxptr_BackendVariable_mergeVariables(threadData_t *threadData, modelica_metatype _inVariables1, modelica_metatype _inVariables2, modelica_metatype _copy)
3670{
3671 modelica_integer tmp1;
3672 modelica_metatype _outVariables = NULL((void*)0);
3673 tmp1 = mmc_unbox_integer(_copy)(((mmc_sint_t) (_copy)) >> 1);
3674 _outVariables = omc_BackendVariable_mergeVariables(threadData, _inVariables1, _inVariables2, tmp1);
3675 /* skip box _outVariables; BackendDAE.Variables */
3676 return _outVariables;
3677}
3678
3679PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingVarIndexInFirstSetFinder(threadData_t *threadData, modelica_metatype _D_24in_var, modelica_metatype _D_24in_data, modelica_metatype *out_data)
3680{
3681 modelica_metatype _var = NULL((void*)0);
3682 modelica_metatype _data = NULL((void*)0);
3683 modelica_metatype _cr = NULL((void*)0);
3684 modelica_metatype _vars = NULL((void*)0);
3685 modelica_metatype _l = NULL((void*)0);
3686 modelica_metatype _i = NULL((void*)0);
3687 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
3688 MMC_SO()mmc_check_stackoverflow(threadData);
3689 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3690 _var = _D_24in_var;
3691 _data = _D_24in_data;
3692 // _cr has no default value.
3693 // _vars has no default value.
3694 // _l has no default value.
3695 // _i has no default value.
3696#line 3459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3697 /* Pattern-matching assignment */
3698#line 3459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3699 tmpMeta[0] = _data;
3700#line 3459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3701 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
3702#line 3459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3703 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3704#line 3459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3705 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
3706#line 3459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3707 _vars = tmpMeta[1];
3708#line 3459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3709 _l = tmpMeta[2];
3710#line 3459 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3711 _i = tmpMeta[3];
3712#line 3712 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3713
3714#line 3714 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3715 { /* matchcontinue expression */
3716 {
3717 volatile mmc_switch_type tmp3;
3718 int tmp4;
3719 tmp3 = 0;
3720 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
3721 tmp2_top:
3722 threadData->mmc_jumper = &new_mmc_jumper;
3723 for (; tmp3 < 2; tmp3++) {
3724 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
3725 case 0: {
3726 /* Pattern matching succeeded */
3727#line 3461 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3728 _cr = omc_BackendVariable_varCref(threadData, _var);
3729#line 3729 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3730
3731#line 3462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3732 omc_BackendVariable_getVar(threadData, _cr, _vars, NULL((void*)0));
3733#line 3733 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3734
3735#line 3463 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3736 tmpMeta[0] = mmc_mk_cons(omc_Mutable_access(threadData, _i), omc_Mutable_access(threadData, _l));
3737#line 3463 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3738 omc_Mutable_update(threadData, _l, tmpMeta[0]);
3739#line 3739 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3740#line 3740 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3741 goto tmp2_done;
3742 }
3743 case 1: {
3744 /* Pattern matching succeeded */
3745#line 3745 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3746 goto tmp2_done;
3747 }
3748 }
3749 goto tmp2_end;
3750 tmp2_end: ;
3751 }
3752 goto goto_1;
3753 tmp2_done:
3754 (void)tmp3;
3755 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3756 goto tmp2_done2;
3757 goto_1:;
3758 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3759 if (++tmp3 < 2) {
3760 goto tmp2_top;
3761 }
3762 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3763 tmp2_done2:;
3764 }
3765 }
3766 ;
3767
3768#line 3466 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3769 omc_Mutable_update(threadData, _i, mmc_mk_integermmc_mk_icon(((modelica_integer) 1) + mmc_unbox_integer(omc_Mutable_access(threadData, _i))(((mmc_sint_t) (omc_Mutable_access(threadData, _i))) >>
1)
));
3770#line 3770 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3771 _return: OMC_LABEL_UNUSED__attribute__((unused))
3772 if (out_data) { *out_data = _data; }
3773 return _var;
3774}
3775
3776DLLExport
3777modelica_metatype omc_BackendVariable_getVarIndexFromVariablesIndexInFirstSet(threadData_t *threadData, modelica_metatype _inVariables, modelica_metatype _inVariables2)
3778{
3779 modelica_metatype _v_lst = NULL((void*)0);
3780 modelica_metatype _a = NULL((void*)0);
3781 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
3782 MMC_SO()mmc_check_stackoverflow(threadData);
3783 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3784 // _v_lst has no default value.
3785 // _a has no default value.
3786#line 3445 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3787 /* Pattern-matching assignment */
3788#line 3445 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3789 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3790#line 3445 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3791 tmpMeta[1] = mmc_mk_box3(0, _inVariables2, omc_Mutable_create(threadData, tmpMeta[0]), omc_Mutable_create(threadData, mmc_mk_integermmc_mk_icon(((modelica_integer) 1))));
3792#line 3445 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3793 tmpMeta[2] = omc_BackendVariable_traverseBackendDAEVars(threadData, _inVariables, boxvar_BackendVariable_traversingVarIndexInFirstSetFinder((void*)((char*)(&(boxvar_lit_BackendVariable_traversingVarIndexInFirstSetFinder
).header) + 3))
, tmpMeta[1]);
3794#line 3445 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3795 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
3796#line 3445 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3797 _a = tmpMeta[3];
3798#line 3798 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3799
3800#line 3446 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3801 _v_lst = listReverse(omc_Mutable_access(threadData, _a));
3802#line 3802 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3803 _return: OMC_LABEL_UNUSED__attribute__((unused))
3804 return _v_lst;
3805}
3806
3807PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_traversingVarIndexFinder(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVars, modelica_metatype _inIndices, modelica_metatype *out_outIndices)
3808{
3809 modelica_metatype _outVar = NULL((void*)0);
3810 modelica_metatype _outIndices = NULL((void*)0);
3811 modelica_metatype _cr = NULL((void*)0);
3812 modelica_metatype _indices = NULL((void*)0);
3813 MMC_SO()mmc_check_stackoverflow(threadData);
3814 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3815 _outVar = _inVar;
3816 // _outIndices has no default value.
3817 // _cr has no default value.
3818 // _indices has no default value.
3819#line 3819 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3820 { /* matchcontinue expression */
3821 {
3822 volatile mmc_switch_type tmp3;
3823 int tmp4;
3824 tmp3 = 0;
3825 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
3826 tmp2_top:
3827 threadData->mmc_jumper = &new_mmc_jumper;
3828 for (; tmp3 < 2; tmp3++) {
3829 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
3830 case 0: {
3831 /* Pattern matching succeeded */
3832#line 3430 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3833 _cr = omc_BackendVariable_varCref(threadData, _inVar);
3834#line 3834 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3835
3836#line 3431 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3837 omc_BackendVariable_getVar(threadData, _cr, _inVars ,&_indices);
3838#line 3838 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3839
3840#line 3432 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3841 _outIndices = omc_List_append__reverse(threadData, _indices, _inIndices);
3842#line 3842 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3843#line 3843 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3844 goto tmp2_done;
3845 }
3846 case 1: {
3847 /* Pattern matching succeeded */
3848#line 3434 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3849 _outIndices = _inIndices;
3850#line 3850 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3851#line 3851 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3852 goto tmp2_done;
3853 }
3854 }
3855 goto tmp2_end;
3856 tmp2_end: ;
3857 }
3858 goto goto_1;
3859 tmp2_done:
3860 (void)tmp3;
3861 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
3862 goto tmp2_done2;
3863 goto_1:;
3864 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
3865 if (++tmp3 < 2) {
3866 goto tmp2_top;
3867 }
3868 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3869 tmp2_done2:;
3870 }
3871 }
3872 ;
3873 _return: OMC_LABEL_UNUSED__attribute__((unused))
3874 if (out_outIndices) { *out_outIndices = _outIndices; }
3875 return _outVar;
3876}
3877
3878static modelica_metatype closure3_BackendVariable_traversingVarIndexFinder(threadData_t *thData, modelica_metatype closure, modelica_metatype inVar, modelica_metatype inIndices, modelica_metatype tmp1)
3879{
3880 modelica_metatype inVars = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(closure),1))(*(void**)(((void*)((void**)(((void*)((char*)(closure) - 3)))
+ (1)))))
;
3881 return boxptr_BackendVariable_traversingVarIndexFinderomc_BackendVariable_traversingVarIndexFinder(thData, inVar, inVars, inIndices, tmp1);
3882}
3883DLLExport
3884modelica_metatype omc_BackendVariable_getVarIndexFromVariables(threadData_t *threadData, modelica_metatype _inVariables, modelica_metatype _inVariables2)
3885{
3886 modelica_metatype _v_lst = NULL((void*)0);
3887 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3888 MMC_SO()mmc_check_stackoverflow(threadData);
3889 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3890 // _v_lst has no default value.
3891#line 3414 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3892 tmpMeta[0] = mmc_mk_box1(0, _inVariables2);
3893#line 3414 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3894 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3895#line 3414 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3896 _v_lst = listReverse(omc_BackendVariable_traverseBackendDAEVars(threadData, _inVariables, (modelica_fnptr) mmc_mk_box2(0,closure3_BackendVariable_traversingVarIndexFinder,tmpMeta[0]), tmpMeta[1]));
3897#line 3897 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3898 _return: OMC_LABEL_UNUSED__attribute__((unused))
3899 return _v_lst;
3900}
3901
3902DLLExport
3903modelica_metatype omc_BackendVariable_getVarIndexFromVars(threadData_t *threadData, modelica_metatype _inVars, modelica_metatype _inVariables)
3904{
3905 modelica_metatype _outIndices = NULL((void*)0);
3906 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
3907 MMC_SO()mmc_check_stackoverflow(threadData);
3908 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3909 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3910 _outIndices = tmpMeta[0];
3911#line 3403 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3912 {
3913#line 3403 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3914 modelica_metatype _var;
3915#line 3403 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3916 for (tmpMeta[1] = _inVars; !listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[1]=MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
)
3917#line 3403 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3918 {
3919#line 3403 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3920 _var = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
3921#line 3404 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3922 omc_BackendVariable_traversingVarIndexFinder(threadData, _var, _inVariables, _outIndices ,&_outIndices);
3923#line 3923 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3924 }
3925 }
3926
3927#line 3406 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3928 _outIndices = listReverse(_outIndices);
3929#line 3929 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3930 _return: OMC_LABEL_UNUSED__attribute__((unused))
3931 return _outIndices;
3932}
3933
3934PROTECTED_FUNCTION_STATIC modelica_boolean omc_BackendVariable_crefIndexEqualCref(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _inIndex)
3935{
3936 modelica_boolean _outMatch;
3937 modelica_metatype _cr = NULL((void*)0);
3938 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3939 MMC_SO()mmc_check_stackoverflow(threadData);
3940 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3941 // _outMatch has no default value.
3942 // _cr has no default value.
3943#line 3394 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3944 /* Pattern-matching assignment */
3945#line 3394 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3946 tmpMeta[0] = _inIndex;
3947#line 3394 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3948 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3949#line 3394 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3950 _cr = tmpMeta[1];
3951#line 3951 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3952
3953#line 3395 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3954 _outMatch = omc_ComponentReference_crefEqualNoStringCompare(threadData, _cr, _inCref);
3955#line 3955 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
3956 _return: OMC_LABEL_UNUSED__attribute__((unused))
3957 return _outMatch;
3958}
3959PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_crefIndexEqualCref(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _inIndex)
3960{
3961 modelica_boolean _outMatch;
3962 modelica_metatype out_outMatch;
3963 _outMatch = omc_BackendVariable_crefIndexEqualCref(threadData, _inCref, _inIndex);
3964 out_outMatch = mmc_mk_icon(_outMatch);
3965 return out_outMatch;
3966}
3967
3968DLLExport
3969modelica_metatype omc_BackendVariable_getVar2(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _inVariables, modelica_integer *out_outIndex)
3970{
3971 modelica_metatype _outVar = NULL((void*)0);
3972 modelica_integer _outIndex;
3973 modelica_metatype _indices = NULL((void*)0);
3974 modelica_metatype _arr = NULL((void*)0);
3975 modelica_integer _buckets;
3976 modelica_integer _hash_idx;
3977 modelica_metatype _cr_indices = NULL((void*)0);
3978 modelica_metatype _cr = NULL((void*)0);
3979 modelica_integer tmp1;
3980 modelica_integer tmp2;
3981 modelica_boolean tmp3;
3982 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
3983 MMC_SO()mmc_check_stackoverflow(threadData);
3984 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3985 // _outVar has no default value.
3986 // _outIndex has no default value.
3987 // _indices has no default value.
3988 // _arr has no default value.
3989 // _buckets has no default value.
3990 // _hash_idx has no default value.
3991 // _cr_indices has no default value.
3992 // _cr has no default value.
3993#line 3378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3994 /* Pattern-matching assignment */
3995#line 3378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3996 tmpMeta[0] = _inVariables;
3997#line 3378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
3998 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
3999#line 3378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4000 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
4001#line 3378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4002 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (4)))))
;
4003#line 3378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4004 tmp1 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
4005#line 3378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4006 _indices = tmpMeta[1];
4007#line 3378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4008 _arr = tmpMeta[2];
4009#line 3378 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4010 _buckets = tmp1 /* pattern as ty=Integer */;
4011#line 4011 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4012
4013#line 3379 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4014 _hash_idx = ((modelica_integer) 1) + omc_ComponentReference_hashComponentRefMod(threadData, _inCref, _buckets);
4015#line 4015 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4016
4017#line 3380 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4018 _cr_indices = arrayGet(_indices,_hash_idx)nobox_arrayGet(threadData,_indices,_hash_idx) /* DAE.ASUB */;
4019#line 4019 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4020
4021#line 3381 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4022 /* Pattern-matching assignment */
4023#line 3381 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4024 tmpMeta[0] = omc_List_getMemberOnTrue(threadData, _inCref, _cr_indices, boxvar_BackendVariable_crefIndexEqualCref((void*)((char*)(&(boxvar_lit_BackendVariable_crefIndexEqualCref
).header) + 3))
);
4025#line 3381 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4026 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
4027#line 3381 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4028 tmp2 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
4029#line 3381 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4030 _outIndex = tmp2 /* pattern as ty=Integer */;
4031#line 4031 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4032
4033#line 3382 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4034 _outIndex = ((modelica_integer) 1) + _outIndex;
4035#line 4035 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4036
4037#line 3383 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4038 /* Pattern-matching assignment */
4039#line 3383 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4040 tmpMeta[0] = omc_BackendVariable_vararrayNth(threadData, _arr, _outIndex);
4041#line 3383 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4042 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
4043#line 3383 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4044 _outVar = tmpMeta[0];
4045#line 3383 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4046 _cr = tmpMeta[1];
4047#line 4047 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4048
4049#line 3384 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4050 /* Pattern-matching assignment */
4051#line 3384 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4052 tmp3 = omc_ComponentReference_crefEqualNoStringCompare(threadData, _cr, _inCref);
4053#line 3384 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4054 if (1 != tmp3) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4055#line 4055 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4056 _return: OMC_LABEL_UNUSED__attribute__((unused))
4057 if (out_outIndex) { *out_outIndex = _outIndex; }
4058 return _outVar;
4059}
4060modelica_metatype boxptr_BackendVariable_getVar2(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _inVariables, modelica_metatype *out_outIndex)
4061{
4062 modelica_integer _outIndex;
4063 modelica_metatype _outVar = NULL((void*)0);
4064 _outVar = omc_BackendVariable_getVar2(threadData, _inCref, _inVariables, &_outIndex);
4065 /* skip box _outVar; BackendDAE.Var */
4066 if (out_outIndex) { *out_outIndex = mmc_mk_icon(_outIndex); }
4067 return _outVar;
4068}
4069
4070DLLExport
4071modelica_metatype omc_BackendVariable_getVarLst(threadData_t *threadData, modelica_metatype _inComponentRefLst, modelica_metatype _inVariables, modelica_metatype *out_outIntegerLst)
4072{
4073 modelica_metatype _outVarLst = NULL((void*)0);
4074 modelica_metatype _outIntegerLst = NULL((void*)0);
4075 modelica_metatype _v = NULL((void*)0);
4076 modelica_integer _indx;
4077 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
4078 MMC_SO()mmc_check_stackoverflow(threadData);
4079 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4080 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4081 _outVarLst = tmpMeta[0];
4082 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4083 _outIntegerLst = tmpMeta[1];
4084 // _v has no default value.
4085 // _indx has no default value.
4086#line 3344 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4087 if(isPresent(_outIntegerLst)((out_outIntegerLst)!=((void*)0)))
4088#line 3344 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4089 {
4090#line 3345 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4091 {
4092#line 3345 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4093 modelica_metatype _cr;
4094#line 3345 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4095 for (tmpMeta[2] = _inComponentRefLst; !listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[2]=MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
)
4096#line 3345 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4097 {
4098#line 3345 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4099 _cr = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4100#line 4100 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4101 { /* matchcontinue expression */
4102 {
4103 volatile mmc_switch_type tmp3;
4104 int tmp4;
4105 tmp3 = 0;
4106 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
4107 tmp2_top:
4108 threadData->mmc_jumper = &new_mmc_jumper;
4109 for (; tmp3 < 2; tmp3++) {
4110 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
4111 case 0: {
4112 /* Pattern matching succeeded */
4113#line 3347 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4114 _v = omc_BackendVariable_getVar2(threadData, _cr, _inVariables ,&_indx);
4115#line 4115 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4116
4117#line 3348 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4118 tmpMeta[3] = mmc_mk_cons(_v, _outVarLst);
4119#line 3348 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4120 _outVarLst = tmpMeta[3];
4121#line 4121 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4122
4123#line 3349 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4124 tmpMeta[3] = mmc_mk_cons(mmc_mk_integermmc_mk_icon(_indx), _outIntegerLst);
4125#line 3349 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4126 _outIntegerLst = tmpMeta[3];
4127#line 4127 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4128#line 4128 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4129 goto tmp2_done;
4130 }
4131 case 1: {
4132 /* Pattern matching succeeded */
4133#line 4133 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4134 goto tmp2_done;
4135 }
4136 }
4137 goto tmp2_end;
4138 tmp2_end: ;
4139 }
4140 goto goto_1;
4141 tmp2_done:
4142 (void)tmp3;
4143 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
4144 goto tmp2_done2;
4145 goto_1:;
4146 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
4147 if (++tmp3 < 2) {
4148 goto tmp2_top;
4149 }
4150 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4151 tmp2_done2:;
4152 }
4153 }
4154 ;
4155 }
4156 }
4157 }
4158 else
4159 {
4160#line 3355 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4161 {
4162#line 3355 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4163 modelica_metatype _cr;
4164#line 3355 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4165 for (tmpMeta[2] = _inComponentRefLst; !listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
; tmpMeta[2]=MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
)
4166#line 3355 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4167 {
4168#line 3355 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4169 _cr = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4170#line 4170 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4171 { /* matchcontinue expression */
4172 {
4173 volatile mmc_switch_type tmp7;
4174 int tmp8;
4175 tmp7 = 0;
4176 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
4177 tmp6_top:
4178 threadData->mmc_jumper = &new_mmc_jumper;
4179 for (; tmp7 < 2; tmp7++) {
4180 switch (MMC_SWITCH_CAST(tmp7)(tmp7)) {
4181 case 0: {
4182 /* Pattern matching succeeded */
4183#line 3357 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4184 _v = omc_BackendVariable_getVar2(threadData, _cr, _inVariables ,&_indx);
4185#line 4185 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4186
4187#line 3358 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4188 tmpMeta[3] = mmc_mk_cons(_v, _outVarLst);
4189#line 3358 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4190 _outVarLst = tmpMeta[3];
4191#line 4191 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4192#line 4192 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4193 goto tmp6_done;
4194 }
4195 case 1: {
4196 /* Pattern matching succeeded */
4197#line 4197 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4198 goto tmp6_done;
4199 }
4200 }
4201 goto tmp6_end;
4202 tmp6_end: ;
4203 }
4204 goto goto_5;
4205 tmp6_done:
4206 (void)tmp7;
4207 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
4208 goto tmp6_done2;
4209 goto_5:;
4210 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
4211 if (++tmp7 < 2) {
4212 goto tmp6_top;
4213 }
4214 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4215 tmp6_done2:;
4216 }
4217 }
4218 ;
4219 }
4220 }
4221 }
4222 _return: OMC_LABEL_UNUSED__attribute__((unused))
4223 if (out_outIntegerLst) { *out_outIntegerLst = _outIntegerLst; }
4224 return _outVarLst;
4225}
4226
4227PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_computeRangeExps(threadData_t *threadData, modelica_metatype _inExp, modelica_boolean *out_isCalculated)
4228{
4229 modelica_metatype _outExp = NULL((void*)0);
4230 modelica_boolean _isCalculated;
4231 modelica_boolean tmp1_c1 __attribute__((unused)) = 0;
4232 modelica_metatype tmpMeta[14] __attribute__((unused)) = {0};
4233 MMC_SO()mmc_check_stackoverflow(threadData);
4234 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4235 // _outExp has no default value.
4236 // _isCalculated has no default value.
4237#line 3320 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4238
4239#line 3320 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4240
4241#line 4241 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4242 { /* match expression */
4243 modelica_metatype tmp4_1;
4244 tmp4_1 = _inExp;
4245 {
4246 modelica_integer _stop1;
4247 modelica_integer _stop2;
4248 modelica_metatype _exp = NULL((void*)0);
4249 modelica_metatype _ty = NULL((void*)0);
4250 volatile mmc_switch_type tmp4;
4251 int tmp5;
4252 // _stop1 has no default value.
4253 // _stop2 has no default value.
4254 // _exp has no default value.
4255 // _ty has no default value.
4256 tmp4 = 0;
4257 for (; tmp4 < 2; tmp4++) {
4258 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
4259 case 0: {
4260 modelica_integer tmp6;
4261 modelica_integer tmp7;
4262 modelica_integer tmp8;
4263 modelica_integer tmp9;
4264 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((7 +3) & 255) << 2)))
== 0) goto tmp3_end;
4265 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4266 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],18,4)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((4 +1)
<< 10) + (((18 +3) & 255) << 2)))
== 0) goto tmp3_end;
4267 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
4268 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
4269 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
4270 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
4271 tmp6 = mmc_unbox_integer(tmpMeta[5])(((mmc_sint_t) (tmpMeta[5])) >> 1);
4272 if (1 != tmp6) goto tmp3_end;
4273 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (5)))))
;
4274 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[6],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[6]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
4275 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (2)))))
;
4276 tmp7 = mmc_unbox_integer(tmpMeta[7])(((mmc_sint_t) (tmpMeta[7])) >> 1);
4277 tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4278 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[8],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[8]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
4279 tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
4280 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[9],18,4)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[9]) - 3)))==(((4 +1)
<< 10) + (((18 +3) & 255) << 2)))
== 0) goto tmp3_end;
4281 tmpMeta[10] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[9]) - 3
))) + (3)))))
;
4282 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[10],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[10]) - 3)))==(((1 +1
) << 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
4283 tmpMeta[11] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[10]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[10]) - 3
))) + (2)))))
;
4284 tmp8 = mmc_unbox_integer(tmpMeta[11])(((mmc_sint_t) (tmpMeta[11])) >> 1);
4285 if (1 != tmp8) goto tmp3_end;
4286 tmpMeta[12] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[9]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[9]) - 3
))) + (5)))))
;
4287 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[12],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[12]) - 3)))==(((1 +1
) << 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
4288 tmpMeta[13] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[12]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[12]) - 3
))) + (2)))))
;
4289 tmp9 = mmc_unbox_integer(tmpMeta[13])(((mmc_sint_t) (tmpMeta[13])) >> 1);
4290 _ty = tmpMeta[3];
4291 _stop1 = tmp7 /* pattern as ty=Integer */;
4292 _stop2 = tmp9 /* pattern as ty=Integer */;
4293 /* Pattern matching succeeded */
4294#line 3327 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4295 _stop2 = _stop1 + _stop2;
4296#line 4296 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4297
4298#line 3328 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4299 tmpMeta[2] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, mmc_mk_integermmc_mk_icon(_stop2));
4300#line 3328 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4301 tmpMeta[3] = mmc_mk_box5(21, &DAE_Exp_RANGE__desc, _ty, _OMC_LIT31((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3)), mmc_mk_none()((void*)((char*)(&(mmc_none).header) + 3)), tmpMeta[2]);
4302#line 3328 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4303 _exp = tmpMeta[3];
4304#line 4304 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4305#line 3329 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4306 tmpMeta[0+0] = _exp;
4307#line 3329 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4308 tmp1_c1 = 1;
4309#line 4309 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4310 goto tmp3_done;
4311 }
4312 case 1: {
4313
4314 /* Pattern matching succeeded */
4315#line 3331 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4316 tmpMeta[0+0] = _inExp;
4317#line 3331 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4318 tmp1_c1 = 0;
4319#line 4319 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4320 goto tmp3_done;
4321 }
4322 }
4323 goto tmp3_end;
4324 tmp3_end: ;
4325 }
4326 goto goto_2;
4327 goto_2:;
4328 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4329 goto tmp3_done;
4330 tmp3_done:;
4331 }
4332 }
4333 _outExp = tmpMeta[0+0];
4334 _isCalculated = tmp1_c1;
4335 _return: OMC_LABEL_UNUSED__attribute__((unused))
4336 if (out_isCalculated) { *out_isCalculated = _isCalculated; }
4337 return _outExp;
4338}
4339PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_computeRangeExps(threadData_t *threadData, modelica_metatype _inExp, modelica_metatype *out_isCalculated)
4340{
4341 modelica_boolean _isCalculated;
4342 modelica_metatype _outExp = NULL((void*)0);
4343 _outExp = omc_BackendVariable_computeRangeExps(threadData, _inExp, &_isCalculated);
4344 /* skip box _outExp; DAE.Exp */
4345 if (out_isCalculated) { *out_isCalculated = mmc_mk_icon(_isCalculated); }
4346 return _outExp;
4347}
4348
4349PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_replaceVarWithWholeDimSubs(threadData_t *threadData, modelica_metatype _inSubscript, modelica_boolean _iPerformed, modelica_boolean *out_oPerformed)
4350{
4351 modelica_metatype _outSubscript = NULL((void*)0);
4352 modelica_boolean _oPerformed;
4353 modelica_boolean tmp1_c1 __attribute__((unused)) = 0;
4354 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
4355 MMC_SO()mmc_check_stackoverflow(threadData);
4356 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4357 // _outSubscript has no default value.
4358 // _oPerformed has no default value.
4359#line 3276 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4360
4361#line 3276 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4362
4363#line 4363 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4364 { /* match expression */
4365 modelica_metatype tmp4_1;
4366 tmp4_1 = _inSubscript;
4367 {
4368 modelica_metatype _sub = NULL((void*)0);
4369 modelica_metatype _sub_exp = NULL((void*)0);
4370 modelica_metatype _sub_exp_ = NULL((void*)0);
4371 modelica_metatype _rest = NULL((void*)0);
4372 modelica_metatype _res = NULL((void*)0);
4373 modelica_boolean _b;
4374 modelica_boolean _const;
4375 modelica_boolean _calcRange;
4376 volatile mmc_switch_type tmp4;
4377 int tmp5;
4378 // _sub has no default value.
4379 // _sub_exp has no default value.
4380 // _sub_exp_ has no default value.
4381 // _rest has no default value.
4382 // _res has no default value.
4383 // _b has no default value.
4384 // _const has no default value.
4385 // _calcRange has no default value.
4386 tmp4 = 0;
4387 for (; tmp4 < 5; tmp4++) {
4388 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
4389 case 0: {
4390 if (!listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4391 /* Pattern matching succeeded */
4392#line 3283 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4393 tmpMeta[0+0] = _inSubscript;
4394#line 3283 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4395 tmp1_c1 = _iPerformed;
4396#line 4396 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4397 goto tmp3_done;
4398 }
4399 case 1: {
4400 if (listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4401 tmpMeta[2] = MMC_CAR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
4402 tmpMeta[3] = MMC_CDR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4403 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,0)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((0 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
4404 _rest = tmpMeta[3];
4405 /* Pattern matching succeeded */
4406#line 3286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4407 omc_BackendVariable_replaceVarWithWholeDimSubs(threadData, _rest, _iPerformed ,&_b);
4408#line 4408 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4409#line 3287 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4410 tmpMeta[2] = mmc_mk_cons(_OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)), _rest);
4411#line 3287 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4412 tmpMeta[0+0] = tmpMeta[2];
4413#line 3287 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4414 tmp1_c1 = _b;
4415#line 4415 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4416 goto tmp3_done;
4417 }
4418 case 2: {
4419 modelica_boolean tmp6;
4420 if (listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4421 tmpMeta[2] = MMC_CAR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
4422 tmpMeta[3] = MMC_CDR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4423 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],1,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((1 +1)
<< 10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4424 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
4425 _sub = tmpMeta[2];
4426 _sub_exp = tmpMeta[4];
4427 _rest = tmpMeta[3];
4428 /* Pattern matching succeeded */
4429#line 3291 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4430 _res = omc_BackendVariable_replaceVarWithWholeDimSubs(threadData, _rest, _iPerformed ,&_b);
4431#line 4431 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4432
4433#line 3292 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4434 _const = omc_Expression_isConst(threadData, _sub_exp);
4435#line 4435 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4436
4437#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4438 tmp6 = (modelica_boolean)_const;
4439#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4440 if(tmp6)
4441#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4442 {
4443#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4444 tmpMeta[2] = mmc_mk_cons(_sub, _rest);
4445#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4446 tmpMeta[4] = tmpMeta[2];
4447#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4448 }
4449#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4450 else
4451#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4452 {
4453#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4454 tmpMeta[3] = mmc_mk_cons(_OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)), _rest);
4455#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4456 tmpMeta[4] = tmpMeta[3];
4457#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4458 }
4459#line 3293 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4460 _res = tmpMeta[4];
4461#line 4461 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4462#line 3294 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4463 tmpMeta[0+0] = _res;
4464#line 3294 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4465 tmp1_c1 = (_b || (!_const));
4466#line 4466 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4467 goto tmp3_done;
4468 }
4469 case 3: {
4470 modelica_boolean tmp7;
4471 modelica_boolean tmp8;
4472 if (listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4473 tmpMeta[2] = MMC_CAR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
4474 tmpMeta[3] = MMC_CDR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4475 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((1 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp3_end;
4476 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
4477 _sub = tmpMeta[2];
4478 _sub_exp = tmpMeta[4];
4479 _rest = tmpMeta[3];
4480 /* Pattern matching succeeded */
4481#line 3299 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4482 _sub_exp_ = omc_BackendVariable_computeRangeExps(threadData, _sub_exp ,&_calcRange);
4483#line 4483 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4484
4485#line 3300 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4486 _res = omc_BackendVariable_replaceVarWithWholeDimSubs(threadData, _rest, _iPerformed ,&_b);
4487#line 4487 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4488
4489#line 3301 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4490 _const = omc_Expression_isConst(threadData, _sub_exp_);
4491#line 4491 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4492
4493#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4494 tmp8 = (modelica_boolean)_const;
4495#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4496 if(tmp8)
4497#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4498 {
4499#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4500 tmp7 = (modelica_boolean)referenceEq(_sub_exp, _sub_exp_)((_sub_exp) == (_sub_exp_));
4501#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4502 if(tmp7)
4503#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4504 {
4505#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4506 tmpMeta[4] = _sub;
4507#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4508 }
4509#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4510 else
4511#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4512 {
4513#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4514 tmpMeta[3] = mmc_mk_box2(5, &DAE_Subscript_INDEX__desc, _sub_exp_);
4515#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4516 tmpMeta[4] = tmpMeta[3];
4517#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4518 }
4519#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4520 tmpMeta[5] = tmpMeta[4];
4521#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4522 }
4523#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4524 else
4525#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4526 {
4527#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4528 tmpMeta[5] = _OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3));
4529#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4530 }
4531#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4532 tmpMeta[2] = mmc_mk_cons(tmpMeta[5], _rest);
4533#line 3302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4534 _res = tmpMeta[2];
4535#line 4535 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4536#line 3303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4537 tmpMeta[0+0] = _res;
4538#line 3303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4539 tmp1_c1 = ((_b || (!_const)) || _calcRange);
4540#line 4540 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4541 goto tmp3_done;
4542 }
4543 case 4: {
4544 modelica_boolean tmp9;
4545 if (listEmpty(tmp4_1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
4546 tmpMeta[2] = MMC_CAR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(1)))))
;
4547 tmpMeta[3] = MMC_CDR(tmp4_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4548 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],3,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((1 +1)
<< 10) + (((3 +3) & 255) << 2)))
== 0) goto tmp3_end;
4549 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
4550 _sub = tmpMeta[2];
4551 _sub_exp = tmpMeta[4];
4552 _rest = tmpMeta[3];
4553 /* Pattern matching succeeded */
4554#line 3307 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4555 _res = omc_BackendVariable_replaceVarWithWholeDimSubs(threadData, _rest, _iPerformed ,&_b);
4556#line 4556 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4557
4558#line 3308 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4559 _const = omc_Expression_isConst(threadData, _sub_exp);
4560#line 4560 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4561
4562#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4563 tmp9 = (modelica_boolean)_const;
4564#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4565 if(tmp9)
4566#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4567 {
4568#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4569 tmpMeta[2] = mmc_mk_cons(_sub, _rest);
4570#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4571 tmpMeta[4] = tmpMeta[2];
4572#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4573 }
4574#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4575 else
4576#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4577 {
4578#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4579 tmpMeta[3] = mmc_mk_cons(_OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)), _rest);
4580#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4581 tmpMeta[4] = tmpMeta[3];
4582#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4583 }
4584#line 3309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4585 _res = tmpMeta[4];
4586#line 4586 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4587#line 3310 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4588 tmpMeta[0+0] = _res;
4589#line 3310 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4590 tmp1_c1 = (_b || (!_const));
4591#line 4591 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4592 goto tmp3_done;
4593 }
4594 }
4595 goto tmp3_end;
4596 tmp3_end: ;
4597 }
4598 goto goto_2;
4599 goto_2:;
4600 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4601 goto tmp3_done;
4602 tmp3_done:;
4603 }
4604 }
4605 _outSubscript = tmpMeta[0+0];
4606 _oPerformed = tmp1_c1;
4607 _return: OMC_LABEL_UNUSED__attribute__((unused))
4608 if (out_oPerformed) { *out_oPerformed = _oPerformed; }
4609 return _outSubscript;
4610}
4611PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_replaceVarWithWholeDimSubs(threadData_t *threadData, modelica_metatype _inSubscript, modelica_metatype _iPerformed, modelica_metatype *out_oPerformed)
4612{
4613 modelica_integer tmp1;
4614 modelica_boolean _oPerformed;
4615 modelica_metatype _outSubscript = NULL((void*)0);
4616 tmp1 = mmc_unbox_integer(_iPerformed)(((mmc_sint_t) (_iPerformed)) >> 1);
4617 _outSubscript = omc_BackendVariable_replaceVarWithWholeDimSubs(threadData, _inSubscript, tmp1, &_oPerformed);
4618 /* skip box _outSubscript; list<DAE.Subscript> */
4619 if (out_oPerformed) { *out_oPerformed = mmc_mk_icon(_oPerformed); }
4620 return _outSubscript;
4621}
4622
4623PROTECTED_FUNCTION_STATIC modelica_metatype omc_BackendVariable_replaceVarWithWholeDim(threadData_t *threadData, modelica_metatype _inCref, modelica_boolean _iPerformed, modelica_boolean *out_oPerformed)
4624{
4625 modelica_metatype _outCref = NULL((void*)0);
4626 modelica_boolean _oPerformed;
4627 modelica_boolean tmp1_c1 __attribute__((unused)) = 0;
4628 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
4629 MMC_SO()mmc_check_stackoverflow(threadData);
4630 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4631 // _outCref has no default value.
4632 // _oPerformed has no default value.
4633#line 3238 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4634
4635#line 3238 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4636
4637#line 4637 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4638 { /* match expression */
4639 modelica_metatype tmp4_1;
4640 tmp4_1 = _inCref;
4641 {
4642 modelica_string _name = NULL((void*)0);
4643 modelica_metatype _cr = NULL((void*)0);
4644 modelica_metatype _cr_1 = NULL((void*)0);
4645 modelica_metatype _ty = NULL((void*)0);
4646 modelica_metatype _subs = NULL((void*)0);
4647 modelica_metatype _subs_1 = NULL((void*)0);
4648 modelica_boolean _b;
4649 int tmp4;
4650 // _name has no default value.
4651 // _cr has no default value.
4652 // _cr_1 has no default value.
4653 // _ty has no default value.
4654 // _subs has no default value.
4655 // _subs_1 has no default value.
4656 // _b has no default value.
4657 {
4658 switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) >> 2
) & 255))
) {
4659 case 3: {
4660 modelica_boolean tmp5;
4661 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,4)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((4 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
4662 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4663 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4664 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
4665 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(5)))))
;
4666 _name = tmpMeta[2];
4667 _ty = tmpMeta[3];
4668 _subs = tmpMeta[4];
4669 _cr = tmpMeta[5];
4670 /* Pattern matching succeeded */
4671#line 3248 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4672 _subs_1 = omc_BackendVariable_replaceVarWithWholeDimSubs(threadData, _subs, _iPerformed ,&_b);
4673#line 4673 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4674
4675#line 3249 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4676 _cr_1 = omc_BackendVariable_replaceVarWithWholeDim(threadData, _cr, _b ,&_b);
4677#line 4677 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4678#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4679 tmp5 = (modelica_boolean)(referenceEq(_subs_1, _subs)((_subs_1) == (_subs)) && referenceEq(_cr_1, _cr)((_cr_1) == (_cr)));
4680#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4681 if(tmp5)
4682#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4683 {
4684#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4685 tmpMeta[3] = _inCref;
4686#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4687 }
4688#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4689 else
4690#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4691 {
4692#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4693 tmpMeta[2] = mmc_mk_box5(3, &DAE_ComponentRef_CREF__QUAL__desc, _name, _ty, _subs_1, _cr_1);
4694#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4695 tmpMeta[3] = tmpMeta[2];
4696#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4697 }
4698#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4699 tmpMeta[0+0] = tmpMeta[3];
4700#line 3250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4701 tmp1_c1 = _b;
4702#line 4702 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4703 goto tmp3_done;
4704 }
4705 case 4: {
4706 modelica_boolean tmp6;
4707 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,3)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((3 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4708 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
4709 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(3)))))
;
4710 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(4)))))
;
4711 _name = tmpMeta[2];
4712 _ty = tmpMeta[3];
4713 _subs = tmpMeta[4];
4714 /* Pattern matching succeeded */
4715#line 3255 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4716 _subs_1 = omc_BackendVariable_replaceVarWithWholeDimSubs(threadData, _subs, _iPerformed ,&_b);
4717#line 4717 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4718#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4719 tmp6 = (modelica_boolean)referenceEq(_subs_1, _subs)((_subs_1) == (_subs));
4720#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4721 if(tmp6)
4722#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4723 {
4724#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4725 tmpMeta[3] = _inCref;
4726#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4727 }
4728#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4729 else
4730#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4731 {
4732#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4733 tmpMeta[2] = mmc_mk_box4(4, &DAE_ComponentRef_CREF__IDENT__desc, _name, _ty, _subs_1);
4734#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4735 tmpMeta[3] = tmpMeta[2];
4736#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4737 }
4738#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4739 tmpMeta[0+0] = tmpMeta[3];
4740#line 3256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4741 tmp1_c1 = _b;
4742#line 4742 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4743 goto tmp3_done;
4744 }
4745 case 5: {
4746
4747 /* Pattern matching succeeded */
4748#line 3259 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4749 tmpMeta[0+0] = _inCref;
4750#line 3259 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4751 tmp1_c1 = _iPerformed;
4752#line 4752 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4753 goto tmp3_done;
4754 }
4755 case 6: {
4756
4757 /* Pattern matching succeeded */
4758#line 3260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4759 tmpMeta[0+0] = _inCref;
4760#line 3260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4761 tmp1_c1 = _iPerformed;
4762#line 4762 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4763 goto tmp3_done;
4764 }
4765 case 7: {
4766
4767 /* Pattern matching succeeded */
4768#line 3261 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4769 tmpMeta[0+0] = _inCref;
4770#line 3261 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4771 tmp1_c1 = _iPerformed;
4772#line 4772 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4773 goto tmp3_done;
4774 }
4775 default:
4776 tmp3_default: OMC_LABEL_UNUSED__attribute__((unused)); {
4777
4778 /* Pattern matching succeeded */
4779#line 3265 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4780 omc_Error_addMessage(threadData, _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)), _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)));
4781#line 4781 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4782#line 3266 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4783 goto goto_2;
4784#line 4784 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4785 goto tmp3_done;
4786 }
4787 }
4788 goto tmp3_end;
4789 tmp3_end: ;
4790 }
4791 goto goto_2;
4792 goto_2:;
4793 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4794 goto tmp3_done;
4795 tmp3_done:;
4796 }
4797 }
4798 _outCref = tmpMeta[0+0];
4799 _oPerformed = tmp1_c1;
4800 _return: OMC_LABEL_UNUSED__attribute__((unused))
4801 if (out_oPerformed) { *out_oPerformed = _oPerformed; }
4802 return _outCref;
4803}
4804PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_BackendVariable_replaceVarWithWholeDim(threadData_t *threadData, modelica_metatype _inCref, modelica_metatype _iPerformed, modelica_metatype *out_oPerformed)
4805{
4806 modelica_integer tmp1;
4807 modelica_boolean _oPerformed;
4808 modelica_metatype _outCref = NULL((void*)0);
4809 tmp1 = mmc_unbox_integer(_iPerformed)(((mmc_sint_t) (_iPerformed)) >> 1);
4810 _outCref = omc_BackendVariable_replaceVarWithWholeDim(threadData, _inCref, tmp1, &_oPerformed);
4811 /* skip box _outCref; DAE.ComponentRef */
4812 if (out_oPerformed) { *out_oPerformed = mmc_mk_icon(_oPerformed); }
4813 return _outCref;
4814}
4815
4816DLLExport
4817modelica_metatype omc_BackendVariable_getVarSingle(threadData_t *threadData, modelica_metatype _cr, modelica_metatype _inVariables, modelica_integer *out_outInteger)
4818{
4819 modelica_metatype _outVar = NULL((void*)0);
4820 modelica_integer _outInteger;
4821 modelica_integer tmp1_c1 __attribute__((unused)) = 0;
4822 modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
4823 MMC_SO()mmc_check_stackoverflow(threadData);
4824 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4825 // _outVar has no default value.
4826 // _outInteger has no default value.
4827#line 3183 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4828
4829#line 3183 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4830
4831#line 4831 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4832 { /* matchcontinue expression */
4833 {
4834 modelica_metatype _v = NULL((void*)0);
4835 modelica_integer _indx;
4836 modelica_metatype _crlst = NULL((void*)0);
4837 modelica_metatype _cr1 = NULL((void*)0);
4838 volatile mmc_switch_type tmp4;
4839 int tmp5;
4840 // _v has no default value.
4841 // _indx has no default value.
4842 // _crlst has no default value.
4843 // _cr1 has no default value.
4844 tmp4 = 0;
4845 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
4846 tmp3_top:
4847 threadData->mmc_jumper = &new_mmc_jumper;
4848 for (; tmp4 < 3; tmp4++) {
4849 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
4850 case 0: {
4851 /* Pattern matching succeeded */
4852#line 3193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4853 tmpMeta[0+0] = omc_BackendVariable_getVar2(threadData, _cr, _inVariables, &tmp1_c1);
4854#line 4854 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4855 goto tmp3_done;
4856 }
4857 case 1: {
4858 modelica_integer tmp6;
4859 /* Pattern matching succeeded */
4860#line 3198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4861 _crlst = omc_ComponentReference_expandCref(threadData, _cr, 1);
4862#line 4862 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4863
4864#line 3199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4865 if(isPresent(_outInteger)((out_outInteger)!=((void*)0)))
4866#line 3199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4867 {
4868#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4869 /* Pattern-matching tuple assignment */
4870#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4871 tmpMeta[5] = omc_BackendVariable_getVarLst(threadData, _crlst, _inVariables, &tmpMeta[2]);
4872#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4873 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4874#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4875 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
4876#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4877 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
4878#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4879 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4880#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4881 _v = tmpMeta[6];
4882#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4883 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4884#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4885 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4886#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4887 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
4888#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4889 tmp6 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
4890#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4891 if (!listEmpty(tmpMeta[4])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4892#line 3200 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4893 _indx = tmp6 /* pattern as ty=Integer */;
4894#line 4894 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4895 }
4896 else
4897 {
4898#line 3202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4899 /* Pattern-matching tuple assignment */
4900#line 3202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4901 tmpMeta[2] = omc_BackendVariable_getVarLst(threadData, _crlst, _inVariables, NULL((void*)0));
4902#line 3202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4903 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4904#line 3202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4905 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4906#line 3202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4907 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
4908#line 3202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4909 if (!listEmpty(tmpMeta[4])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4910#line 3202 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4911 _v = tmpMeta[3];
4912#line 4912 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4913
4914#line 3203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4915 _indx = ((modelica_integer) 0);
4916#line 4916 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4917 }
4918#line 3205 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4919 tmpMeta[0+0] = _v;
4920#line 3205 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4921 tmp1_c1 = _indx;
4922#line 4922 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4923 goto tmp3_done;
4924 }
4925 case 2: {
4926 modelica_boolean tmp7;
4927 modelica_integer tmp8;
4928 /* Pattern matching succeeded */
4929#line 3211 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4930 /* Pattern-matching tuple assignment */
4931#line 3211 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4932 tmpMeta[2] = omc_BackendVariable_replaceVarWithWholeDim(threadData, _cr, 0, &tmp7);
4933#line 3211 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4934 _cr1 = tmpMeta[2];
4935#line 3211 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4936 if (1 != tmp7) goto goto_2;
4937#line 4937 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4938
4939#line 3212 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4940 _crlst = omc_ComponentReference_expandCref(threadData, _cr1, 1);
4941#line 4941 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4942
4943#line 3213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4944 if(isPresent(_outInteger)((out_outInteger)!=((void*)0)))
4945#line 3213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4946 {
4947#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4948 /* Pattern-matching tuple assignment */
4949#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4950 tmpMeta[5] = omc_BackendVariable_getVarLst(threadData, _crlst, _inVariables, &tmpMeta[2]);
4951#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4952 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4953#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4954 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
4955#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4956 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
4957#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4958 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4959#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4960 _v = tmpMeta[6];
4961#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4962 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4963#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4964 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4965#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4966 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
4967#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4968 tmp8 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
4969#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4970 if (!listEmpty(tmpMeta[4])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4971#line 3214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4972 _indx = tmp8 /* pattern as ty=Integer */;
4973#line 4973 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4974 }
4975 else
4976 {
4977#line 3216 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4978 /* Pattern-matching tuple assignment */
4979#line 3216 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4980 tmpMeta[2] = omc_BackendVariable_getVarLst(threadData, _crlst, _inVariables, NULL((void*)0));
4981#line 3216 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4982 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4983#line 3216 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4984 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
4985#line 3216 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4986 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
4987#line 3216 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4988 if (!listEmpty(tmpMeta[4])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
4989#line 3216 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4990 _v = tmpMeta[3];
4991#line 4991 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4992
4993#line 3217 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4994 _indx = ((modelica_integer) 0);
4995#line 4995 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
4996 }
4997#line 3219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
4998 tmpMeta[0+0] = _v;
4999#line 3219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5000 tmp1_c1 = _indx;
5001#line 5001 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5002 goto tmp3_done;
5003 }
5004 }
5005 goto tmp3_end;
5006 tmp3_end: ;
5007 }
5008 goto goto_2;
5009 tmp3_done:
5010 (void)tmp4;
5011 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
5012 goto tmp3_done2;
5013 goto_2:;
5014 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
5015 if (++tmp4 < 3) {
5016 goto tmp3_top;
5017 }
5018 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5019 tmp3_done2:;
5020 }
5021 }
5022 _outVar = tmpMeta[0+0];
5023 _outInteger = tmp1_c1;
5024 _return: OMC_LABEL_UNUSED__attribute__((unused))
5025 if (out_outInteger) { *out_outInteger = _outInteger; }
5026 return _outVar;
5027}
5028modelica_metatype boxptr_BackendVariable_getVarSingle(threadData_t *threadData, modelica_metatype _cr, modelica_metatype _inVariables, modelica_metatype *out_outInteger)
5029{
5030 modelica_integer _outInteger;
5031 modelica_metatype _outVar = NULL((void*)0);
5032 _outVar = omc_BackendVariable_getVarSingle(threadData, _cr, _inVariables, &_outInteger);
5033 /* skip box _outVar; BackendDAE.Var */
5034 if (out_outInteger) { *out_outInteger = mmc_mk_icon(_outInteger); }
5035 return _outVar;
5036}
5037
5038DLLExport
5039modelica_metatype omc_BackendVariable_getVar(threadData_t *threadData, modelica_metatype _cr, modelica_metatype _inVariables, modelica_metatype *out_outIntegerLst)
5040{
5041 modelica_metatype _outVarLst = NULL((void*)0);
5042 modelica_metatype _outIntegerLst = NULL((void*)0);
5043 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
5044 MMC_SO()mmc_check_stackoverflow(threadData);
5045 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5046 // _outVarLst has no default value.
5047 // _outIntegerLst has no default value.
5048#line 3122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5049
5050#line 3122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5051
5052#line 5052 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5053 { /* matchcontinue expression */
5054 {
5055 modelica_metatype _v = NULL((void*)0);
5056 modelica_integer _indx;
5057 modelica_metatype _indxs = NULL((void*)0);
5058 modelica_metatype _vLst = NULL((void*)0);
5059 modelica_metatype _crlst = NULL((void*)0);
5060 modelica_metatype _cr1 = NULL((void*)0);
5061 volatile mmc_switch_type tmp4;
5062 int tmp5;
5063 // _v has no default value.
5064 // _indx has no default value.
5065 // _indxs has no default value.
5066 // _vLst has no default value.
5067 // _crlst has no default value.
5068 // _cr1 has no default value.
5069 tmp4 = 0;
5070 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
5071 tmp3_top:
5072 threadData->mmc_jumper = &new_mmc_jumper;
5073 for (; tmp4 < 3; tmp4++) {
5074 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
5075 case 0: {
5076 modelica_boolean tmp6;
5077 /* Pattern matching succeeded */
5078#line 3132 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5079 _v = omc_BackendVariable_getVar2(threadData, _cr, _inVariables ,&_indx);
5080#line 5080 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5081#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5082 tmpMeta[2] = mmc_mk_cons(_v, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
5083#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5084 tmp6 = (modelica_boolean)isPresent(_outIntegerLst)((out_outIntegerLst)!=((void*)0));
5085#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5086 if(tmp6)
5087#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5088 {
5089#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5090 tmpMeta[3] = mmc_mk_cons(mmc_mk_integermmc_mk_icon(_indx), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
5091#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5092 tmpMeta[5] = tmpMeta[3];
5093#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5094 }
5095#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5096 else
5097#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5098 {
5099#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5100 tmpMeta[4] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
5101#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5102 tmpMeta[5] = tmpMeta[4];
5103#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5104 }
5105#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5106 tmpMeta[0+0] = tmpMeta[2];
5107#line 3133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5108 tmpMeta[0+1] = tmpMeta[5];
5109#line 5109 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5110 goto tmp3_done;
5111 }
5112 case 1: {
5113 /* Pattern matching succeeded */
5114#line 3137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5115 _crlst = omc_ComponentReference_expandCref(threadData, _cr, 1);
5116#line 5116 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5117
5118#line 3138 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5119 if(isPresent(_outIntegerLst)((out_outIntegerLst)!=((void*)0)))
5120#line 3138 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5121 {
5122#line 3139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5123 /* Pattern-matching tuple assignment */
5124#line 3139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5125 tmpMeta[3] = omc_BackendVariable_getVarLst(threadData, _crlst, _inVariables, &tmpMeta[2]);
5126#line 3139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5127 if (listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
5128#line 3139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5129 tmpMeta[4] = MMC_CAR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
5130#line 3139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5131 tmpMeta[5] = MMC_CDR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
5132#line 3139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5133 _vLst = tmpMeta[3];
5134#line 3139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5135 _indxs = tmpMeta[2];
5136#line 5136 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5137 }
5138 else
5139 {
5140#line 3141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5141 /* Pattern-matching tuple assignment */
5142#line 3141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5143 tmpMeta[2] = omc_BackendVariable_getVarLst(threadData, _crlst, _inVariables, NULL((void*)0));
5144#line 3141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5145 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
5146#line 3141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5147 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
5148#line 3141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5149 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
5150#line 3141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5151 _vLst = tmpMeta[2];
5152#line 5152 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5153
5154#line 3142 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5155 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
5156#line 3142 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5157 _indxs = tmpMeta[2];
5158#line 5158 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5159 }
5160#line 3144 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5161 tmpMeta[0+0] = _vLst;
5162#line 3144 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5163 tmpMeta[0+1] = _indxs;
5164#line 5164 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5165 goto tmp3_done;
5166 }
5167 case 2: {
5168 modelica_boolean tmp7;
5169 /* Pattern matching succeeded */
5170#line 3150 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5171 /* Pattern-matching tuple assignment */
5172#line 3150 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5173 tmpMeta[2] = omc_BackendVariable_replaceVarWithWholeDim(threadData, _cr, 0, &tmp7);
5174#line 3150 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5175 _cr1 = tmpMeta[2];
5176#line 3150 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5177 if (1 != tmp7) goto goto_2;
5178#line 5178 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5179
5180#line 3151 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5181 _crlst = omc_ComponentReference_expandCref(threadData, _cr1, 1);
5182#line 5182 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5183
5184#line 3152 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5185 if(isPresent(_outIntegerLst)((out_outIntegerLst)!=((void*)0)))
5186#line 3152 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5187 {
5188#line 3153 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5189 /* Pattern-matching tuple assignment */
5190#line 3153 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5191 tmpMeta[3] = omc_BackendVariable_getVarLst(threadData, _crlst, _inVariables, &tmpMeta[2]);
5192#line 3153 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5193 if (listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
5194#line 3153 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5195 tmpMeta[4] = MMC_CAR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
5196#line 3153 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5197 tmpMeta[5] = MMC_CDR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
5198#line 3153 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5199 _vLst = tmpMeta[3];
5200#line 3153 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5201 _indxs = tmpMeta[2];
5202#line 5202 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5203 }
5204 else
5205 {
5206#line 3155 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5207 /* Pattern-matching tuple assignment */
5208#line 3155 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5209 tmpMeta[2] = omc_BackendVariable_getVarLst(threadData, _crlst, _inVariables, NULL((void*)0));
5210#line 3155 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5211 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_2;
5212#line 3155 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5213 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
5214#line 3155 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5215 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
5216#line 3155 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5217 _vLst = tmpMeta[2];
5218#line 5218 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5219
5220#line 3156 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5221 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
5222#line 3156 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5223 _indxs = tmpMeta[2];
5224#line 5224 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5225 }
5226#line 3158 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5227 tmpMeta[0+0] = _vLst;
5228#line 3158 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5229 tmpMeta[0+1] = _indxs;
5230#line 5230 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5231 goto tmp3_done;
5232 }
5233 }
5234 goto tmp3_end;
5235 tmp3_end: ;
5236 }
5237 goto goto_2;
5238 tmp3_done:
5239 (void)tmp4;
5240 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
5241 goto tmp3_done2;
5242 goto_2:;
5243 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
5244 if (++tmp4 < 3) {
5245 goto tmp3_top;
5246 }
5247 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5248 tmp3_done2:;
5249 }
5250 }
5251 _outVarLst = tmpMeta[0+0];
5252 _outIntegerLst = tmpMeta[0+1];
5253 _return: OMC_LABEL_UNUSED__attribute__((unused))
5254 if (out_outIntegerLst) { *out_outIntegerLst = _outIntegerLst; }
5255 return _outVarLst;
5256}
5257
5258DLLExport
5259modelica_boolean omc_BackendVariable_containsCref(threadData_t *threadData, modelica_metatype _cr, modelica_metatype _inVariables)
5260{
5261 modelica_boolean _outB;
5262 MMC_SO()mmc_check_stackoverflow(threadData);
5263 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5264 // _outB has no default value.
5265#line 5265 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5266 { /* matchcontinue expression */
5267 {
5268 volatile mmc_switch_type tmp3;
5269 int tmp4;
5270 tmp3 = 0;
5271 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
5272 tmp2_top:
5273 threadData->mmc_jumper = &new_mmc_jumper;
5274 for (; tmp3 < 2; tmp3++) {
5275 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
5276 case 0: {
5277 /* Pattern matching succeeded */
5278#line 3101 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5279 omc_BackendVariable_getVar(threadData, _cr, _inVariables, NULL((void*)0));
5280#line 5280 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5281
5282#line 3102 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5283 _outB = 1;
5284#line 5284 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5285#line 5285 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5286 goto tmp2_done;
5287 }
5288 case 1: {
5289 /* Pattern matching succeeded */
5290#line 3104 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5291 _outB = 0;
5292#line 5292 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5293#line 5293 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5294 goto tmp2_done;
5295 }
5296 }
5297 goto tmp2_end;
5298 tmp2_end: ;
5299 }
5300 goto goto_1;
5301 tmp2_done:
5302 (void)tmp3;
5303 MMC_RESTORE_INTERNAL(mmc_jumper)threadData->mmc_jumper = old_jumper;;
5304 goto tmp2_done2;
5305 goto_1:;
5306 MMC_CATCH_INTERNAL(mmc_jumper)} threadData->mmc_jumper = old_jumper;mmc_catch_dummy_fn()
;}
;
5307 if (++tmp3 < 2) {
5308 goto tmp2_top;
5309 }
5310 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5311 tmp2_done2:;
5312 }
5313 }
5314 ;
5315 _return: OMC_LABEL_UNUSED__attribute__((unused))
5316 return _outB;
5317}
5318modelica_metatype boxptr_BackendVariable_containsCref(threadData_t *threadData, modelica_metatype _cr, modelica_metatype _inVariables)
5319{
5320 modelica_boolean _outB;
5321 modelica_metatype out_outB;
5322 _outB = omc_BackendVariable_containsCref(threadData, _cr, _inVariables);
5323 out_outB = mmc_mk_icon(_outB);
5324 return out_outB;
5325}
5326
5327DLLExport
5328modelica_metatype omc_BackendVariable_getVarShared(threadData_t *threadData, modelica_metatype _inComponentRef, modelica_metatype _inShared, modelica_metatype *out_outIntegerLst)
5329{
5330 modelica_metatype _outVarLst = NULL((void*)0);
5331 modelica_metatype _outIntegerLst = NULL((void*)0);
5332 MMC_SO()mmc_check_stackoverflow(threadData);
5333 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5334 // _outVarLst has no default value.
5335 // _outIntegerLst has no default value.
5336#line 3092 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5337 _outVarLst = omc_BackendVariable_getVar(threadData, _inComponentRef, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inShared), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inShared) - 3)
)) + (2)))))
) ,&_outIntegerLst);
5338#line 5338 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5339 _return: OMC_LABEL_UNUSED__attribute__((unused))
5340 if (out_outIntegerLst) { *out_outIntegerLst = _outIntegerLst; }
5341 return _outVarLst;
5342}
5343
5344DLLExport
5345modelica_metatype omc_BackendVariable_getVarDAE(threadData_t *threadData, modelica_metatype _inComponentRef, modelica_metatype _inEqSystem, modelica_metatype *out_outIntegerLst)
5346{
5347 modelica_metatype _outVarLst = NULL((void*)0);
5348 modelica_metatype _outIntegerLst = NULL((void*)0);
5349 MMC_SO()mmc_check_stackoverflow(threadData);
5350 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5351 // _outVarLst has no default value.
5352 // _outIntegerLst has no default value.
5353#line 3081 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5354 _outVarLst = omc_BackendVariable_getVar(threadData, _inComponentRef, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inEqSystem), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inEqSystem) - 3
))) + (2)))))
) ,&_outIntegerLst);
5355#line 5355 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5356 _return: OMC_LABEL_UNUSED__attribute__((unused))
5357 if (out_outIntegerLst) { *out_outIntegerLst = _outIntegerLst; }
5358 return _outVarLst;
5359}
5360
5361DLLExport
5362modelica_metatype omc_BackendVariable_getVarSharedAt(threadData_t *threadData, modelica_integer _inInteger, modelica_metatype _inShared)
5363{
5364 modelica_metatype _outVar = NULL((void*)0);
5365 MMC_SO()mmc_check_stackoverflow(threadData);
5366 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5367 // _outVar has no default value.
5368#line 3070 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5369 _outVar = omc_BackendVariable_getVarAt(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inShared), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inShared) - 3)
)) + (2)))))
), _inInteger);
5370#line 5370 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5371 _return: OMC_LABEL_UNUSED__attribute__((unused))
5372 return _outVar;
5373}
5374modelica_metatype boxptr_BackendVariable_getVarSharedAt(threadData_t *threadData, modelica_metatype _inInteger, modelica_metatype _inShared)
5375{
5376 modelica_integer tmp1;
5377 modelica_metatype _outVar = NULL((void*)0);
5378 tmp1 = mmc_unbox_integer(_inInteger)(((mmc_sint_t) (_inInteger)) >> 1);
5379 _outVar = omc_BackendVariable_getVarSharedAt(threadData, tmp1, _inShared);
5380 /* skip box _outVar; BackendDAE.Var */
5381 return _outVar;
5382}
5383
5384DLLExport
5385modelica_metatype omc_BackendVariable_getVarAtIndexFirst(threadData_t *threadData, modelica_integer _inIndex, modelica_metatype _inVariables)
5386{
5387 modelica_metatype _outVar = NULL((void*)0);
5388 MMC_SO()mmc_check_stackoverflow(threadData);
5389 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5390 // _outVar has no default value.
5391#line 3060 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5392 _outVar = omc_BackendVariable_getVarAt(threadData, _inVariables, _inIndex);
5393#line 5393 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5394 _return: OMC_LABEL_UNUSED__attribute__((unused))
5395 return _outVar;
5396}
5397modelica_metatype boxptr_BackendVariable_getVarAtIndexFirst(threadData_t *threadData, modelica_metatype _inIndex, modelica_metatype _inVariables)
5398{
5399 modelica_integer tmp1;
5400 modelica_metatype _outVar = NULL((void*)0);
5401 tmp1 = mmc_unbox_integer(_inIndex)(((mmc_sint_t) (_inIndex)) >> 1);
5402 _outVar = omc_BackendVariable_getVarAtIndexFirst(threadData, tmp1, _inVariables);
5403 /* skip box _outVar; BackendDAE.Var */
5404 return _outVar;
5405}
5406
5407DLLExport
5408modelica_metatype omc_BackendVariable_setVarAt(threadData_t *threadData, modelica_metatype _inVariables, modelica_integer _inIndex, modelica_metatype _inVar)
5409{
5410 modelica_metatype _outVariables = NULL((void*)0);
5411 MMC_SO()mmc_check_stackoverflow(threadData);
5412 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5413 _outVariables = _inVariables;
5414#line 3050 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5415 omc_BackendVariable_vararraySetnth(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVariables), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inVariables) -
3))) + (3)))))
), _inIndex, _inVar);
5416#line 5416 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5417 _return: OMC_LABEL_UNUSED__attribute__((unused))
5418 return _outVariables;
5419}
5420modelica_metatype boxptr_BackendVariable_setVarAt(threadData_t *threadData, modelica_metatype _inVariables, modelica_metatype _inIndex, modelica_metatype _inVar)
5421{
5422 modelica_integer tmp1;
5423 modelica_metatype _outVariables = NULL((void*)0);
5424 tmp1 = mmc_unbox_integer(_inIndex)(((mmc_sint_t) (_inIndex)) >> 1);
5425 _outVariables = omc_BackendVariable_setVarAt(threadData, _inVariables, tmp1, _inVar);
5426 /* skip box _outVariables; BackendDAE.Variables */
5427 return _outVariables;
5428}
5429
5430DLLExport
5431modelica_metatype omc_BackendVariable_getVarAt(threadData_t *threadData, modelica_metatype _inVariables, modelica_integer _inIndex)
5432{
5433 modelica_metatype _outVar = NULL((void*)0);
5434 MMC_SO()mmc_check_stackoverflow(threadData);
5435 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5436 // _outVar has no default value.
5437#line 3041 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5438 _outVar = omc_BackendVariable_vararrayNth(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVariables), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inVariables) -
3))) + (3)))))
), _inIndex);
5439#line 5439 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5440 _return: OMC_LABEL_UNUSED__attribute__((unused))
5441 return _outVar;
5442}
5443modelica_metatype boxptr_BackendVariable_getVarAt(threadData_t *threadData, modelica_metatype _inVariables, modelica_metatype _inIndex)
5444{
5445 modelica_integer tmp1;
5446 modelica_metatype _outVar = NULL((void*)0);
5447 tmp1 = mmc_unbox_integer(_inIndex)(((mmc_sint_t) (_inIndex)) >> 1);
5448 _outVar = omc_BackendVariable_getVarAt(threadData, _inVariables, tmp1);
5449 /* skip box _outVar; BackendDAE.Var */
5450 return _outVar;
5451}
5452
5453DLLExport
5454modelica_metatype omc_BackendVariable_addVariables(threadData_t *threadData, modelica_metatype _inSrcVars, modelica_metatype _inDestVars)
5455{
5456 modelica_metatype _outVars = NULL((void*)0);
5457 modelica_metatype _vars = NULL((void*)0);
5458 modelica_integer _num_vars;
5459 modelica_metatype _var = NULL((void*)0);
5460 modelica_metatype _ovar = NULL((void*)0);
5461 modelica_integer tmp1;
5462 modelica_integer tmp2;
5463 modelica_integer tmp3;
5464 modelica_integer tmp4;
5465 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
5466 MMC_SO()mmc_check_stackoverflow(threadData);
5467 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5468 _outVars = _inDestVars;
5469 // _vars has no default value.
5470 // _num_vars has no default value.
5471 // _var has no default value.
5472 // _ovar has no default value.
5473#line 3024 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5474 /* Pattern-matching assignment */
5475#line 3024 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5476 tmpMeta[0] = _inSrcVars;
5477#line 3024 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5478 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
5479#line 3024 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5480 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
5481#line 3024 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5482 tmp1 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
5483#line 3024 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5484 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
5485#line 3024 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5486 _num_vars = tmp1 /* pattern as ty=Integer */;
5487#line 3024 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5488 _vars = tmpMeta[3];
5489#line 5489 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5490
5491#line 3026 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5492 tmp2 = ((modelica_integer) 1); tmp3 = 1; tmp4 = _num_vars;
5493#line 3026 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5494 if(!(((tmp3 > 0) && (tmp2 > tmp4)) || ((tmp3 < 0) && (tmp2 < tmp4))))
5495#line 3026 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5496 {
5497#line 3026 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5498 modelica_integer _i;
5499#line 3026 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5500 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp2, tmp4); _i += tmp3)
5501#line 3026 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5502 {
5503#line 3027 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5504 _ovar = arrayGet(_vars,_i)nobox_arrayGet(threadData,_vars,_i) /* DAE.ASUB */;
5505#line 5505 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5506
5507#line 3028 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5508 if(isSome(_ovar)(0==((((((*(mmc_uint_t*)((void*)((char*)(_ovar) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(_ovar) - 3)
))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(_ovar
) - 3)))) >> 10)) ? 0 : 1)
)
5509#line 3028 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5510 {
5511#line 3029 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5512 /* Pattern-matching assignment */
5513#line 3029 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5514 tmpMeta[0] = _ovar;
5515#line 3029 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5516 if (optionNone(tmpMeta[0])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[0]) - 3)))) >> 10)) ? 1 : 0)
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5517#line 3029 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5518 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
5519#line 3029 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5520 _var = tmpMeta[1];
5521#line 5521 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5522
5523#line 3030 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5524 _outVars = omc_BackendVariable_addVar(threadData, _var, _outVars);
5525#line 5525 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5526 }
5527 }
5528 }
5529 _return: OMC_LABEL_UNUSED__attribute__((unused))
5530 return _outVars;
5531}
5532
5533DLLExport
5534modelica_metatype omc_BackendVariable_addNewVar(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVariables)
5535{
5536 modelica_metatype _outVariables = NULL((void*)0);
5537 modelica_metatype _hashvec = NULL((void*)0);
5538 modelica_metatype _varr = NULL((void*)0);
5539 modelica_integer _bsize;
5540 modelica_integer _num_vars;
5541 modelica_integer _idx;
5542 modelica_metatype _indices = NULL((void*)0);
5543 modelica_integer tmp1;
5544 modelica_integer tmp2;
5545 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
5546 MMC_SO()mmc_check_stackoverflow(threadData);
5547 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5548 // _outVariables has no default value.
5549 // _hashvec has no default value.
5550 // _varr has no default value.
5551 // _bsize has no default value.
5552 // _num_vars has no default value.
5553 // _idx has no default value.
5554 // _indices has no default value.
5555#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5556 /* Pattern-matching assignment */
5557#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5558 tmpMeta[0] = _inVariables;
5559#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5560 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
5561#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5562 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
5563#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5564 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (4)))))
;
5565#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5566 tmp1 = mmc_unbox_integer(tmpMeta[3])(((mmc_sint_t) (tmpMeta[3])) >> 1);
5567#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5568 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (5)))))
;
5569#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5570 tmp2 = mmc_unbox_integer(tmpMeta[4])(((mmc_sint_t) (tmpMeta[4])) >> 1);
5571#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5572 _hashvec = tmpMeta[1];
5573#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5574 _varr = tmpMeta[2];
5575#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5576 _bsize = tmp1 /* pattern as ty=Integer */;
5577#line 3004 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5578 _num_vars = tmp2 /* pattern as ty=Integer */;
5579#line 5579 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5580
5581#line 3005 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5582 _idx = ((modelica_integer) 1) + omc_ComponentReference_hashComponentRefMod(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
), _bsize);
5583#line 5583 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5584
5585#line 3006 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5586 _varr = omc_BackendVariable_vararrayAdd(threadData, _varr, _inVar);
5587#line 5587 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5588
5589#line 3007 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5590 _indices = arrayGet(_hashvec,_idx)nobox_arrayGet(threadData,_hashvec,_idx) /* DAE.ASUB */;
5591#line 5591 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5592
5593#line 3008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5594 tmpMeta[1] = mmc_mk_box3(3, &BackendDAE_CrefIndex_CREFINDEX__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
), mmc_mk_integermmc_mk_icon(_num_vars));
5595#line 3008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5596 tmpMeta[0] = mmc_mk_cons(tmpMeta[1], _indices);
5597#line 3008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5598 arrayUpdate(_hashvec, _idx, tmpMeta[0])boxptr_arrayUpdate(threadData,_hashvec,mmc_mk_icon(_idx),tmpMeta
[0])
;
5599#line 5599 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5600
5601#line 3009 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5602 tmpMeta[0] = mmc_mk_box5(3, &BackendDAE_Variables_VARIABLES__desc, _hashvec, _varr, mmc_mk_integermmc_mk_icon(_bsize), mmc_mk_integermmc_mk_icon(((modelica_integer) 1) + _num_vars));
5603#line 3009 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5604 _outVariables = tmpMeta[0];
5605#line 5605 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5606 _return: OMC_LABEL_UNUSED__attribute__((unused))
5607 return _outVariables;
5608}
5609
5610DLLExport
5611modelica_metatype omc_BackendVariable_addNewVars(threadData_t *threadData, modelica_metatype _inVars, modelica_metatype _inVariables)
5612{
5613 modelica_metatype _outVariables = NULL((void*)0);
5614 MMC_SO()mmc_check_stackoverflow(threadData);
5615 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5616 // _outVariables has no default value.
5617#line 2990 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5618 _outVariables = omc_List_fold(threadData, _inVars, boxvar_BackendVariable_addNewVar((void*)((char*)(&(boxvar_lit_BackendVariable_addNewVar).
header) + 3))
, _inVariables);
5619#line 5619 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5620 _return: OMC_LABEL_UNUSED__attribute__((unused))
5621 return _outVariables;
5622}
5623
5624DLLExport
5625modelica_metatype omc_BackendVariable_addVars(threadData_t *threadData, modelica_metatype _inVars, modelica_metatype _inVariables)
5626{
5627 modelica_metatype _outVariables = NULL((void*)0);
5628 MMC_SO()mmc_check_stackoverflow(threadData);
5629 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5630 // _outVariables has no default value.
5631#line 2980 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5632 _outVariables = omc_List_fold(threadData, _inVars, boxvar_BackendVariable_addVar((void*)((char*)(&(boxvar_lit_BackendVariable_addVar).header
) + 3))
, _inVariables);
5633#line 5633 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5634 _return: OMC_LABEL_UNUSED__attribute__((unused))
5635 return _outVariables;
5636}
5637
5638DLLExport
5639modelica_metatype omc_BackendVariable_addVar(threadData_t *threadData, modelica_metatype _inVar, modelica_metatype _inVariables)
5640{
5641 modelica_metatype _outVariables = NULL((void*)0);
5642 modelica_integer _hash_idx;
5643 modelica_integer _arr_idx;
5644 modelica_metatype _indices = NULL((void*)0);
5645 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
5646 MMC_SO()mmc_check_stackoverflow(threadData);
5647 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5648 _outVariables = _inVariables;
5649 // _hash_idx has no default value.
5650 // _arr_idx has no default value.
5651 // _indices has no default value.
5652#line 2960 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5653 _hash_idx = ((modelica_integer) 1) + omc_ComponentReference_hashComponentRefMod(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
), mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVariables), 4))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_inVariables) - 3))) + (4)))))))) >> 1)
);
5654#line 5654 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5655
5656#line 2961 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5657 _indices = arrayGet((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVariables), 2))), _hash_idx)nobox_arrayGet(threadData,((*(void**)(((void*)((void**)(((void
*)((char*)(_inVariables) - 3))) + (2)))))),_hash_idx)
;
5658#line 5658 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5659
5660#line 5660 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5661 { /* matchcontinue expression */
5662 {
5663 volatile mmc_switch_type tmp3;
5664 int tmp4;
5665 tmp3 = 0;
5666 MMC_TRY_INTERNAL(mmc_jumper){ jmp_buf new_mmc_jumper, *old_jumper __attribute__((unused))
= threadData->mmc_jumper; threadData->mmc_jumper = &
new_mmc_jumper; if (_setjmp (new_mmc_jumper) == 0) {
5667 tmp2_top:
5668 threadData->mmc_jumper = &new_mmc_jumper;
5669 for (; tmp3 < 2; tmp3++) {
5670 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
5671 case 0: {
5672 modelica_integer tmp5;
5673 /* Pattern matching succeeded */
5674#line 2964 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5675 /* Pattern-matching assignment */
5676#line 2964 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5677 tmpMeta[0] = omc_List_getMemberOnTrue(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVar), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_inVar) - 3))) +
(2)))))
), _indices, boxvar_BackendVariable_crefIndexEqualCref((void*)((char*)(&(boxvar_lit_BackendVariable_crefIndexEqualCref
).header) + 3))
);
5678#line 2964 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5679 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
5680#line 2964 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5681 tmp5 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
5682#line 2964 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5683 _arr_idx = tmp5 /* pattern as ty=Integer */;
5684#line 5684 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5685
5686#line 2965 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5687 tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6))((void*)((char*)(mmc_alloc_words(6)) + 3));
5688#line 2965 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5689 memcpy(MMC_UNTAGPTR(tmpMeta[0])((void*)((char*)(tmpMeta[0]) - 3)), MMC_UNTAGPTR(_outVariables)((void*)((char*)(_outVariables) - 3)), 6*sizeof(modelica_metatype));
5690#line 2965 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5691 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0])((void*)((char*)(tmpMeta[0]) - 3)))[3] = omc_BackendVariable_vararraySetnth(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_inVariables), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_inVariables) -
3))) + (3)))))
), ((modelica_integer) 1) + _arr_idx, _inVar);
5692#line 2965 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5693 _outVariables = tmpMeta[0];
5694#line 5694 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5695#line 5695 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/BackendVariable.c"
5696 goto tmp2_done;
5697 }
5698 case 1: {
5699 /* Pattern matching succeeded */
5700#line 2967 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5701 tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6))((void*)((char*)(mmc_alloc_words(6)) + 3));
5702#line 2967 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/BackEnd/BackendVariable.mo"
5703 memcpy(MMC_UNTAGPTR(tmpMeta[0])((void*)((char*)(tmpMeta[0]) - 3)), MMC_UNTAGPTR(_outVariables)((void*)((char*)(_outVariables) - 3)), 6*sizeof