Bug Summary

File:OMCompiler/Compiler/boot/build/MetaUtil.c
Warning:line 1185, column 5
Value stored to 'tmp3_1' 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/MetaUtil.c" OMC_BASE_FILE
3#else
4 #define OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c" "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
5#endif
6#include "omc_simulation_settings.h"
7#include "MetaUtil.h"
8static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT0,2,25)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT0
= { (((2) << 10) + (((25) & 255) << 2)),
{&Absyn_Exp_LIST__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
9#define _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT0)((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3))
10static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT1,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT1
= { (((1) << 10) + (((5) & 255) << 2)),
{&ErrorTypes_MessageType_TRANSLATION__desc,}};
11#define _OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1)((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3))
12static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT2,1,4)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT2
= { (((1) << 10) + (((4) & 255) << 2)),
{&ErrorTypes_Severity_ERROR__desc,}};
13#define _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT2)((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3))
14#define _OMC_LIT3_data"Records inside uniontypes must not contain type variables (got: %s). Put them on the uniontype instead." "Records inside uniontypes must not contain type variables (got: %s). Put them on the uniontype instead."
15static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT3,103,_OMC_LIT3_data)struct { mmc_uint_t header; const char data[(103)+1]; } _OMC_LIT_STRUCT3
= { ((((mmc_uint_t)103)<<(3))+((1<<(3+3))+5)), "Records inside uniontypes must not contain type variables (got: %s). Put them on the uniontype instead."
}
;
16#define _OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT3)((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3))
17static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT4,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT4
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3))}};
18#define _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT4)((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3))
19static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT5,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT5
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(5043))((void*)(((((mmc_uint_t) (5043)) << 1)+0))),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)),_OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3))}};
20#define _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT5)((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3))
21#define _OMC_LIT6_data"," ","
22static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT6,1,_OMC_LIT6_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT6
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), ","
}
;
23#define _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT6)((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3))
24#include "util/modelica.h"
25
26#include "MetaUtil_includes.h"
27
28
29/* default, do not make protected functions static */
30#if !defined(PROTECTED_FUNCTION_STATIC)
31#define PROTECTED_FUNCTION_STATIC
32#endif
33PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_fixElementItems(threadData_t *threadData, modelica_metatype _inElementItems, modelica_string _inName, modelica_metatype _typeVars, modelica_metatype *out_outMetaClasses);
34static const MMC_DEFSTRUCTLIT(boxvar_lit_MetaUtil_fixElementItems,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_MetaUtil_fixElementItems
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_MetaUtil_fixElementItemsomc_MetaUtil_fixElementItems,0}};
35#define boxvar_MetaUtil_fixElementItems((void*)((char*)(&(boxvar_lit_MetaUtil_fixElementItems).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_MetaUtil_fixElementItems)((void*)((char*)(&(boxvar_lit_MetaUtil_fixElementItems).header
) + 3))
36PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_fixClassParts(threadData_t *threadData, modelica_metatype _inClassParts, modelica_string _inClassName, modelica_metatype _typeVars, modelica_metatype *out_outMetaClasses);
37static const MMC_DEFSTRUCTLIT(boxvar_lit_MetaUtil_fixClassParts,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_MetaUtil_fixClassParts
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_MetaUtil_fixClassPartsomc_MetaUtil_fixClassParts,0}};
38#define boxvar_MetaUtil_fixClassParts((void*)((char*)(&(boxvar_lit_MetaUtil_fixClassParts).header
) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_MetaUtil_fixClassParts)((void*)((char*)(&(boxvar_lit_MetaUtil_fixClassParts).header
) + 3))
39PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_convertElementToClass(threadData_t *threadData, modelica_metatype _inElementItem);
40static const MMC_DEFSTRUCTLIT(boxvar_lit_MetaUtil_convertElementToClass,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_MetaUtil_convertElementToClass
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_MetaUtil_convertElementToClassomc_MetaUtil_convertElementToClass,0}};
41#define boxvar_MetaUtil_convertElementToClass((void*)((char*)(&(boxvar_lit_MetaUtil_convertElementToClass
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_MetaUtil_convertElementToClass)((void*)((char*)(&(boxvar_lit_MetaUtil_convertElementToClass
).header) + 3))
42PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_setElementItemClass(threadData_t *threadData, modelica_metatype _inElementItem, modelica_metatype _inClass);
43static const MMC_DEFSTRUCTLIT(boxvar_lit_MetaUtil_setElementItemClass,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_MetaUtil_setElementItemClass
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_MetaUtil_setElementItemClassomc_MetaUtil_setElementItemClass,0}};
44#define boxvar_MetaUtil_setElementItemClass((void*)((char*)(&(boxvar_lit_MetaUtil_setElementItemClass
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_MetaUtil_setElementItemClass)((void*)((char*)(&(boxvar_lit_MetaUtil_setElementItemClass
).header) + 3))
45PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_createMetaClassesFromElementItems(threadData_t *threadData, modelica_metatype _inElementItems);
46static const MMC_DEFSTRUCTLIT(boxvar_lit_MetaUtil_createMetaClassesFromElementItems,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_MetaUtil_createMetaClassesFromElementItems
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_MetaUtil_createMetaClassesFromElementItemsomc_MetaUtil_createMetaClassesFromElementItems,0}};
47#define boxvar_MetaUtil_createMetaClassesFromElementItems((void*)((char*)(&(boxvar_lit_MetaUtil_createMetaClassesFromElementItems
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_MetaUtil_createMetaClassesFromElementItems)((void*)((char*)(&(boxvar_lit_MetaUtil_createMetaClassesFromElementItems
).header) + 3))
48PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_createMetaClassesFromClassParts(threadData_t *threadData, modelica_metatype _inClassParts);
49static const MMC_DEFSTRUCTLIT(boxvar_lit_MetaUtil_createMetaClassesFromClassParts,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_MetaUtil_createMetaClassesFromClassParts
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_MetaUtil_createMetaClassesFromClassPartsomc_MetaUtil_createMetaClassesFromClassParts,0}};
50#define boxvar_MetaUtil_createMetaClassesFromClassParts((void*)((char*)(&(boxvar_lit_MetaUtil_createMetaClassesFromClassParts
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_MetaUtil_createMetaClassesFromClassParts)((void*)((char*)(&(boxvar_lit_MetaUtil_createMetaClassesFromClassParts
).header) + 3))
51PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_createMetaClasses(threadData_t *threadData, modelica_metatype _inClass, modelica_metatype *out_outMetaClasses);
52static const MMC_DEFSTRUCTLIT(boxvar_lit_MetaUtil_createMetaClasses,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_MetaUtil_createMetaClasses
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_MetaUtil_createMetaClassesomc_MetaUtil_createMetaClasses,0}};
53#define boxvar_MetaUtil_createMetaClasses((void*)((char*)(&(boxvar_lit_MetaUtil_createMetaClasses)
.header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_MetaUtil_createMetaClasses)((void*)((char*)(&(boxvar_lit_MetaUtil_createMetaClasses)
.header) + 3))
54
55DLLExport
56modelica_metatype omc_MetaUtil_transformArrayNodesToListNodes(threadData_t *threadData, modelica_metatype _inList)
57{
58 modelica_metatype _outList = NULL((void*)0);
59 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
60 MMC_SO()mmc_check_stackoverflow(threadData);
61 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
62 // _outList has no default value.
63#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
64 {
65#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
66 modelica_metatype _D_24tmpVar1;
67#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
68 modelica_metatype* tmp1;
69#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
70 modelica_metatype _D_24tmpVar0;
71#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
72 int tmp6;
73#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
74 modelica_metatype _e_loopVar = 0;
75#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
76 modelica_metatype _e;
77#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
78 _e_loopVar = _inList;
79#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
80 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
81#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
82 _D_24tmpVar1 = tmpMeta[1]; /* defaultValue */
83#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
84 tmp1 = &_D_24tmpVar1;
85#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
86 while(1) {
87#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
88 tmp6 = 1;
89#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
90 if (!listEmpty(_e_loopVar)((*(mmc_uint_t*)((void*)((char*)(_e_loopVar) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) {
91#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
92 _e = MMC_CAR(_e_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_e_loopVar) - 3
))) + (1)))))
;
93#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
94 _e_loopVar = MMC_CDR(_e_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_e_loopVar) - 3
))) + (2)))))
;
95#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
96 tmp6--;
97#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
98 }
99#line 286 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
100 if (tmp6 == 0) {
101#line 101 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
102 { /* match expression */
103 modelica_metatype tmp4_1;
104 tmp4_1 = _e;
105 {
106 volatile mmc_switch_type tmp4;
107 int tmp5;
108 tmp4 = 0;
109 for (; tmp4 < 3; tmp4++) {
110 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
111 case 0: {
112 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((1 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
113 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
114 if (!listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
115 /* Pattern matching succeeded */
116#line 287 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
117 tmpMeta[2] = _OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3));
118#line 118 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
119 goto tmp3_done;
120 }
121 case 1: {
122 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((1 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
123
124 /* Pattern matching succeeded */
125#line 289 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
126 tmpMeta[3] = mmc_mk_box2(25, &Absyn_Exp_LIST__desc, omc_MetaUtil_transformArrayNodesToListNodes(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_e), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_e) - 3))) + (2
)))))
)));
127#line 289 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
128 tmpMeta[2] = tmpMeta[3];
129#line 129 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
130 goto tmp3_done;
131 }
132 case 2: {
133
134 /* Pattern matching succeeded */
135#line 290 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
136 tmpMeta[2] = _e;
137#line 137 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
138 goto tmp3_done;
139 }
140 }
141 goto tmp3_end;
142 tmp3_end: ;
143 }
144 goto goto_2;
145 goto_2:;
146 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
147 goto tmp3_done;
148 tmp3_done:;
149 }
150 }_D_24tmpVar0 = tmpMeta[2];
151 *tmp1 = mmc_mk_cons(_D_24tmpVar0,0);
152 tmp1 = &MMC_CDR(*tmp1)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp1) - 3))) +
(2)))))
;
153 } else if (tmp6 == 1) {
154 break;
155 } else {
156 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
157 }
158 }
159 *tmp1 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
160 tmpMeta[0] = _D_24tmpVar1;
161 }
162 _outList = tmpMeta[0];
163 _return: OMC_LABEL_UNUSED__attribute__((unused))
164 return _outList;
165}
166
167PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_fixElementItems(threadData_t *threadData, modelica_metatype _inElementItems, modelica_string _inName, modelica_metatype _typeVars, modelica_metatype *out_outMetaClasses)
168{
169 modelica_metatype _outElementItems = NULL((void*)0);
170 modelica_metatype _outMetaClasses = NULL((void*)0);
171 modelica_integer _index;
172 modelica_boolean _singleton;
173 modelica_integer tmp1;
174 modelica_metatype _c = NULL((void*)0);
175 modelica_metatype _r = NULL((void*)0);
176 modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
177 MMC_SO()mmc_check_stackoverflow(threadData);
178 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
179 // _outElementItems has no default value.
180 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
181 _outMetaClasses = tmpMeta[0];
182 _index = ((modelica_integer) 0);
183 {
184 modelica_integer _D_24tmpVar3;
185 modelica_integer _D_24tmpVar2;
186 int tmp2;
187 modelica_metatype _e_loopVar = 0;
188 modelica_metatype _e;
189 _e_loopVar = _inElementItems;
190 _D_24tmpVar3 = ((modelica_integer) 0); /* defaultValue */
191 while(1) {
192 tmp2 = 1;
193 if (!listEmpty(_e_loopVar)((*(mmc_uint_t*)((void*)((char*)(_e_loopVar) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) {
194 _e = MMC_CAR(_e_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_e_loopVar) - 3
))) + (1)))))
;
195 _e_loopVar = MMC_CDR(_e_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_e_loopVar) - 3
))) + (2)))))
;
196 tmp2--;
197 }
198 if (tmp2 == 0) {
199 _D_24tmpVar2 = (omc_AbsynUtil_isElementItem(threadData, _e)?((modelica_integer) 1):((modelica_integer) 0));
200 _D_24tmpVar3 = _D_24tmpVar3 + _D_24tmpVar2;
201 } else if (tmp2 == 1) {
202 break;
203 } else {
204 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
205 }
206 }
207 tmp1 = _D_24tmpVar3;
208 }
209 _singleton = (tmp1 == ((modelica_integer) 1));
210 // _c has no default value.
211 // _r has no default value.
212#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
213 {
214#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
215 modelica_metatype _D_24tmpVar5;
216#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
217 modelica_metatype* tmp3;
218#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
219 modelica_metatype _D_24tmpVar4;
220#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
221 int tmp12;
222#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
223 modelica_metatype _e_loopVar = 0;
224#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
225 modelica_metatype _e;
226#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
227 _e_loopVar = _inElementItems;
228#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
229 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
230#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
231 _D_24tmpVar5 = tmpMeta[2]; /* defaultValue */
232#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
233 tmp3 = &_D_24tmpVar5;
234#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
235 while(1) {
236#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
237 tmp12 = 1;
238#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
239 if (!listEmpty(_e_loopVar)((*(mmc_uint_t*)((void*)((char*)(_e_loopVar) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) {
240#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
241 _e = MMC_CAR(_e_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_e_loopVar) - 3
))) + (1)))))
;
242#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
243 _e_loopVar = MMC_CDR(_e_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_e_loopVar) - 3
))) + (2)))))
;
244#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
245 tmp12--;
246#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
247 }
248#line 254 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
249 if (tmp12 == 0) {
250#line 250 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
251 { /* match expression */
252 modelica_metatype tmp6_1;
253 tmp6_1 = _e;
254 {
255 modelica_metatype _body = NULL((void*)0);
256 volatile mmc_switch_type tmp6;
257 int tmp7;
258 // _body has no default value.
259 tmp6 = 0;
260 for (; tmp6 < 2; tmp6++) {
261 switch (MMC_SWITCH_CAST(tmp6)(tmp6)) {
262 case 0: {
263 if (mmc__uniontype__metarecord__typedef__equal(tmp6_1,0,1)((*(mmc_uint_t*)((void*)((char*)(tmp6_1) - 3)))==(((1 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp5_end;
264 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp6_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp6_1) - 3))) +
(2)))))
;
265 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],0,6)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((6 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp5_end;
266 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (5)))))
;
267 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[5],0,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3)))==(((2 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp5_end;
268 tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[5]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (3)))))
;
269 tmpMeta[7] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[6]), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[6]) - 3
))) + (6)))))
;
270 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[7],3,0)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3)))==(((0 +1)
<< 10) + (((3 +3) & 255) << 2)))
== 0) goto tmp5_end;
271
272 _c = tmpMeta[6];
273 /* Pattern matching succeeded */
274#line 259 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
275 _body = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_c), 7))(*(void**)(((void*)((void**)(((void*)((char*)(_c) - 3))) + (7
)))))
);
276#line 276 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
277
278#line 278 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
279 { /* match expression */
280 modelica_metatype tmp10_1;
281 tmp10_1 = _body;
282 {
283 volatile mmc_switch_type tmp10;
284 int tmp11;
285 tmp10 = 0;
286 for (; tmp10 < 2; tmp10++) {
287 switch (MMC_SWITCH_CAST(tmp10)(tmp10)) {
288 case 0: {
289 if (mmc__uniontype__metarecord__typedef__equal(tmp10_1,0,5)((*(mmc_uint_t*)((void*)((char*)(tmp10_1) - 3)))==(((5 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp9_end;
290 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp10_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp10_1) - 3)))
+ (2)))))
;
291 if (listEmpty(tmpMeta[4])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp9_end;
292 tmpMeta[5] = MMC_CAR(tmpMeta[4])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (1)))))
;
293 tmpMeta[6] = MMC_CDR(tmpMeta[4])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (2)))))
;
294
295 /* Pattern matching succeeded */
296#line 263 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
297 tmpMeta[4] = mmc_mk_cons(stringDelimitList((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_body), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_body) - 3))) +
(2)))))
), _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3))), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
298#line 263 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
299 omc_Error_addSourceMessage(threadData, _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)), tmpMeta[4], (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_c), 8))(*(void**)(((void*)((void**)(((void*)((char*)(_c) - 3))) + (8
)))))
));
300#line 300 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
301#line 264 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
302 goto goto_8;
303#line 303 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
304 goto tmp9_done;
305 }
306 case 1: {
307
308 /* Pattern matching succeeded */
309#line 309 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
310 goto tmp9_done;
311 }
312 }
313 goto tmp9_end;
314 tmp9_end: ;
315 }
316 goto goto_8;
317 goto_8:;
318 goto goto_4;
319 goto tmp9_done;
320 tmp9_done:;
321 }
322 }
323 ;
324
325#line 268 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
326 tmpMeta[4] = mmc_mk_box2(4, &Absyn_Path_IDENT__desc, _inName);
327#line 268 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
328 tmpMeta[5] = mmc_mk_box6(23, &Absyn_Restriction_R__METARECORD__desc, tmpMeta[4], mmc_mk_integermmc_mk_icon(_index), mmc_mk_boolean(_singleton)((_singleton) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), mmc_mk_boolean(1)((1) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _typeVars);
329#line 268 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
330 _r = tmpMeta[5];
331#line 331 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
332
333#line 269 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
334 tmpMeta[4] = MMC_TAGPTR(mmc_alloc_words(9))((void*)((char*)(mmc_alloc_words(9)) + 3));
335#line 269 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
336 memcpy(MMC_UNTAGPTR(tmpMeta[4])((void*)((char*)(tmpMeta[4]) - 3)), MMC_UNTAGPTR(_c)((void*)((char*)(_c) - 3)), 9*sizeof(modelica_metatype));
337#line 269 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
338 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[4])((void*)((char*)(tmpMeta[4]) - 3)))[6] = _r;
339#line 269 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
340 _c = tmpMeta[4];
341#line 341 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
342
343#line 270 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
344 tmpMeta[4] = mmc_mk_cons(_c, _outMetaClasses);
345#line 270 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
346 _outMetaClasses = tmpMeta[4];
347#line 347 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
348
349#line 272 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
350 tmpMeta[4] = mmc_mk_box2(4, &Absyn_Path_IDENT__desc, _inName);
351#line 272 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
352 tmpMeta[5] = mmc_mk_box6(23, &Absyn_Restriction_R__METARECORD__desc, tmpMeta[4], mmc_mk_integermmc_mk_icon(_index), mmc_mk_boolean(_singleton)((_singleton) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), mmc_mk_boolean(0)((0) != 0 ? (mmc_mk_icon(1)) : (mmc_mk_icon(0))), _typeVars);
353#line 272 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
354 _r = tmpMeta[5];
355#line 355 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
356
357#line 273 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
358 tmpMeta[4] = MMC_TAGPTR(mmc_alloc_words(9))((void*)((char*)(mmc_alloc_words(9)) + 3));
359#line 273 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
360 memcpy(MMC_UNTAGPTR(tmpMeta[4])((void*)((char*)(tmpMeta[4]) - 3)), MMC_UNTAGPTR(_c)((void*)((char*)(_c) - 3)), 9*sizeof(modelica_metatype));
361#line 273 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
362 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[4])((void*)((char*)(tmpMeta[4]) - 3)))[6] = _r;
363#line 273 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
364 _c = tmpMeta[4];
365#line 365 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
366
367#line 274 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
368 _index = ((modelica_integer) 1) + _index;
369#line 369 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
370#line 275 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
371 tmpMeta[3] = omc_MetaUtil_setElementItemClass(threadData, _e, _c);
372#line 372 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
373 goto tmp5_done;
374 }
375 case 1: {
376
377 /* Pattern matching succeeded */
378#line 278 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
379 tmpMeta[3] = _e;
380#line 380 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
381 goto tmp5_done;
382 }
383 }
384 goto tmp5_end;
385 tmp5_end: ;
386 }
387 goto goto_4;
388 goto_4:;
389 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
390 goto tmp5_done;
391 tmp5_done:;
392 }
393 }_D_24tmpVar4 = tmpMeta[3];
394 *tmp3 = mmc_mk_cons(_D_24tmpVar4,0);
395 tmp3 = &MMC_CDR(*tmp3)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp3) - 3))) +
(2)))))
;
396 } else if (tmp12 == 1) {
397 break;
398 } else {
399 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
400 }
401 }
402 *tmp3 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
403 tmpMeta[1] = _D_24tmpVar5;
404 }
405 _outElementItems = tmpMeta[1];
406 _return: OMC_LABEL_UNUSED__attribute__((unused))
407 if (out_outMetaClasses) { *out_outMetaClasses = _outMetaClasses; }
408 return _outElementItems;
409}
410
411PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_fixClassParts(threadData_t *threadData, modelica_metatype _inClassParts, modelica_string _inClassName, modelica_metatype _typeVars, modelica_metatype *out_outMetaClasses)
412{
413 modelica_metatype _outClassParts = NULL((void*)0);
414 modelica_metatype _outMetaClasses = NULL((void*)0);
415 modelica_metatype _meta_classes = NULL((void*)0);
416 modelica_metatype _els = NULL((void*)0);
417 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
418 MMC_SO()mmc_check_stackoverflow(threadData);
419 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
420 // _outClassParts has no default value.
421 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
422 _outMetaClasses = tmpMeta[0];
423 // _meta_classes has no default value.
424 // _els has no default value.
425#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
426 {
427#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
428 modelica_metatype _D_24tmpVar7;
429#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
430 modelica_metatype* tmp1;
431#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
432 modelica_metatype _D_24tmpVar6;
433#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
434 int tmp5;
435#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
436 modelica_metatype _p_loopVar = 0;
437#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
438 modelica_metatype _p;
439#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
440 _p_loopVar = _inClassParts;
441#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
442 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
443#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
444 _D_24tmpVar7 = tmpMeta[2]; /* defaultValue */
445#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
446 tmp1 = &_D_24tmpVar7;
447#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
448 while(1) {
449#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
450 tmp5 = 1;
451#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
452 if (!listEmpty(_p_loopVar)((*(mmc_uint_t*)((void*)((char*)(_p_loopVar) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) {
453#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
454 _p = MMC_CAR(_p_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_p_loopVar) - 3
))) + (1)))))
;
455#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
456 _p_loopVar = MMC_CDR(_p_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_p_loopVar) - 3
))) + (2)))))
;
457#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
458 tmp5--;
459#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
460 }
461#line 220 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
462 if (tmp5 == 0) {
463#line 463 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
464 { /* match expression */
465 modelica_metatype tmp4_1;
466 tmp4_1 = _p;
467 {
468 int tmp4;
469 {
470 switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) >> 2
) & 255))
) {
471 case 3: {
472
473 /* Pattern matching succeeded */
474#line 223 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
475 _els = omc_MetaUtil_fixElementItems(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_p), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_p) - 3))) + (2
)))))
), _inClassName, _typeVars ,&_meta_classes);
476#line 476 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
477
478#line 224 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
479 tmpMeta[4] = MMC_TAGPTR(mmc_alloc_words(3))((void*)((char*)(mmc_alloc_words(3)) + 3));
480#line 224 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
481 memcpy(MMC_UNTAGPTR(tmpMeta[4])((void*)((char*)(tmpMeta[4]) - 3)), MMC_UNTAGPTR(_p)((void*)((char*)(_p) - 3)), 3*sizeof(modelica_metatype));
482#line 224 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
483 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[4])((void*)((char*)(tmpMeta[4]) - 3)))[2] = _els;
484#line 224 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
485 _p = tmpMeta[4];
486#line 486 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
487
488#line 225 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
489 _outMetaClasses = listAppend(_meta_classes, _outMetaClasses);
490#line 490 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
491#line 226 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
492 tmpMeta[3] = _p;
493#line 493 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
494 goto tmp3_done;
495 }
496 case 4: {
497
498 /* Pattern matching succeeded */
499#line 231 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
500 _els = omc_MetaUtil_fixElementItems(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_p), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_p) - 3))) + (2
)))))
), _inClassName, _typeVars ,&_meta_classes);
501#line 501 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
502
503#line 232 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
504 tmpMeta[4] = MMC_TAGPTR(mmc_alloc_words(3))((void*)((char*)(mmc_alloc_words(3)) + 3));
505#line 232 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
506 memcpy(MMC_UNTAGPTR(tmpMeta[4])((void*)((char*)(tmpMeta[4]) - 3)), MMC_UNTAGPTR(_p)((void*)((char*)(_p) - 3)), 3*sizeof(modelica_metatype));
507#line 232 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
508 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[4])((void*)((char*)(tmpMeta[4]) - 3)))[2] = _els;
509#line 232 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
510 _p = tmpMeta[4];
511#line 511 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
512
513#line 233 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
514 _outMetaClasses = listAppend(_meta_classes, _outMetaClasses);
515#line 515 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
516#line 234 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
517 tmpMeta[3] = _p;
518#line 518 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
519 goto tmp3_done;
520 }
521 default:
522 tmp3_default: OMC_LABEL_UNUSED__attribute__((unused)); {
523
524 /* Pattern matching succeeded */
525#line 237 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
526 tmpMeta[3] = _p;
527#line 527 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
528 goto tmp3_done;
529 }
530 }
531 goto tmp3_end;
532 tmp3_end: ;
533 }
534 goto goto_2;
535 goto_2:;
536 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
537 goto tmp3_done;
538 tmp3_done:;
539 }
540 }_D_24tmpVar6 = tmpMeta[3];
541 *tmp1 = mmc_mk_cons(_D_24tmpVar6,0);
542 tmp1 = &MMC_CDR(*tmp1)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp1) - 3))) +
(2)))))
;
543 } else if (tmp5 == 1) {
544 break;
545 } else {
546 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
547 }
548 }
549 *tmp1 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
550 tmpMeta[1] = _D_24tmpVar7;
551 }
552 _outClassParts = tmpMeta[1];
553 _return: OMC_LABEL_UNUSED__attribute__((unused))
554 if (out_outMetaClasses) { *out_outMetaClasses = _outMetaClasses; }
555 return _outClassParts;
556}
557
558PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_convertElementToClass(threadData_t *threadData, modelica_metatype _inElementItem)
559{
560 modelica_metatype _outClass = NULL((void*)0);
561 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
562 MMC_SO()mmc_check_stackoverflow(threadData);
563 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
564 // _outClass has no default value.
565#line 206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
566 /* Pattern-matching assignment */
567#line 206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
568 tmpMeta[0] = _inElementItem;
569#line 206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
570 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
571#line 206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
572 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
573#line 206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
574 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,6)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((6 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
575#line 206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
576 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (5)))))
;
577#line 206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
578 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((2 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
579#line 206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
580 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (3)))))
;
581#line 206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
582 _outClass = tmpMeta[3];
583#line 583 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
584 _return: OMC_LABEL_UNUSED__attribute__((unused))
585 return _outClass;
586}
587
588PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_setElementItemClass(threadData_t *threadData, modelica_metatype _inElementItem, modelica_metatype _inClass)
589{
590 modelica_metatype _outElementItem = NULL((void*)0);
591 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
592 MMC_SO()mmc_check_stackoverflow(threadData);
593 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
594 _outElementItem = _inElementItem;
595#line 595 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
596 { /* match expression */
597 modelica_metatype tmp3_1;
598 tmp3_1 = _outElementItem;
599 {
600 modelica_metatype _e = NULL((void*)0);
601 modelica_metatype _es = NULL((void*)0);
602 volatile mmc_switch_type tmp3;
603 int tmp4;
604 // _e has no default value.
605 // _es has no default value.
606 tmp3 = 0;
607 for (; tmp3 < 2; tmp3++) {
608 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
609 case 0: {
610 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((1 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
611 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
612 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,6)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((6 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
613 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (5)))))
;
614 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((2 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
615
616 _e = tmpMeta[1];
617 _es = tmpMeta[2];
618 /* Pattern matching succeeded */
619#line 192 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
620 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(4))((void*)((char*)(mmc_alloc_words(4)) + 3));
621#line 192 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
622 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_es)((void*)((char*)(_es) - 3)), 4*sizeof(modelica_metatype));
623#line 192 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
624 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[3] = _inClass;
625#line 192 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
626 _es = tmpMeta[1];
627#line 627 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
628
629#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
630 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(8))((void*)((char*)(mmc_alloc_words(8)) + 3));
631#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
632 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_e)((void*)((char*)(_e) - 3)), 8*sizeof(modelica_metatype));
633#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
634 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[5] = _es;
635#line 193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
636 _e = tmpMeta[1];
637#line 637 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
638
639#line 194 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
640 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(3))((void*)((char*)(mmc_alloc_words(3)) + 3));
641#line 194 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
642 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_outElementItem)((void*)((char*)(_outElementItem) - 3)), 3*sizeof(modelica_metatype));
643#line 194 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
644 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[2] = _e;
645#line 194 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
646 _outElementItem = tmpMeta[1];
647#line 647 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
648#line 195 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
649 tmpMeta[0] = _outElementItem;
650#line 650 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
651 goto tmp2_done;
652 }
653 case 1: {
654
655 /* Pattern matching succeeded */
656#line 198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
657 tmpMeta[0] = _outElementItem;
658#line 658 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
659 goto tmp2_done;
660 }
661 }
662 goto tmp2_end;
663 tmp2_end: ;
664 }
665 goto goto_1;
666 goto_1:;
667 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
668 goto tmp2_done;
669 tmp2_done:;
670 }
671 }
672 _outElementItem = tmpMeta[0];
673 _return: OMC_LABEL_UNUSED__attribute__((unused))
674 return _outElementItem;
675}
676
677PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_createMetaClassesFromElementItems(threadData_t *threadData, modelica_metatype _inElementItems)
678{
679 modelica_metatype _outElementItems = NULL((void*)0);
680 modelica_metatype _cls = NULL((void*)0);
681 modelica_metatype _meta_classes = NULL((void*)0);
682 modelica_metatype _els = NULL((void*)0);
683 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
684 MMC_SO()mmc_check_stackoverflow(threadData);
685 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
686 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
687 _outElementItems = tmpMeta[0];
688 // _cls has no default value.
689 // _meta_classes has no default value.
690 // _els has no default value.
691#line 162 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
692 {
693#line 162 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
694 modelica_metatype _e;
695#line 162 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
696 for (tmpMeta[1] = listReverse(_inElementItems); !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)))))
)
697#line 162 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
698 {
699#line 162 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
700 _e = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
701#line 701 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
702 { /* match expression */
703 modelica_metatype tmp3_1;
704 tmp3_1 = _e;
705 {
706 volatile mmc_switch_type tmp3;
707 int tmp4;
708 tmp3 = 0;
709 for (; tmp3 < 2; tmp3++) {
710 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
711 case 0: {
712 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((1 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
713 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
714 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],0,6)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((6 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
715 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (5)))))
;
716 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],0,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((2 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
717 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (3)))))
;
718
719 _cls = tmpMeta[5];
720 /* Pattern matching succeeded */
721#line 167 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
722 _cls = omc_MetaUtil_createMetaClasses(threadData, _cls ,&_meta_classes);
723#line 723 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
724
725#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
726 {
727#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
728 modelica_metatype _D_24tmpVar9;
729#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
730 modelica_metatype* tmp5;
731#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
732 modelica_metatype _D_24tmpVar8;
733#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
734 int tmp6;
735#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
736 modelica_metatype _c_loopVar = 0;
737#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
738 modelica_metatype _c;
739#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
740 _c_loopVar = _meta_classes;
741#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
742 tmpMeta[4] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
743#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
744 _D_24tmpVar9 = tmpMeta[4]; /* defaultValue */
745#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
746 tmp5 = &_D_24tmpVar9;
747#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
748 while(1) {
749#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
750 tmp6 = 1;
751#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
752 if (!listEmpty(_c_loopVar)((*(mmc_uint_t*)((void*)((char*)(_c_loopVar) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) {
753#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
754 _c = MMC_CAR(_c_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_c_loopVar) - 3
))) + (1)))))
;
755#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
756 _c_loopVar = MMC_CDR(_c_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_c_loopVar) - 3
))) + (2)))))
;
757#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
758 tmp6--;
759#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
760 }
761#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
762 if (tmp6 == 0) {
763#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
764 _D_24tmpVar8 = omc_MetaUtil_setElementItemClass(threadData, _e, _c);
765#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
766 *tmp5 = mmc_mk_cons(_D_24tmpVar8,0);
767#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
768 tmp5 = &MMC_CDR(*tmp5)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp5) - 3))) +
(2)))))
;
769#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
770 } else if (tmp6 == 1) {
771#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
772 break;
773#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
774 } else {
775#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
776 goto goto_1;
777#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
778 }
779#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
780 }
781#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
782 *tmp5 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
783#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
784 tmpMeta[3] = _D_24tmpVar9;
785#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
786 }
787#line 168 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
788 _els = tmpMeta[3];
789#line 789 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
790
791#line 169 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
792 _outElementItems = listAppend(_els, _outElementItems);
793#line 793 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
794#line 170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
795 tmpMeta[2] = omc_MetaUtil_setElementItemClass(threadData, _e, _cls);
796#line 796 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
797 goto tmp2_done;
798 }
799 case 1: {
800
801 /* Pattern matching succeeded */
802#line 173 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
803 tmpMeta[2] = _e;
804#line 804 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
805 goto tmp2_done;
806 }
807 }
808 goto tmp2_end;
809 tmp2_end: ;
810 }
811 goto goto_1;
812 goto_1:;
813 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
814 goto tmp2_done;
815 tmp2_done:;
816 }
817 }
818 _e = tmpMeta[2];
819
820#line 176 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
821 tmpMeta[2] = mmc_mk_cons(_e, _outElementItems);
822#line 176 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
823 _outElementItems = tmpMeta[2];
824#line 824 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
825 }
826 }
827 _return: OMC_LABEL_UNUSED__attribute__((unused))
828 return _outElementItems;
829}
830
831PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_createMetaClassesFromClassParts(threadData_t *threadData, modelica_metatype _inClassParts)
832{
833 modelica_metatype _outClassParts = NULL((void*)0);
834 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
835 MMC_SO()mmc_check_stackoverflow(threadData);
836 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
837 // _outClassParts has no default value.
838#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
839 {
840#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
841 modelica_metatype _D_24tmpVar11;
842#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
843 modelica_metatype* tmp1;
844#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
845 modelica_metatype _D_24tmpVar10;
846#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
847 int tmp5;
848#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
849 modelica_metatype _p_loopVar = 0;
850#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
851 modelica_metatype _p;
852#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
853 _p_loopVar = _inClassParts;
854#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
855 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
856#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
857 _D_24tmpVar11 = tmpMeta[1]; /* defaultValue */
858#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
859 tmp1 = &_D_24tmpVar11;
860#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
861 while(1) {
862#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
863 tmp5 = 1;
864#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
865 if (!listEmpty(_p_loopVar)((*(mmc_uint_t*)((void*)((char*)(_p_loopVar) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) {
866#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
867 _p = MMC_CAR(_p_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_p_loopVar) - 3
))) + (1)))))
;
868#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
869 _p_loopVar = MMC_CDR(_p_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_p_loopVar) - 3
))) + (2)))))
;
870#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
871 tmp5--;
872#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
873 }
874#line 137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
875 if (tmp5 == 0) {
876#line 876 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
877 { /* match expression */
878 modelica_metatype tmp4_1;
879 tmp4_1 = _p;
880 {
881 int tmp4;
882 {
883 switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) >> 2
) & 255))
) {
884 case 3: {
885
886 /* Pattern matching succeeded */
887#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
888 tmpMeta[3] = MMC_TAGPTR(mmc_alloc_words(3))((void*)((char*)(mmc_alloc_words(3)) + 3));
889#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
890 memcpy(MMC_UNTAGPTR(tmpMeta[3])((void*)((char*)(tmpMeta[3]) - 3)), MMC_UNTAGPTR(_p)((void*)((char*)(_p) - 3)), 3*sizeof(modelica_metatype));
891#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
892 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[3])((void*)((char*)(tmpMeta[3]) - 3)))[2] = omc_MetaUtil_createMetaClassesFromElementItems(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_p), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_p) - 3))) + (2
)))))
));
893#line 140 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
894 _p = tmpMeta[3];
895#line 895 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
896#line 141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
897 tmpMeta[2] = _p;
898#line 898 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
899 goto tmp3_done;
900 }
901 case 4: {
902
903 /* Pattern matching succeeded */
904#line 146 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
905 tmpMeta[3] = MMC_TAGPTR(mmc_alloc_words(3))((void*)((char*)(mmc_alloc_words(3)) + 3));
906#line 146 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
907 memcpy(MMC_UNTAGPTR(tmpMeta[3])((void*)((char*)(tmpMeta[3]) - 3)), MMC_UNTAGPTR(_p)((void*)((char*)(_p) - 3)), 3*sizeof(modelica_metatype));
908#line 146 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
909 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[3])((void*)((char*)(tmpMeta[3]) - 3)))[2] = omc_MetaUtil_createMetaClassesFromElementItems(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_p), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_p) - 3))) + (2
)))))
));
910#line 146 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
911 _p = tmpMeta[3];
912#line 912 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
913#line 147 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
914 tmpMeta[2] = _p;
915#line 915 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
916 goto tmp3_done;
917 }
918 default:
919 tmp3_default: OMC_LABEL_UNUSED__attribute__((unused)); {
920
921 /* Pattern matching succeeded */
922#line 150 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
923 tmpMeta[2] = _p;
924#line 924 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
925 goto tmp3_done;
926 }
927 }
928 goto tmp3_end;
929 tmp3_end: ;
930 }
931 goto goto_2;
932 goto_2:;
933 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
934 goto tmp3_done;
935 tmp3_done:;
936 }
937 }_D_24tmpVar10 = tmpMeta[2];
938 *tmp1 = mmc_mk_cons(_D_24tmpVar10,0);
939 tmp1 = &MMC_CDR(*tmp1)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp1) - 3))) +
(2)))))
;
940 } else if (tmp5 == 1) {
941 break;
942 } else {
943 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
944 }
945 }
946 *tmp1 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
947 tmpMeta[0] = _D_24tmpVar11;
948 }
949 _outClassParts = tmpMeta[0];
950 _return: OMC_LABEL_UNUSED__attribute__((unused))
951 return _outClassParts;
952}
953
954PROTECTED_FUNCTION_STATIC modelica_metatype omc_MetaUtil_createMetaClasses(threadData_t *threadData, modelica_metatype _inClass, modelica_metatype *out_outMetaClasses)
955{
956 modelica_metatype _outClass = NULL((void*)0);
957 modelica_metatype _outMetaClasses = NULL((void*)0);
958 modelica_metatype _body = NULL((void*)0);
959 modelica_metatype _parts = NULL((void*)0);
960 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
961 MMC_SO()mmc_check_stackoverflow(threadData);
962 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
963 _outClass = _inClass;
964 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
965 _outMetaClasses = tmpMeta[0];
966 // _body has no default value.
967 // _parts has no default value.
968#line 968 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
969 { /* match expression */
970 modelica_metatype tmp3_1;
971 tmp3_1 = _outClass;
972 {
973 volatile mmc_switch_type tmp3;
974 int tmp4;
975 tmp3 = 0;
976 for (; tmp3 < 3; tmp3++) {
977 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
978 case 0: {
979 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(6)))))
;
980 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],19,0)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((0 +1)
<< 10) + (((19 +3) & 255) << 2)))
== 0) goto tmp2_end;
981 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(7)))))
;
982 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],0,5)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((5 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
983 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (4)))))
;
984
985 _body = tmpMeta[2];
986 _parts = tmpMeta[3];
987 /* Pattern matching succeeded */
988#line 96 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
989 _parts = omc_MetaUtil_fixClassParts(threadData, _parts, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_outClass), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_outClass) - 3)
)) + (2)))))
), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_body), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_body) - 3))) +
(2)))))
) ,&_outMetaClasses);
990#line 990 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
991
992#line 97 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
993 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(7))((void*)((char*)(mmc_alloc_words(7)) + 3));
994#line 97 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
995 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_body)((void*)((char*)(_body) - 3)), 7*sizeof(modelica_metatype));
996#line 97 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
997 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[4] = _parts;
998#line 97 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
999 _body = tmpMeta[1];
1000#line 1000 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1001
1002#line 98 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1003 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(9))((void*)((char*)(mmc_alloc_words(9)) + 3));
1004#line 98 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1005 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_outClass)((void*)((char*)(_outClass) - 3)), 9*sizeof(modelica_metatype));
1006#line 98 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1007 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[7] = _body;
1008#line 98 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1009 _outClass = tmpMeta[1];
1010#line 1010 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1011#line 1011 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1012 goto tmp2_done;
1013 }
1014 case 1: {
1015 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 6))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(6)))))
;
1016 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],19,0)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((0 +1)
<< 10) + (((19 +3) & 255) << 2)))
== 0) goto tmp2_end;
1017 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(7)))))
;
1018 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],4,5)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((5 +1)
<< 10) + (((4 +3) & 255) << 2)))
== 0) goto tmp2_end;
1019 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (5)))))
;
1020
1021 _body = tmpMeta[2];
1022 _parts = tmpMeta[3];
1023 /* Pattern matching succeeded */
1024#line 105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1025 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1026#line 105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1027 _parts = omc_MetaUtil_fixClassParts(threadData, _parts, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_outClass), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_outClass) - 3)
)) + (2)))))
), tmpMeta[1] ,&_outMetaClasses);
1028#line 1028 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1029
1030#line 106 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1031 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(7))((void*)((char*)(mmc_alloc_words(7)) + 3));
1032#line 106 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1033 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_body)((void*)((char*)(_body) - 3)), 7*sizeof(modelica_metatype));
1034#line 106 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1035 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[5] = _parts;
1036#line 106 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1037 _body = tmpMeta[1];
1038#line 1038 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1039
1040#line 107 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1041 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(9))((void*)((char*)(mmc_alloc_words(9)) + 3));
1042#line 107 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1043 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_outClass)((void*)((char*)(_outClass) - 3)), 9*sizeof(modelica_metatype));
1044#line 107 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1045 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[7] = _body;
1046#line 107 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1047 _outClass = tmpMeta[1];
1048#line 1048 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1049#line 1049 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1050 goto tmp2_done;
1051 }
1052 case 2: {
1053
1054 /* Pattern matching succeeded */
1055#line 1055 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1056 goto tmp2_done;
1057 }
1058 }
1059 goto tmp2_end;
1060 tmp2_end: ;
1061 }
1062 goto goto_1;
1063 goto_1:;
1064 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1065 goto tmp2_done;
1066 tmp2_done:;
1067 }
1068 }
1069 ;
1070
1071#line 1071 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1072 { /* match expression */
1073 modelica_metatype tmp7_1;
1074 tmp7_1 = _outClass;
1075 {
1076 volatile mmc_switch_type tmp7;
1077 int tmp8;
1078 tmp7 = 0;
1079 for (; tmp7 < 3; tmp7++) {
1080 switch (MMC_SWITCH_CAST(tmp7)(tmp7)) {
1081 case 0: {
1082 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp7_1), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmp7_1) - 3))) +
(7)))))
;
1083 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,5)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((5 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp6_end;
1084
1085 _body = tmpMeta[1];
1086 /* Pattern matching succeeded */
1087#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1088 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(7))((void*)((char*)(mmc_alloc_words(7)) + 3));
1089#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1090 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_body)((void*)((char*)(_body) - 3)), 7*sizeof(modelica_metatype));
1091#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1092 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[4] = omc_MetaUtil_createMetaClassesFromClassParts(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_body), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_body) - 3))) +
(4)))))
));
1093#line 117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1094 _body = tmpMeta[1];
1095#line 1095 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1096
1097#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1098 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(9))((void*)((char*)(mmc_alloc_words(9)) + 3));
1099#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1100 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_outClass)((void*)((char*)(_outClass) - 3)), 9*sizeof(modelica_metatype));
1101#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1102 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[7] = _body;
1103#line 118 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1104 _outClass = tmpMeta[1];
1105#line 1105 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1106#line 1106 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1107 goto tmp6_done;
1108 }
1109 case 1: {
1110 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp7_1), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmp7_1) - 3))) +
(7)))))
;
1111 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,5)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((5 +1)
<< 10) + (((4 +3) & 255) << 2)))
== 0) goto tmp6_end;
1112
1113 _body = tmpMeta[1];
1114 /* Pattern matching succeeded */
1115#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1116 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(7))((void*)((char*)(mmc_alloc_words(7)) + 3));
1117#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1118 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_body)((void*)((char*)(_body) - 3)), 7*sizeof(modelica_metatype));
1119#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1120 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[5] = omc_MetaUtil_createMetaClassesFromClassParts(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_body), 5))(*(void**)(((void*)((void**)(((void*)((char*)(_body) - 3))) +
(5)))))
));
1121#line 124 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1122 _body = tmpMeta[1];
1123#line 1123 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1124
1125#line 125 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1126 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(9))((void*)((char*)(mmc_alloc_words(9)) + 3));
1127#line 125 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1128 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_outClass)((void*)((char*)(_outClass) - 3)), 9*sizeof(modelica_metatype));
1129#line 125 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1130 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[7] = _body;
1131#line 125 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1132 _outClass = tmpMeta[1];
1133#line 1133 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1134#line 1134 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1135 goto tmp6_done;
1136 }
1137 case 2: {
1138
1139 /* Pattern matching succeeded */
1140#line 1140 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1141 goto tmp6_done;
1142 }
1143 }
1144 goto tmp6_end;
1145 tmp6_end: ;
1146 }
1147 goto goto_5;
1148 goto_5:;
1149 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1150 goto tmp6_done;
1151 tmp6_done:;
1152 }
1153 }
1154 ;
1155 _return: OMC_LABEL_UNUSED__attribute__((unused))
1156 if (out_outMetaClasses) { *out_outMetaClasses = _outMetaClasses; }
1157 return _outClass;
1158}
1159
1160DLLExport
1161modelica_metatype omc_MetaUtil_createMetaClassesInProgram(threadData_t *threadData, modelica_metatype _inProgram)
1162{
1163 modelica_metatype _outProgram = NULL((void*)0);
1164 modelica_metatype _classes = NULL((void*)0);
1165 modelica_metatype _meta_classes = NULL((void*)0);
1166 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
1167 MMC_SO()mmc_check_stackoverflow(threadData);
1168 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1169 _outProgram = _inProgram;
1170 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
1171 _classes = tmpMeta[0];
1172 // _meta_classes has no default value.
1173#line 58 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1174 if((!omc_Config_acceptMetaModelicaGrammar(threadData)))
1175#line 58 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1176 {
1177#line 59 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1178 goto _return;
1179#line 1179 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1180 }
1181
1182#line 1182 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1183 { /* match expression */
1184 modelica_metatype tmp3_1;
1185 tmp3_1 = _outProgram;
Value stored to 'tmp3_1' is never read
1186 {
1187 volatile mmc_switch_type tmp3;
1188 int tmp4;
1189 tmp3 = 0;
1190 for (; tmp3 < 2; tmp3++) {
1191 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1192 case 0: {
1193
1194 /* Pattern matching succeeded */
1195#line 65 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1196 {
1197#line 65 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1198 modelica_metatype _c;
1199#line 65 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1200 for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_outProgram), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_outProgram) - 3
))) + (2)))))
); !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)))))
)
1201#line 65 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1202 {
1203#line 65 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1204 _c = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
1205#line 66 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1206 _c = omc_MetaUtil_createMetaClasses(threadData, _c ,&_meta_classes);
1207#line 1207 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1208
1209#line 67 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1210 tmpMeta[2] = mmc_mk_cons(_c, listAppend(_meta_classes, _classes));
1211#line 67 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1212 _classes = tmpMeta[2];
1213#line 1213 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1214 }
1215 }
1216
1217#line 70 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1218 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(4))((void*)((char*)(mmc_alloc_words(4)) + 3));
1219#line 70 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1220 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_outProgram)((void*)((char*)(_outProgram) - 3)), 4*sizeof(modelica_metatype));
1221#line 70 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1222 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[2] = listReverseInPlace(_classes);
1223#line 70 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/FrontEnd/MetaUtil.mo"
1224 _outProgram = tmpMeta[1];
1225#line 1225 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1226#line 1226 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1227 goto tmp2_done;
1228 }
1229 case 1: {
1230
1231 /* Pattern matching succeeded */
1232#line 1232 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/MetaUtil.c"
1233 goto tmp2_done;
1234 }
1235 }
1236 goto tmp2_end;
1237 tmp2_end: ;
1238 }
1239 goto goto_1;
1240 goto_1:;
1241 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1242 goto tmp2_done;
1243 tmp2_done:;
1244 }
1245 }
1246 ;
1247 _return: OMC_LABEL_UNUSED__attribute__((unused))
1248 return _outProgram;
1249}
1250