Bug Summary

File:OMCompiler/Compiler/boot/build/NFTypeCheck.c
Warning:line 7334, column 11
Value stored to '_dim22' 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/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c" OMC_BASE_FILE
3#else
4 #define OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c" "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5#endif
6#include "omc_simulation_settings.h"
7#include "NFTypeCheck.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)),
{&ErrorTypes_MessageType_TRANSLATION__desc,}};
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,4)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT1
= { (((1) << 10) + (((4) & 255) << 2)),
{&ErrorTypes_Severity_ERROR__desc,}};
11#define _OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT1)((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3))
12#define _OMC_LIT2_data"Type ‘%s‘ of expression ‘%s‘ in ‘%s‘ does not implement the required operator ‘%s‘" "Type ‘%s‘ of expression ‘%s‘ in ‘%s‘ does not implement the required operator ‘%s‘"
13static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT2,98,_OMC_LIT2_data)struct { mmc_uint_t header; const char data[(98)+1]; } _OMC_LIT_STRUCT2
= { ((((mmc_uint_t)98)<<(3))+((1<<(3+3))+5)), "Type ‘%s‘ of expression ‘%s‘ in ‘%s‘ does not implement the required operator ‘%s‘"
}
;
14#define _OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT2)((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3))
15static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT3,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT3
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT2((void*)((char*)(&(_OMC_LIT_STRUCT2).header) + 3))}};
16#define _OMC_LIT3((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT3)((void*)((char*)(&(_OMC_LIT_STRUCT3).header) + 3))
17static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT4,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT4
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(358))((void*)(((((mmc_uint_t) (358)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_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))
19#define _OMC_LIT5_data"sum" "sum"
20static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT5,3,_OMC_LIT5_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT5
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "sum"
}
;
21#define _OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT5)((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3))
22#define _OMC_LIT6_data"'+'" "'+'"
23static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT6,3,_OMC_LIT6_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT6
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "'+'"
}
;
24#define _OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT6)((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3))
25#define _OMC_LIT7_data"'0'" "'0'"
26static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT7,3,_OMC_LIT7_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT7
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "'0'"
}
;
27#define _OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT7)((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3))
28static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT8,2,1)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT8
= { (((2) << 10) + (((1) & 255) << 2)),
{_OMC_LIT7((void*)((char*)(&(_OMC_LIT_STRUCT7).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
29#define _OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT8)((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3))
30static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT9,2,1)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT9
= { (((2) << 10) + (((1) & 255) << 2)),
{_OMC_LIT6((void*)((char*)(&(_OMC_LIT_STRUCT6).header) + 3)),_OMC_LIT8((void*)((char*)(&(_OMC_LIT_STRUCT8).header) + 3))}};
31#define _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT9)((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3))
32#define _OMC_LIT10_data"" ""
33static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT10,0,_OMC_LIT10_data)struct { mmc_uint_t header; const char data[(0)+1]; } _OMC_LIT_STRUCT10
= { ((((mmc_uint_t)0)<<(3))+((1<<(3+3))+5)), "" }
;
34#define _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT10)((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))
35#define _OMC_LIT11_data"Integer or Real, or operator record" "Integer or Real, or operator record"
36static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT11,35,_OMC_LIT11_data)struct { mmc_uint_t header; const char data[(35)+1]; } _OMC_LIT_STRUCT11
= { ((((mmc_uint_t)35)<<(3))+((1<<(3+3))+5)), "Integer or Real, or operator record"
}
;
37#define _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT11)((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3))
38#define _OMC_LIT12_data"scalar Integer or Real" "scalar Integer or Real"
39static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT12,22,_OMC_LIT12_data)struct { mmc_uint_t header; const char data[(22)+1]; } _OMC_LIT_STRUCT12
= { ((((mmc_uint_t)22)<<(3))+((1<<(3+3))+5)), "scalar Integer or Real"
}
;
40#define _OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT12)((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3))
41#define _OMC_LIT13_data"scalar enumeration, Boolean, Integer, or Real" "scalar enumeration, Boolean, Integer, or Real"
42static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT13,45,_OMC_LIT13_data)struct { mmc_uint_t header; const char data[(45)+1]; } _OMC_LIT_STRUCT13
= { ((((mmc_uint_t)45)<<(3))+((1<<(3+3))+5)), "scalar enumeration, Boolean, Integer, or Real"
}
;
43#define _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT13)((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3))
44#define _OMC_LIT14_data"product" "product"
45static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT14,7,_OMC_LIT14_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT14
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "product"
}
;
46#define _OMC_LIT14((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT14)((void*)((char*)(&(_OMC_LIT_STRUCT14).header) + 3))
47#define _OMC_LIT15_data"min" "min"
48static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT15,3,_OMC_LIT15_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT15
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "min"
}
;
49#define _OMC_LIT15((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT15)((void*)((char*)(&(_OMC_LIT_STRUCT15).header) + 3))
50#define _OMC_LIT16_data"max" "max"
51static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT16,3,_OMC_LIT16_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT16
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "max"
}
;
52#define _OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT16)((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3))
53#define _OMC_LIT17_data"Invalid expression ‘%s‘ of type %s in %s reduction, expected %s." "Invalid expression ‘%s‘ of type %s in %s reduction, expected %s."
54static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT17,68,_OMC_LIT17_data)struct { mmc_uint_t header; const char data[(68)+1]; } _OMC_LIT_STRUCT17
= { ((((mmc_uint_t)68)<<(3))+((1<<(3+3))+5)), "Invalid expression ‘%s‘ of type %s in %s reduction, expected %s."
}
;
55#define _OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT17)((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3))
56static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT18,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT18
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT17((void*)((char*)(&(_OMC_LIT_STRUCT17).header) + 3))}};
57#define _OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT18)((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3))
58static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT19,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT19
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(344))((void*)(((((mmc_uint_t) (344)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT18((void*)((char*)(&(_OMC_LIT_STRUCT18).header) + 3))}};
59#define _OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT19)((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3))
60#define _OMC_LIT20_data"." "."
61static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT20,1,_OMC_LIT20_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT20
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "."
}
;
62#define _OMC_LIT20((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT20)((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3))
63#define _OMC_LIT21_data"Dimension '%s' of type %s is not an integer expression or an enumeration or Boolean type name." "Dimension '%s' of type %s is not an integer expression or an enumeration or Boolean type name."
64static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT21,94,_OMC_LIT21_data)struct { mmc_uint_t header; const char data[(94)+1]; } _OMC_LIT_STRUCT21
= { ((((mmc_uint_t)94)<<(3))+((1<<(3+3))+5)), "Dimension '%s' of type %s is not an integer expression or an enumeration or Boolean type name."
}
;
65#define _OMC_LIT21((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT21)((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3))
66static 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)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT21((void*)((char*)(&(_OMC_LIT_STRUCT21).header) + 3))}};
67#define _OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT22)((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3))
68static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT23,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT23
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(301))((void*)(((((mmc_uint_t) (301)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT22((void*)((char*)(&(_OMC_LIT_STRUCT22).header) + 3))}};
69#define _OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT23)((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3))
70#define _OMC_LIT24_data"Type mismatch in binding %s = %s, expected subtype of %s, got type %s." "Type mismatch in binding %s = %s, expected subtype of %s, got type %s."
71static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT24,70,_OMC_LIT24_data)struct { mmc_uint_t header; const char data[(70)+1]; } _OMC_LIT_STRUCT24
= { ((((mmc_uint_t)70)<<(3))+((1<<(3+3))+5)), "Type mismatch in binding %s = %s, expected subtype of %s, got type %s."
}
;
72#define _OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT24)((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3))
73static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT25,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT25
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT24((void*)((char*)(&(_OMC_LIT_STRUCT24).header) + 3))}};
74#define _OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT25)((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3))
75static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT26,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT26
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(135))((void*)(((((mmc_uint_t) (135)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT25((void*)((char*)(&(_OMC_LIT_STRUCT25).header) + 3))}};
76#define _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT26)((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3))
77#define _OMC_LIT27_data"Type mismatch in binding ‘%s = %s‘, expected array dimensions %s, got %s." "Type mismatch in binding ‘%s = %s‘, expected array dimensions %s, got %s."
78static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT27,77,_OMC_LIT27_data)struct { mmc_uint_t header; const char data[(77)+1]; } _OMC_LIT_STRUCT27
= { ((((mmc_uint_t)77)<<(3))+((1<<(3+3))+5)), "Type mismatch in binding ‘%s = %s‘, expected array dimensions %s, got %s."
}
;
79#define _OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT27)((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3))
80static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT28,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT28
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT27((void*)((char*)(&(_OMC_LIT_STRUCT27).header) + 3))}};
81#define _OMC_LIT28((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT28)((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3))
82static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT29,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT29
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(347))((void*)(((((mmc_uint_t) (347)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT28((void*)((char*)(&(_OMC_LIT_STRUCT28).header) + 3))}};
83#define _OMC_LIT29((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT29)((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3))
84#define _OMC_LIT30_data"Non-array modification ‘%s‘ for array component ‘%s‘, possibly due to missing ‘each‘." "Non-array modification ‘%s‘ for array component ‘%s‘, possibly due to missing ‘each‘."
85static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT30,97,_OMC_LIT30_data)struct { mmc_uint_t header; const char data[(97)+1]; } _OMC_LIT_STRUCT30
= { ((((mmc_uint_t)97)<<(3))+((1<<(3+3))+5)), "Non-array modification ‘%s‘ for array component ‘%s‘, possibly due to missing ‘each‘."
}
;
86#define _OMC_LIT30((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT30)((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3))
87static 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)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT30((void*)((char*)(&(_OMC_LIT_STRUCT30).header) + 3))}};
88#define _OMC_LIT31((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT31)((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3))
89static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT32,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT32
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(348))((void*)(((((mmc_uint_t) (348)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT31((void*)((char*)(&(_OMC_LIT_STRUCT31).header) + 3))}};
90#define _OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT32)((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3))
91#define _OMC_LIT33_data"NFTypeCheck.matchBinding got untyped binding " "NFTypeCheck.matchBinding got untyped binding "
92static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT33,45,_OMC_LIT33_data)struct { mmc_uint_t header; const char data[(45)+1]; } _OMC_LIT_STRUCT33
= { ((((mmc_uint_t)45)<<(3))+((1<<(3+3))+5)), "NFTypeCheck.matchBinding got untyped binding "
}
;
93#define _OMC_LIT33((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT33)((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3))
94#define _OMC_LIT34_data"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo" "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
95static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT34,99,_OMC_LIT34_data)struct { mmc_uint_t header; const char data[(99)+1]; } _OMC_LIT_STRUCT34
= { ((((mmc_uint_t)99)<<(3))+((1<<(3+3))+5)), "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
}
;
96#define _OMC_LIT34((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT34)((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3))
97static const MMC_DEFREALLIT(_OMC_LIT_STRUCT35_6,1580577680.0)struct mmc_real_lit _OMC_LIT_STRUCT35_6 = {0,(((8/8) <<
10) + 9),1580577680.0}
;
98#define _OMC_LIT35_6((void*)((char*)(&(_OMC_LIT_STRUCT35_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT35_6)((void*)((char*)(&(_OMC_LIT_STRUCT35_6).header) + 3))
99static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT35,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT35
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT34((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(3028))((void*)(((((mmc_uint_t) (3028)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(3028))((void*)(((((mmc_uint_t) (3028)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(118))((void*)(((((mmc_uint_t) (118)) << 1)+0))),_OMC_LIT35_6((void*)((char*)(&(_OMC_LIT_STRUCT35_6).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,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT36
= { (((1) << 10) + (((3) & 255) << 2)),
{&NFType_INTEGER__desc,}};
102#define _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT36)((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3))
103static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT37,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT37
= { (((2) << 10) + (((3) & 255) << 2)),
{&NFExpression_INTEGER__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0)))}};
104#define _OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT37)((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3))
105static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT38,1,6)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT38
= { (((1) << 10) + (((6) & 255) << 2)),
{&NFType_BOOLEAN__desc,}};
106#define _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT38)((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3))
107static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT39,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT39
= { (((2) << 10) + (((3) & 255) << 2)),
{&NFExpression_INTEGER__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(2))((void*)(((((mmc_uint_t) (2)) << 1)+0)))}};
108#define _OMC_LIT39((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT39)((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3))
109static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT40,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT40
= { (((2) << 10) + (((3) & 255) << 2)),
{&NFExpression_INTEGER__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0)))}};
110#define _OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT40)((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3))
111#define _OMC_LIT41_data"Step size %s in range is too small." "Step size %s in range is too small."
112static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT41,35,_OMC_LIT41_data)struct { mmc_uint_t header; const char data[(35)+1]; } _OMC_LIT_STRUCT41
= { ((((mmc_uint_t)35)<<(3))+((1<<(3+3))+5)), "Step size %s in range is too small."
}
;
113#define _OMC_LIT41((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT41)((void*)((char*)(&(_OMC_LIT_STRUCT41).header) + 3))
114static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT42,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT42
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT41((void*)((char*)(&(_OMC_LIT_STRUCT41).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,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT43
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(296))((void*)(((((mmc_uint_t) (296)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT42((void*)((char*)(&(_OMC_LIT_STRUCT42).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)),
{&NFType_REAL__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_DEFREALLIT(_OMC_LIT_STRUCT45,5e-15)struct mmc_real_lit _OMC_LIT_STRUCT45 = {0,(((8/8) << 10
) + 9),5e-15}
;
121#define _OMC_LIT45((void*)((char*)(&(_OMC_LIT_STRUCT45).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT45)((void*)((char*)(&(_OMC_LIT_STRUCT45).header) + 3))
122static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT46,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT46
= { (((2) << 10) + (((4) & 255) << 2)),
{&NFExpression_REAL__desc,_OMC_LIT45((void*)((char*)(&(_OMC_LIT_STRUCT45).header) + 3))}};
123#define _OMC_LIT46((void*)((char*)(&(_OMC_LIT_STRUCT46).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT46)((void*)((char*)(&(_OMC_LIT_STRUCT46).header) + 3))
124#define _OMC_LIT47_data"floor" "floor"
125static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT47,5,_OMC_LIT47_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT47
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "floor"
}
;
126#define _OMC_LIT47((void*)((char*)(&(_OMC_LIT_STRUCT47).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT47)((void*)((char*)(&(_OMC_LIT_STRUCT47).header) + 3))
127static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT48,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT48
= { (((2) << 10) + (((4) & 255) << 2)),
{&Absyn_Path_IDENT__desc,_OMC_LIT47((void*)((char*)(&(_OMC_LIT_STRUCT47).header) + 3))}};
128#define _OMC_LIT48((void*)((char*)(&(_OMC_LIT_STRUCT48).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT48)((void*)((char*)(&(_OMC_LIT_STRUCT48).header) + 3))
129static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT49,1,10)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT49
= { (((1) << 10) + (((10) & 255) << 2)),
{&NFInstNode_InstNode_EMPTY__NODE__desc,}};
130#define _OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT49)((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3))
131#define _OMC_LIT50_data"r" "r"
132static 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)), "r"
}
;
133#define _OMC_LIT50((void*)((char*)(&(_OMC_LIT_STRUCT50).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT50)((void*)((char*)(&(_OMC_LIT_STRUCT50).header) + 3))
134static const MMC_DEFREALLIT(_OMC_LIT_STRUCT51,0.0)struct mmc_real_lit _OMC_LIT_STRUCT51 = {0,(((8/8) << 10
) + 9),0.0}
;
135#define _OMC_LIT51((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT51)((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3))
136static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT52,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT52
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).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_LIT51((void*)((char*)(&(_OMC_LIT_STRUCT51).header) + 3))}};
137#define _OMC_LIT52((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT52)((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3))
138static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT53,4,3)struct { mmc_uint_t header; const void *data[4]; } _OMC_LIT_STRUCT53
= { (((4) << 10) + (((3) & 255) << 2)),
{&NFBinding_Binding_UNBOUND__desc,MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT52((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3))}};
139#define _OMC_LIT53((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT53)((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3))
140static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT54,1,4)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT54
= { (((1) << 10) + (((4) & 255) << 2)),
{&NFPrefixes_Replaceable_NOT__REPLACEABLE__desc,}};
141#define _OMC_LIT54((void*)((char*)(&(_OMC_LIT_STRUCT54).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT54)((void*)((char*)(&(_OMC_LIT_STRUCT54).header) + 3))
142static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT55,9,3)struct { mmc_uint_t header; const void *data[9]; } _OMC_LIT_STRUCT55
= { (((9) << 10) + (((3) & 255) << 2)),
{&NFComponent_Component_Attributes_ATTRIBUTES__desc,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(7))((void*)(((((mmc_uint_t) (7)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 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_LIT54((void*)((char*)(&(_OMC_LIT_STRUCT54).header) + 3))}};
143#define _OMC_LIT55((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT55)((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3))
144static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT56,9,5)struct { mmc_uint_t header; const void *data[9]; } _OMC_LIT_STRUCT56
= { (((9) << 10) + (((5) & 255) << 2)),
{&NFComponent_Component_TYPED__COMPONENT__desc,_OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)),_OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3)),_OMC_LIT53((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3)),_OMC_LIT53((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3)),_OMC_LIT55((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),_OMC_LIT52((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3))}};
145#define _OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT56)((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3))
146static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT57,1,1)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT57
= { (((1) << 10) + (((1) & 255) << 2)),
{_OMC_LIT56((void*)((char*)(&(_OMC_LIT_STRUCT56).header) + 3))}};
147#define _OMC_LIT57((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT57)((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3))
148static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT58,1,9)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT58
= { (((1) << 10) + (((9) & 255) << 2)),
{&NFInstNode_InstNodeType_NORMAL__COMP__desc,}};
149#define _OMC_LIT58((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT58)((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3))
150static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT59,6,4)struct { mmc_uint_t header; const void *data[6]; } _OMC_LIT_STRUCT59
= { (((6) << 10) + (((4) & 255) << 2)),
{&NFInstNode_InstNode_COMPONENT__NODE__desc,_OMC_LIT50((void*)((char*)(&(_OMC_LIT_STRUCT50).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0))),_OMC_LIT57((void*)((char*)(&(_OMC_LIT_STRUCT57).header) + 3)),_OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)),_OMC_LIT58((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3))}};
151#define _OMC_LIT59((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT59)((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3))
152static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT60,2,1)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT60
= { (((2) << 10) + (((1) & 255) << 2)),
{_OMC_LIT59((void*)((char*)(&(_OMC_LIT_STRUCT59).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
153#define _OMC_LIT60((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT60)((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3))
154static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT61,1,7)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT61
= { (((1) << 10) + (((7) & 255) << 2)),
{&DAE_InlineType_NO__INLINE__desc,}};
155#define _OMC_LIT61((void*)((char*)(&(_OMC_LIT_STRUCT61).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT61)((void*)((char*)(&(_OMC_LIT_STRUCT61).header) + 3))
156static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT62,3,4)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT62
= { (((3) << 10) + (((4) & 255) << 2)),
{&DAE_FunctionBuiltin_FUNCTION__BUILTIN__desc,MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0)))}};
157#define _OMC_LIT62((void*)((char*)(&(_OMC_LIT_STRUCT62).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT62)((void*)((char*)(&(_OMC_LIT_STRUCT62).header) + 3))
158static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT63,1,3)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT63
= { (((1) << 10) + (((3) & 255) << 2)),
{&DAE_FunctionParallelism_FP__NON__PARALLEL__desc,}};
159#define _OMC_LIT63((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT63)((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3))
160static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT64,7,3)struct { mmc_uint_t header; const void *data[7]; } _OMC_LIT_STRUCT64
= { (((7) << 10) + (((3) & 255) << 2)),
{&DAE_FunctionAttributes_FUNCTION__ATTRIBUTES__desc,_OMC_LIT61((void*)((char*)(&(_OMC_LIT_STRUCT61).header) + 3)),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_LIT62((void*)((char*)(&(_OMC_LIT_STRUCT62).header) + 3)),_OMC_LIT63((void*)((char*)(&(_OMC_LIT_STRUCT63).header) + 3))}};
161#define _OMC_LIT64((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT64)((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3))
162static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT65,1,1)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT65
= { (((1) << 10) + (((1) & 255) << 2)),
{MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0)))}};
163#define _OMC_LIT65((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT65)((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3))
164static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT66,1,1)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT66
= { (((1) << 10) + (((1) & 255) << 2)),
{MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0)))}};
165#define _OMC_LIT66((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT66)((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3))
166static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT67,12,3)struct { mmc_uint_t header; const void *data[12]; } _OMC_LIT_STRUCT67
= { (((12) << 10) + (((3) & 255) << 2)),
{&NFFunction_Function_FUNCTION__desc,_OMC_LIT48((void*)((char*)(&(_OMC_LIT_STRUCT48).header) + 3)),_OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)),_OMC_LIT60((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3)),_OMC_LIT60((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),_OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3)),_OMC_LIT64((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),_OMC_LIT65((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3)),_OMC_LIT66((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3))}};
167#define _OMC_LIT67((void*)((char*)(&(_OMC_LIT_STRUCT67).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT67)((void*)((char*)(&(_OMC_LIT_STRUCT67).header) + 3))
168#define _OMC_LIT68_data"integer" "integer"
169static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT68,7,_OMC_LIT68_data)struct { mmc_uint_t header; const char data[(7)+1]; } _OMC_LIT_STRUCT68
= { ((((mmc_uint_t)7)<<(3))+((1<<(3+3))+5)), "integer"
}
;
170#define _OMC_LIT68((void*)((char*)(&(_OMC_LIT_STRUCT68).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT68)((void*)((char*)(&(_OMC_LIT_STRUCT68).header) + 3))
171static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT69,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT69
= { (((2) << 10) + (((4) & 255) << 2)),
{&Absyn_Path_IDENT__desc,_OMC_LIT68((void*)((char*)(&(_OMC_LIT_STRUCT68).header) + 3))}};
172#define _OMC_LIT69((void*)((char*)(&(_OMC_LIT_STRUCT69).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT69)((void*)((char*)(&(_OMC_LIT_STRUCT69).header) + 3))
173#define _OMC_LIT70_data"i" "i"
174static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT70,1,_OMC_LIT70_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT70
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "i"
}
;
175#define _OMC_LIT70((void*)((char*)(&(_OMC_LIT_STRUCT70).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT70)((void*)((char*)(&(_OMC_LIT_STRUCT70).header) + 3))
176static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT71,9,5)struct { mmc_uint_t header; const void *data[9]; } _OMC_LIT_STRUCT71
= { (((9) << 10) + (((5) & 255) << 2)),
{&NFComponent_Component_TYPED__COMPONENT__desc,_OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)),_OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)),_OMC_LIT53((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3)),_OMC_LIT53((void*)((char*)(&(_OMC_LIT_STRUCT53).header) + 3)),_OMC_LIT55((void*)((char*)(&(_OMC_LIT_STRUCT55).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),MMC_REFSTRUCTLIT(mmc_none)((void*)((char*)(&(mmc_none).header) + 3)),_OMC_LIT52((void*)((char*)(&(_OMC_LIT_STRUCT52).header) + 3))}};
177#define _OMC_LIT71((void*)((char*)(&(_OMC_LIT_STRUCT71).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT71)((void*)((char*)(&(_OMC_LIT_STRUCT71).header) + 3))
178static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT72,1,1)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT72
= { (((1) << 10) + (((1) & 255) << 2)),
{_OMC_LIT71((void*)((char*)(&(_OMC_LIT_STRUCT71).header) + 3))}};
179#define _OMC_LIT72((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT72)((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3))
180static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT73,6,4)struct { mmc_uint_t header; const void *data[6]; } _OMC_LIT_STRUCT73
= { (((6) << 10) + (((4) & 255) << 2)),
{&NFInstNode_InstNode_COMPONENT__NODE__desc,_OMC_LIT70((void*)((char*)(&(_OMC_LIT_STRUCT70).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(1))((void*)(((((mmc_uint_t) (1)) << 1)+0))),_OMC_LIT72((void*)((char*)(&(_OMC_LIT_STRUCT72).header) + 3)),_OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)),_OMC_LIT58((void*)((char*)(&(_OMC_LIT_STRUCT58).header) + 3))}};
181#define _OMC_LIT73((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT73)((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3))
182static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT74,2,1)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT74
= { (((2) << 10) + (((1) & 255) << 2)),
{_OMC_LIT73((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
183#define _OMC_LIT74((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT74)((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3))
184static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT75,12,3)struct { mmc_uint_t header; const void *data[12]; } _OMC_LIT_STRUCT75
= { (((12) << 10) + (((3) & 255) << 2)),
{&NFFunction_Function_FUNCTION__desc,_OMC_LIT69((void*)((char*)(&(_OMC_LIT_STRUCT69).header) + 3)),_OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)),_OMC_LIT60((void*)((char*)(&(_OMC_LIT_STRUCT60).header) + 3)),_OMC_LIT74((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),_OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)),_OMC_LIT64((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),_OMC_LIT65((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3)),_OMC_LIT66((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3))}};
185#define _OMC_LIT75((void*)((char*)(&(_OMC_LIT_STRUCT75).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT75)((void*)((char*)(&(_OMC_LIT_STRUCT75).header) + 3))
186#define _OMC_LIT76_data"div" "div"
187static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT76,3,_OMC_LIT76_data)struct { mmc_uint_t header; const char data[(3)+1]; } _OMC_LIT_STRUCT76
= { ((((mmc_uint_t)3)<<(3))+((1<<(3+3))+5)), "div"
}
;
188#define _OMC_LIT76((void*)((char*)(&(_OMC_LIT_STRUCT76).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT76)((void*)((char*)(&(_OMC_LIT_STRUCT76).header) + 3))
189static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT77,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT77
= { (((2) << 10) + (((4) & 255) << 2)),
{&Absyn_Path_IDENT__desc,_OMC_LIT76((void*)((char*)(&(_OMC_LIT_STRUCT76).header) + 3))}};
190#define _OMC_LIT77((void*)((char*)(&(_OMC_LIT_STRUCT77).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT77)((void*)((char*)(&(_OMC_LIT_STRUCT77).header) + 3))
191static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT78,2,1)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT78
= { (((2) << 10) + (((1) & 255) << 2)),
{_OMC_LIT73((void*)((char*)(&(_OMC_LIT_STRUCT73).header) + 3)),_OMC_LIT74((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3))}};
192#define _OMC_LIT78((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT78)((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3))
193static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT79,12,3)struct { mmc_uint_t header; const void *data[12]; } _OMC_LIT_STRUCT79
= { (((12) << 10) + (((3) & 255) << 2)),
{&NFFunction_Function_FUNCTION__desc,_OMC_LIT77((void*)((char*)(&(_OMC_LIT_STRUCT77).header) + 3)),_OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)),_OMC_LIT78((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3)),_OMC_LIT74((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),_OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)),_OMC_LIT64((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),_OMC_LIT65((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3)),_OMC_LIT66((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3))}};
194#define _OMC_LIT79((void*)((char*)(&(_OMC_LIT_STRUCT79).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT79)((void*)((char*)(&(_OMC_LIT_STRUCT79).header) + 3))
195static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT80,2,4)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT80
= { (((2) << 10) + (((4) & 255) << 2)),
{&Absyn_Path_IDENT__desc,_OMC_LIT16((void*)((char*)(&(_OMC_LIT_STRUCT16).header) + 3))}};
196#define _OMC_LIT80((void*)((char*)(&(_OMC_LIT_STRUCT80).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT80)((void*)((char*)(&(_OMC_LIT_STRUCT80).header) + 3))
197static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT81,12,3)struct { mmc_uint_t header; const void *data[12]; } _OMC_LIT_STRUCT81
= { (((12) << 10) + (((3) & 255) << 2)),
{&NFFunction_Function_FUNCTION__desc,_OMC_LIT80((void*)((char*)(&(_OMC_LIT_STRUCT80).header) + 3)),_OMC_LIT49((void*)((char*)(&(_OMC_LIT_STRUCT49).header) + 3)),_OMC_LIT78((void*)((char*)(&(_OMC_LIT_STRUCT78).header) + 3)),_OMC_LIT74((void*)((char*)(&(_OMC_LIT_STRUCT74).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),_OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3)),_OMC_LIT64((void*)((char*)(&(_OMC_LIT_STRUCT64).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)),_OMC_LIT65((void*)((char*)(&(_OMC_LIT_STRUCT65).header) + 3)),_OMC_LIT66((void*)((char*)(&(_OMC_LIT_STRUCT66).header) + 3))}};
198#define _OMC_LIT81((void*)((char*)(&(_OMC_LIT_STRUCT81).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT81)((void*)((char*)(&(_OMC_LIT_STRUCT81).header) + 3))
199#define _OMC_LIT82_data"Range of type %s may not specify a step size." "Range of type %s may not specify a step size."
200static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT82,45,_OMC_LIT82_data)struct { mmc_uint_t header; const char data[(45)+1]; } _OMC_LIT_STRUCT82
= { ((((mmc_uint_t)45)<<(3))+((1<<(3+3))+5)), "Range of type %s may not specify a step size."
}
;
201#define _OMC_LIT82((void*)((char*)(&(_OMC_LIT_STRUCT82).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT82)((void*)((char*)(&(_OMC_LIT_STRUCT82).header) + 3))
202static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT83,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT83
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT82((void*)((char*)(&(_OMC_LIT_STRUCT82).header) + 3))}};
203#define _OMC_LIT83((void*)((char*)(&(_OMC_LIT_STRUCT83).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT83)((void*)((char*)(&(_OMC_LIT_STRUCT83).header) + 3))
204static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT84,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT84
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(297))((void*)(((((mmc_uint_t) (297)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT83((void*)((char*)(&(_OMC_LIT_STRUCT83).header) + 3))}};
205#define _OMC_LIT84((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT84)((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3))
206#define _OMC_LIT85_data"Range has invalid type %s." "Range has invalid type %s."
207static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT85,26,_OMC_LIT85_data)struct { mmc_uint_t header; const char data[(26)+1]; } _OMC_LIT_STRUCT85
= { ((((mmc_uint_t)26)<<(3))+((1<<(3+3))+5)), "Range has invalid type %s."
}
;
208#define _OMC_LIT85((void*)((char*)(&(_OMC_LIT_STRUCT85).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT85)((void*)((char*)(&(_OMC_LIT_STRUCT85).header) + 3))
209static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT86,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT86
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT85((void*)((char*)(&(_OMC_LIT_STRUCT85).header) + 3))}};
210#define _OMC_LIT86((void*)((char*)(&(_OMC_LIT_STRUCT86).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT86)((void*)((char*)(&(_OMC_LIT_STRUCT86).header) + 3))
211static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT87,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT87
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(298))((void*)(((((mmc_uint_t) (298)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT86((void*)((char*)(&(_OMC_LIT_STRUCT86).header) + 3))}};
212#define _OMC_LIT87((void*)((char*)(&(_OMC_LIT_STRUCT87).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT87)((void*)((char*)(&(_OMC_LIT_STRUCT87).header) + 3))
213static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT88,1,13)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT88
= { (((1) << 10) + (((13) & 255) << 2)),
{&NFType_UNKNOWN__desc,}};
214#define _OMC_LIT88((void*)((char*)(&(_OMC_LIT_STRUCT88).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT88)((void*)((char*)(&(_OMC_LIT_STRUCT88).header) + 3))
215#define _OMC_LIT89_data"Allowing casting of boolean expression: " "Allowing casting of boolean expression: "
216static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT89,40,_OMC_LIT89_data)struct { mmc_uint_t header; const char data[(40)+1]; } _OMC_LIT_STRUCT89
= { ((((mmc_uint_t)40)<<(3))+((1<<(3+3))+5)), "Allowing casting of boolean expression: "
}
;
217#define _OMC_LIT89((void*)((char*)(&(_OMC_LIT_STRUCT89).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT89)((void*)((char*)(&(_OMC_LIT_STRUCT89).header) + 3))
218#define _OMC_LIT90_data" to Real." " to Real."
219static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT90,9,_OMC_LIT90_data)struct { mmc_uint_t header; const char data[(9)+1]; } _OMC_LIT_STRUCT90
= { ((((mmc_uint_t)9)<<(3))+((1<<(3+3))+5)), " to Real."
}
;
220#define _OMC_LIT90((void*)((char*)(&(_OMC_LIT_STRUCT90).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT90)((void*)((char*)(&(_OMC_LIT_STRUCT90).header) + 3))
221#define _OMC_LIT91_data"nfAPI" "nfAPI"
222static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT91,5,_OMC_LIT91_data)struct { mmc_uint_t header; const char data[(5)+1]; } _OMC_LIT_STRUCT91
= { ((((mmc_uint_t)5)<<(3))+((1<<(3+3))+5)), "nfAPI"
}
;
223#define _OMC_LIT91((void*)((char*)(&(_OMC_LIT_STRUCT91).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT91)((void*)((char*)(&(_OMC_LIT_STRUCT91).header) + 3))
224#define _OMC_LIT92_data"Enables experimental new instantiation use in the OMC API." "Enables experimental new instantiation use in the OMC API."
225static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT92,58,_OMC_LIT92_data)struct { mmc_uint_t header; const char data[(58)+1]; } _OMC_LIT_STRUCT92
= { ((((mmc_uint_t)58)<<(3))+((1<<(3+3))+5)), "Enables experimental new instantiation use in the OMC API."
}
;
226#define _OMC_LIT92((void*)((char*)(&(_OMC_LIT_STRUCT92).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT92)((void*)((char*)(&(_OMC_LIT_STRUCT92).header) + 3))
227static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT93,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT93
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT92((void*)((char*)(&(_OMC_LIT_STRUCT92).header) + 3))}};
228#define _OMC_LIT93((void*)((char*)(&(_OMC_LIT_STRUCT93).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT93)((void*)((char*)(&(_OMC_LIT_STRUCT93).header) + 3))
229static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT94,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT94
= { (((5) << 10) + (((3) & 255) << 2)),
{&Flags_DebugFlag_DEBUG__FLAG__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(183))((void*)(((((mmc_uint_t) (183)) << 1)+0))),_OMC_LIT91((void*)((char*)(&(_OMC_LIT_STRUCT91).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),_OMC_LIT93((void*)((char*)(&(_OMC_LIT_STRUCT93).header) + 3))}};
230#define _OMC_LIT94((void*)((char*)(&(_OMC_LIT_STRUCT94).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT94)((void*)((char*)(&(_OMC_LIT_STRUCT94).header) + 3))
231#define _OMC_LIT95_data"NFTypeCheck.matchTypes got unknown type." "NFTypeCheck.matchTypes got unknown type."
232static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT95,40,_OMC_LIT95_data)struct { mmc_uint_t header; const char data[(40)+1]; } _OMC_LIT_STRUCT95
= { ((((mmc_uint_t)40)<<(3))+((1<<(3+3))+5)), "NFTypeCheck.matchTypes got unknown type."
}
;
233#define _OMC_LIT95((void*)((char*)(&(_OMC_LIT_STRUCT95).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT95)((void*)((char*)(&(_OMC_LIT_STRUCT95).header) + 3))
234static const MMC_DEFREALLIT(_OMC_LIT_STRUCT96_6,1580577680.0)struct mmc_real_lit _OMC_LIT_STRUCT96_6 = {0,(((8/8) <<
10) + 9),1580577680.0}
;
235#define _OMC_LIT96_6((void*)((char*)(&(_OMC_LIT_STRUCT96_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT96_6)((void*)((char*)(&(_OMC_LIT_STRUCT96_6).header) + 3))
236static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT96,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT96
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT34((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(2138))((void*)(((((mmc_uint_t) (2138)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(2138))((void*)(((((mmc_uint_t) (2138)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(87))((void*)(((((mmc_uint_t) (87)) << 1)+0))),_OMC_LIT96_6((void*)((char*)(&(_OMC_LIT_STRUCT96_6).header) + 3))}};
237#define _OMC_LIT96((void*)((char*)(&(_OMC_LIT_STRUCT96).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT96)((void*)((char*)(&(_OMC_LIT_STRUCT96).header) + 3))
238#define _OMC_LIT97_data"NFTypeCheck.matchExpressions got unknown type." "NFTypeCheck.matchExpressions got unknown type."
239static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT97,46,_OMC_LIT97_data)struct { mmc_uint_t header; const char data[(46)+1]; } _OMC_LIT_STRUCT97
= { ((((mmc_uint_t)46)<<(3))+((1<<(3+3))+5)), "NFTypeCheck.matchExpressions got unknown type."
}
;
240#define _OMC_LIT97((void*)((char*)(&(_OMC_LIT_STRUCT97).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT97)((void*)((char*)(&(_OMC_LIT_STRUCT97).header) + 3))
241static const MMC_DEFREALLIT(_OMC_LIT_STRUCT98_6,1580577680.0)struct mmc_real_lit _OMC_LIT_STRUCT98_6 = {0,(((8/8) <<
10) + 9),1580577680.0}
;
242#define _OMC_LIT98_6((void*)((char*)(&(_OMC_LIT_STRUCT98_6).header) + 3)) MMC_REFREALLIT(_OMC_LIT_STRUCT98_6)((void*)((char*)(&(_OMC_LIT_STRUCT98_6).header) + 3))
243static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT98,8,3)struct { mmc_uint_t header; const void *data[8]; } _OMC_LIT_STRUCT98
= { (((8) << 10) + (((3) & 255) << 2)),
{&SourceInfo_SOURCEINFO__desc,_OMC_LIT34((void*)((char*)(&(_OMC_LIT_STRUCT34).header) + 3)),MMC_IMMEDIATE(MMC_TAGFIXNUM(0))((void*)(((((mmc_uint_t) (0)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(2043))((void*)(((((mmc_uint_t) (2043)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(2043))((void*)(((((mmc_uint_t) (2043)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(87))((void*)(((((mmc_uint_t) (87)) << 1)+0))),_OMC_LIT98_6((void*)((char*)(&(_OMC_LIT_STRUCT98_6).header) + 3))}};
244#define _OMC_LIT98((void*)((char*)(&(_OMC_LIT_STRUCT98).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT98)((void*)((char*)(&(_OMC_LIT_STRUCT98).header) + 3))
245#define _OMC_LIT99_data", " ", "
246static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT99,2,_OMC_LIT99_data)struct { mmc_uint_t header; const char data[(2)+1]; } _OMC_LIT_STRUCT99
= { ((((mmc_uint_t)2)<<(3))+((1<<(3+3))+5)), ", "
}
;
247#define _OMC_LIT99((void*)((char*)(&(_OMC_LIT_STRUCT99).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT99)((void*)((char*)(&(_OMC_LIT_STRUCT99).header) + 3))
248#define _OMC_LIT100_data"Cannot resolve type of expression %s. The operands have types %s in component %s." "Cannot resolve type of expression %s. The operands have types %s in component %s."
249static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT100,81,_OMC_LIT100_data)struct { mmc_uint_t header; const char data[(81)+1]; } _OMC_LIT_STRUCT100
= { ((((mmc_uint_t)81)<<(3))+((1<<(3+3))+5)), "Cannot resolve type of expression %s. The operands have types %s in component %s."
}
;
250#define _OMC_LIT100((void*)((char*)(&(_OMC_LIT_STRUCT100).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT100)((void*)((char*)(&(_OMC_LIT_STRUCT100).header) + 3))
251static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT101,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT101
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT100((void*)((char*)(&(_OMC_LIT_STRUCT100).header) + 3))}};
252#define _OMC_LIT101((void*)((char*)(&(_OMC_LIT_STRUCT101).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT101)((void*)((char*)(&(_OMC_LIT_STRUCT101).header) + 3))
253static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT102,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT102
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(84))((void*)(((((mmc_uint_t) (84)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT101((void*)((char*)(&(_OMC_LIT_STRUCT101).header) + 3))}};
254#define _OMC_LIT102((void*)((char*)(&(_OMC_LIT_STRUCT102).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT102)((void*)((char*)(&(_OMC_LIT_STRUCT102).header) + 3))
255#define _OMC_LIT103_data"<NO_COMPONENT>" "<NO_COMPONENT>"
256static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT103,14,_OMC_LIT103_data)struct { mmc_uint_t header; const char data[(14)+1]; } _OMC_LIT_STRUCT103
= { ((((mmc_uint_t)14)<<(3))+((1<<(3+3))+5)), "<NO_COMPONENT>"
}
;
257#define _OMC_LIT103((void*)((char*)(&(_OMC_LIT_STRUCT103).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT103)((void*)((char*)(&(_OMC_LIT_STRUCT103).header) + 3))
258static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT104,1,5)struct { mmc_uint_t header; const void *data[1]; } _OMC_LIT_STRUCT104
= { (((1) << 10) + (((5) & 255) << 2)),
{&ErrorTypes_Severity_WARNING__desc,}};
259#define _OMC_LIT104((void*)((char*)(&(_OMC_LIT_STRUCT104).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT104)((void*)((char*)(&(_OMC_LIT_STRUCT104).header) + 3))
260#define _OMC_LIT105_data"In relation %s, %s on Real numbers is only allowed inside functions." "In relation %s, %s on Real numbers is only allowed inside functions."
261static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT105,68,_OMC_LIT105_data)struct { mmc_uint_t header; const char data[(68)+1]; } _OMC_LIT_STRUCT105
= { ((((mmc_uint_t)68)<<(3))+((1<<(3+3))+5)), "In relation %s, %s on Real numbers is only allowed inside functions."
}
;
262#define _OMC_LIT105((void*)((char*)(&(_OMC_LIT_STRUCT105).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT105)((void*)((char*)(&(_OMC_LIT_STRUCT105).header) + 3))
263static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT106,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT106
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT105((void*)((char*)(&(_OMC_LIT_STRUCT105).header) + 3))}};
264#define _OMC_LIT106((void*)((char*)(&(_OMC_LIT_STRUCT106).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT106)((void*)((char*)(&(_OMC_LIT_STRUCT106).header) + 3))
265static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT107,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT107
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(509))((void*)(((((mmc_uint_t) (509)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT104((void*)((char*)(&(_OMC_LIT_STRUCT104).header) + 3)),_OMC_LIT106((void*)((char*)(&(_OMC_LIT_STRUCT106).header) + 3))}};
266#define _OMC_LIT107((void*)((char*)(&(_OMC_LIT_STRUCT107).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT107)((void*)((char*)(&(_OMC_LIT_STRUCT107).header) + 3))
267#define _OMC_LIT108_data"'" "'"
268static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT108,1,_OMC_LIT108_data)struct { mmc_uint_t header; const char data[(1)+1]; } _OMC_LIT_STRUCT108
= { ((((mmc_uint_t)1)<<(3))+((1<<(3+3))+5)), "'"
}
;
269#define _OMC_LIT108((void*)((char*)(&(_OMC_LIT_STRUCT108).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT108)((void*)((char*)(&(_OMC_LIT_STRUCT108).header) + 3))
270#define _OMC_LIT109_data"Ambiguous matching overloaded operator functions found for %s.\nCandidates are:\n %s" "Ambiguous matching overloaded operator functions found for %s.\nCandidates are:\n %s"
271static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT109,83,_OMC_LIT109_data)struct { mmc_uint_t header; const char data[(83)+1]; } _OMC_LIT_STRUCT109
= { ((((mmc_uint_t)83)<<(3))+((1<<(3+3))+5)), "Ambiguous matching overloaded operator functions found for %s.\nCandidates are:\n %s"
}
;
272#define _OMC_LIT109((void*)((char*)(&(_OMC_LIT_STRUCT109).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT109)((void*)((char*)(&(_OMC_LIT_STRUCT109).header) + 3))
273static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT110,2,3)struct { mmc_uint_t header; const void *data[2]; } _OMC_LIT_STRUCT110
= { (((2) << 10) + (((3) & 255) << 2)),
{&Gettext_TranslatableContent_gettext__desc,_OMC_LIT109((void*)((char*)(&(_OMC_LIT_STRUCT109).header) + 3))}};
274#define _OMC_LIT110((void*)((char*)(&(_OMC_LIT_STRUCT110).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT110)((void*)((char*)(&(_OMC_LIT_STRUCT110).header) + 3))
275static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT111,5,3)struct { mmc_uint_t header; const void *data[5]; } _OMC_LIT_STRUCT111
= { (((5) << 10) + (((3) & 255) << 2)),
{&ErrorTypes_Message_MESSAGE__desc,MMC_IMMEDIATE(MMC_TAGFIXNUM(324))((void*)(((((mmc_uint_t) (324)) << 1)+0))),_OMC_LIT0((void*)((char*)(&(_OMC_LIT_STRUCT0).header) + 3)),_OMC_LIT1((void*)((char*)(&(_OMC_LIT_STRUCT1).header) + 3)),_OMC_LIT110((void*)((char*)(&(_OMC_LIT_STRUCT110).header) + 3))}};
276#define _OMC_LIT111((void*)((char*)(&(_OMC_LIT_STRUCT111).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT111)((void*)((char*)(&(_OMC_LIT_STRUCT111).header) + 3))
277#define _OMC_LIT112_data"'constructor'" "'constructor'"
278static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT112,13,_OMC_LIT112_data)struct { mmc_uint_t header; const char data[(13)+1]; } _OMC_LIT_STRUCT112
= { ((((mmc_uint_t)13)<<(3))+((1<<(3+3))+5)), "'constructor'"
}
;
279#define _OMC_LIT112((void*)((char*)(&(_OMC_LIT_STRUCT112).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT112)((void*)((char*)(&(_OMC_LIT_STRUCT112).header) + 3))
280static const MMC_DEFSTRUCTLIT(_OMC_LIT_STRUCT113,3,5)struct { mmc_uint_t header; const void *data[3]; } _OMC_LIT_STRUCT113
= { (((3) << 10) + (((5) & 255) << 2)),
{&Absyn_ComponentRef_CREF__IDENT__desc,_OMC_LIT112((void*)((char*)(&(_OMC_LIT_STRUCT112).header) + 3)),MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))}};
281#define _OMC_LIT113((void*)((char*)(&(_OMC_LIT_STRUCT113).header) + 3)) MMC_REFSTRUCTLIT(_OMC_LIT_STRUCT113)((void*)((char*)(&(_OMC_LIT_STRUCT113).header) + 3))
282#define _OMC_LIT114_data"NFTypeCheck:implicitConstruction" "NFTypeCheck:implicitConstruction"
283static const MMC_DEFSTRINGLIT(_OMC_LIT_STRUCT114,32,_OMC_LIT114_data)struct { mmc_uint_t header; const char data[(32)+1]; } _OMC_LIT_STRUCT114
= { ((((mmc_uint_t)32)<<(3))+((1<<(3+3))+5)), "NFTypeCheck:implicitConstruction"
}
;
284#define _OMC_LIT114((void*)((char*)(&(_OMC_LIT_STRUCT114).header) + 3)) MMC_REFSTRINGLIT(_OMC_LIT_STRUCT114)((void*)((char*)(&(_OMC_LIT_STRUCT114).header) + 3))
285#include "util/modelica.h"
286
287#include "NFTypeCheck_includes.h"
288
289
290
291DLLExport
292modelica_boolean omc_NFTypeCheck_checkSumComplexType(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _exp, modelica_metatype _info)
293{
294 modelica_boolean _valid;
295 modelica_metatype _cls_node = NULL((void*)0);
296 modelica_metatype _op_node = NULL((void*)0);
297 modelica_metatype _cls = NULL((void*)0);
298 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
299 MMC_SO()mmc_check_stackoverflow(threadData);
300 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
301 _valid = 1;
302 // _cls_node has no default value.
303 // _op_node has no default value.
304 // _cls has no default value.
305#line 3158 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
306 /* Pattern-matching assignment */
307#line 3158 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
308 tmpMeta[0] = _ty;
309#line 3158 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
310 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],11,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((11 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
311#line 3158 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
312 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
313#line 3158 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
314 _cls_node = tmpMeta[1];
315#line 315 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
316
317#line 3159 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
318 _cls = omc_NFInstNode_InstNode_getClass(threadData, _cls_node);
319#line 319 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
320
321#line 3161 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
322 {
323#line 3161 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
324 modelica_metatype _op;
325#line 3161 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
326 for (tmpMeta[0] = _OMC_LIT9((void*)((char*)(&(_OMC_LIT_STRUCT9).header) + 3)); !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)))))
)
327#line 3161 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
328 {
329#line 3161 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
330 _op = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
331#line 3162 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
332 if((!omc_NFClass_Class_hasOperator(threadData, _op, _cls)))
333#line 3162 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
334 {
335#line 3163 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
336 tmpMeta[1] = mmc_mk_cons(omc_NFType_toString(threadData, _ty), mmc_mk_cons(omc_NFExpression_toString(threadData, _exp), mmc_mk_cons(_OMC_LIT5((void*)((char*)(&(_OMC_LIT_STRUCT5).header) + 3)), mmc_mk_cons(_op, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))))));
337#line 3163 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
338 omc_Error_addSourceMessage(threadData, _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)), tmpMeta[1], _info);
339#line 339 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
340
341#line 3165 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
342 _valid = 0;
343#line 343 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
344 }
345 }
346 }
347 _return: OMC_LABEL_UNUSED__attribute__((unused))
348 return _valid;
349}
350modelica_metatype boxptr_NFTypeCheck_checkSumComplexType(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _exp, modelica_metatype _info)
351{
352 modelica_boolean _valid;
353 modelica_metatype out_valid;
354 _valid = omc_NFTypeCheck_checkSumComplexType(threadData, _ty, _exp, _info);
355 out_valid = mmc_mk_icon(_valid);
356 return out_valid;
357}
358
359DLLExport
360void omc_NFTypeCheck_checkReductionType(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _name, modelica_metatype _exp, modelica_metatype _info)
361{
362 modelica_metatype _ety = NULL((void*)0);
363 modelica_string _err = NULL((void*)0);
364 modelica_string tmp1 = 0;
365 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
366 MMC_SO()mmc_check_stackoverflow(threadData);
367 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
368 // _ety has no default value.
369 // _err has no default value.
370#line 370 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
371 { /* match expression */
372 modelica_metatype tmp4_1;
373 tmp4_1 = _name;
374 {
375 volatile mmc_switch_type tmp4;
376 int tmp5;
377 tmp4 = 0;
378 for (; tmp4 < 5; tmp4++) {
379 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
380 case 0: {
381 modelica_string tmp6 = 0;
382 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
383 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
384 if (3 != MMC_STRLEN(tmpMeta[0])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))) >>
(3)) - 8))
|| strcmp(MMC_STRINGDATA(_OMC_LIT5)(((struct mmc_string*)((void*)((char*)(((void*)((char*)(&
(_OMC_LIT_STRUCT5).header) + 3))) - 3)))->data)
, MMC_STRINGDATA(tmpMeta[0])(((struct mmc_string*)((void*)((char*)(tmpMeta[0]) - 3)))->
data)
) != 0) goto tmp3_end;
385 /* Pattern matching succeeded */
386#line 386 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
387 { /* match expression */
388 modelica_metatype tmp9_1;
389 tmp9_1 = omc_NFType_arrayElementType(threadData, _ty);
390 {
391 volatile mmc_switch_type tmp9;
392 int tmp10;
393 tmp9 = 0;
394 for (; tmp9 < 4; tmp9++) {
395 switch (MMC_SWITCH_CAST(tmp9)(tmp9)) {
396 case 0: {
397 if (mmc__uniontype__metarecord__typedef__equal(tmp9_1,0,0)((*(mmc_uint_t*)((void*)((char*)(tmp9_1) - 3)))==(((0 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp8_end;
398 /* Pattern matching succeeded */
399#line 3106 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
400 tmp6 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
401#line 401 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
402 goto tmp8_done;
403 }
404 case 1: {
405 if (mmc__uniontype__metarecord__typedef__equal(tmp9_1,1,0)((*(mmc_uint_t*)((void*)((char*)(tmp9_1) - 3)))==(((0 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp8_end;
406 /* Pattern matching succeeded */
407#line 3107 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
408 tmp6 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
409#line 409 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
410 goto tmp8_done;
411 }
412 case 2: {
413 if (mmc__uniontype__metarecord__typedef__equal(tmp9_1,11,2)((*(mmc_uint_t*)((void*)((char*)(tmp9_1) - 3)))==(((2 +1) <<
10) + (((11 +3) & 255) << 2)))
== 0) goto tmp8_end;
414
415 /* Pattern matching succeeded */
416 /* Check guard condition after assignments */
417 if (!omc_NFTypeCheck_checkSumComplexType(threadData, _ty, _exp, _info)) goto tmp8_end;
418#line 3108 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
419 tmp6 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
420#line 420 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
421 goto tmp8_done;
422 }
423 case 3: {
424
425 /* Pattern matching succeeded */
426#line 3109 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
427 tmp6 = _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3));
428#line 428 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
429 goto tmp8_done;
430 }
431 }
432 goto tmp8_end;
433 tmp8_end: ;
434 }
435 goto goto_7;
436 goto_7:;
437 goto goto_2;
438 goto tmp8_done;
439 tmp8_done:;
440 }
441 }tmp1 = tmp6;
442 goto tmp3_done;
443 }
444 case 1: {
445 modelica_string tmp11 = 0;
446 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
447 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
448 if (7 != MMC_STRLEN(tmpMeta[0])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 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[0])(((struct mmc_string*)((void*)((char*)(tmpMeta[0]) - 3)))->
data)
) != 0) goto tmp3_end;
449 /* Pattern matching succeeded */
450#line 450 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
451 { /* match expression */
452 modelica_metatype tmp14_1;
453 tmp14_1 = _ty;
454 {
455 int tmp14;
456 {
457 switch (MMC_SWITCH_CAST(valueConstructor(tmp14_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp14_1) - 3)))) >>
2) & 255))
) {
458 case 3: {
459
460 /* Pattern matching succeeded */
461#line 3115 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
462 tmp11 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
463#line 463 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
464 goto tmp13_done;
465 }
466 case 4: {
467
468 /* Pattern matching succeeded */
469#line 3116 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
470 tmp11 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
471#line 471 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
472 goto tmp13_done;
473 }
474 default:
475 tmp13_default: OMC_LABEL_UNUSED__attribute__((unused)); {
476
477 /* Pattern matching succeeded */
478#line 3117 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
479 tmp11 = _OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3));
480#line 480 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
481 goto tmp13_done;
482 }
483 }
484 goto tmp13_end;
485 tmp13_end: ;
486 }
487 goto goto_12;
488 goto_12:;
489 goto goto_2;
490 goto tmp13_done;
491 tmp13_done:;
492 }
493 }tmp1 = tmp11;
494 goto tmp3_done;
495 }
496 case 2: {
497 modelica_string tmp15 = 0;
498 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
499 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
500 if (3 != MMC_STRLEN(tmpMeta[0])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 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[0])(((struct mmc_string*)((void*)((char*)(tmpMeta[0]) - 3)))->
data)
) != 0) goto tmp3_end;
501 /* Pattern matching succeeded */
502#line 502 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
503 { /* match expression */
504 modelica_metatype tmp18_1;
505 tmp18_1 = _ty;
506 {
507 int tmp18;
508 {
509 switch (MMC_SWITCH_CAST(valueConstructor(tmp18_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp18_1) - 3)))) >>
2) & 255))
) {
510 case 3: {
511
512 /* Pattern matching succeeded */
513#line 3123 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
514 tmp15 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
515#line 515 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
516 goto tmp17_done;
517 }
518 case 4: {
519
520 /* Pattern matching succeeded */
521#line 3124 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
522 tmp15 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
523#line 523 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
524 goto tmp17_done;
525 }
526 case 6: {
527
528 /* Pattern matching succeeded */
529#line 3125 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
530 tmp15 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
531#line 531 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
532 goto tmp17_done;
533 }
534 case 8: {
535
536 /* Pattern matching succeeded */
537#line 3126 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
538 tmp15 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
539#line 539 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
540 goto tmp17_done;
541 }
542 default:
543 tmp17_default: OMC_LABEL_UNUSED__attribute__((unused)); {
544
545 /* Pattern matching succeeded */
546#line 3127 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
547 tmp15 = _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3));
548#line 548 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
549 goto tmp17_done;
550 }
551 }
552 goto tmp17_end;
553 tmp17_end: ;
554 }
555 goto goto_16;
556 goto_16:;
557 goto goto_2;
558 goto tmp17_done;
559 tmp17_done:;
560 }
561 }tmp1 = tmp15;
562 goto tmp3_done;
563 }
564 case 3: {
565 modelica_string tmp19 = 0;
566 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
567 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
568 if (3 != MMC_STRLEN(tmpMeta[0])(((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 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[0])(((struct mmc_string*)((void*)((char*)(tmpMeta[0]) - 3)))->
data)
) != 0) goto tmp3_end;
569 /* Pattern matching succeeded */
570#line 570 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
571 { /* match expression */
572 modelica_metatype tmp22_1;
573 tmp22_1 = _ty;
574 {
575 int tmp22;
576 {
577 switch (MMC_SWITCH_CAST(valueConstructor(tmp22_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp22_1) - 3)))) >>
2) & 255))
) {
578 case 3: {
579
580 /* Pattern matching succeeded */
581#line 3133 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
582 tmp19 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
583#line 583 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
584 goto tmp21_done;
585 }
586 case 4: {
587
588 /* Pattern matching succeeded */
589#line 3134 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
590 tmp19 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
591#line 591 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
592 goto tmp21_done;
593 }
594 case 6: {
595
596 /* Pattern matching succeeded */
597#line 3135 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
598 tmp19 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
599#line 599 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
600 goto tmp21_done;
601 }
602 case 8: {
603
604 /* Pattern matching succeeded */
605#line 3136 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
606 tmp19 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
607#line 607 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
608 goto tmp21_done;
609 }
610 default:
611 tmp21_default: OMC_LABEL_UNUSED__attribute__((unused)); {
612
613 /* Pattern matching succeeded */
614#line 3137 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
615 tmp19 = _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3));
616#line 616 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
617 goto tmp21_done;
618 }
619 }
620 goto tmp21_end;
621 tmp21_end: ;
622 }
623 goto goto_20;
624 goto_20:;
625 goto goto_2;
626 goto tmp21_done;
627 tmp21_done:;
628 }
629 }tmp1 = tmp19;
630 goto tmp3_done;
631 }
632 case 4: {
633
634 /* Pattern matching succeeded */
635#line 3140 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
636 tmp1 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
637#line 637 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
638 goto tmp3_done;
639 }
640 }
641 goto tmp3_end;
642 tmp3_end: ;
643 }
644 goto goto_2;
645 goto_2:;
646 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
647 goto tmp3_done;
648 tmp3_done:;
649 }
650 }
651 _err = tmp1;
652
653#line 3143 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
654 if((!(stringLength(_err)(((((*(mmc_uint_t*)((void*)((char*)(_err) - 3)))) >> (3
)) - 8))
== ((modelica_integer) 0))))
655#line 3143 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
656 {
657#line 3144 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
658 tmpMeta[0] = mmc_mk_cons(omc_NFExpression_toString(threadData, _exp), mmc_mk_cons(omc_NFType_toString(threadData, _ty), mmc_mk_cons(omc_AbsynUtil_pathString(threadData, _name, _OMC_LIT20((void*)((char*)(&(_OMC_LIT_STRUCT20).header) + 3)), 1, 0), mmc_mk_cons(_err, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))))));
659#line 3144 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
660 omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)), tmpMeta[0], _info);
661#line 661 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
662 }
663 _return: OMC_LABEL_UNUSED__attribute__((unused))
664 return;
665}
666
667DLLExport
668void omc_NFTypeCheck_checkDimensionType(threadData_t *threadData, modelica_metatype _exp, modelica_metatype _ty, modelica_metatype _info)
669{
670 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
671 MMC_SO()mmc_check_stackoverflow(threadData);
672 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
673#line 3079 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
674 if((!omc_NFType_isInteger(threadData, _ty)))
675#line 3079 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
676 {
677#line 677 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
678 { /* match expression */
679 modelica_metatype tmp3_1;
680 tmp3_1 = _exp;
681 {
682 volatile mmc_switch_type tmp3;
683 int tmp4;
684 tmp3 = 0;
685 for (; tmp3 < 3; tmp3++) {
686 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
687 case 0: {
688 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((1 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp2_end;
689 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
690 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((7 +3) & 255) << 2)))
== 0) goto tmp2_end;
691 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
692 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,0)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((0 +1)
<< 10) + (((3 +3) & 255) << 2)))
== 0) goto tmp2_end;
693
694 /* Pattern matching succeeded */
695#line 695 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
696 goto tmp2_done;
697 }
698 case 1: {
699 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((1 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp2_end;
700 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
701 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((7 +3) & 255) << 2)))
== 0) goto tmp2_end;
702 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
703 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((2 +1)
<< 10) + (((5 +3) & 255) << 2)))
== 0) goto tmp2_end;
704
705 /* Pattern matching succeeded */
706#line 706 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
707 goto tmp2_done;
708 }
709 case 2: {
710
711 /* Pattern matching succeeded */
712#line 3085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
713 tmpMeta[0] = mmc_mk_cons(omc_NFExpression_toString(threadData, _exp), mmc_mk_cons(omc_NFType_toString(threadData, _ty), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
714#line 3085 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
715 omc_Error_addSourceMessage(threadData, _OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)), tmpMeta[0], _info);
716#line 716 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
717#line 3087 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
718 goto goto_1;
719#line 719 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
720 goto tmp2_done;
721 }
722 }
723 goto tmp2_end;
724 tmp2_end: ;
725 }
726 goto goto_1;
727 goto_1:;
728 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
729 goto tmp2_done;
730 tmp2_done:;
731 }
732 }
733 ;
734 }
735 _return: OMC_LABEL_UNUSED__attribute__((unused))
736 return;
737}
738
739DLLExport
740void omc_NFTypeCheck_printBindingTypeError(threadData_t *threadData, modelica_string _name, modelica_metatype _binding, modelica_metatype _componentType, modelica_metatype _bindingType, modelica_metatype _component)
741{
742 modelica_metatype _binding_info = NULL((void*)0);
743 modelica_metatype _comp_info = NULL((void*)0);
744 modelica_string _bind_ty_str = NULL((void*)0);
745 modelica_string _comp_ty_str = NULL((void*)0);
746 modelica_integer _mk;
747 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
748 MMC_SO()mmc_check_stackoverflow(threadData);
749 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
750 // _binding_info has no default value.
751 // _comp_info has no default value.
752 // _bind_ty_str has no default value.
753 // _comp_ty_str has no default value.
754 // _mk has no default value.
755#line 3045 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
756 _binding_info = omc_NFBinding_Binding_getInfo(threadData, _binding);
757#line 757 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
758
759#line 3046 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
760 _comp_info = omc_NFInstNode_InstNode_info(threadData, _component);
761#line 761 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
762
763#line 3048 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
764 if((omc_NFType_isScalar(threadData, _bindingType) && omc_NFType_isArray(threadData, _componentType)))
765#line 3048 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
766 {
767#line 3049 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
768 tmpMeta[0] = mmc_mk_cons(omc_NFBinding_Binding_toString(threadData, _binding, _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))), mmc_mk_cons(_name, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
769#line 3049 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
770 tmpMeta[1] = mmc_mk_cons(_binding_info, mmc_mk_cons(_comp_info, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
771#line 3049 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
772 omc_Error_addMultiSourceMessage(threadData, _OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)), tmpMeta[0], tmpMeta[1]);
773#line 773 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
774 }
775 else
776 {
777#line 3052 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
778 tmpMeta[0] = mmc_mk_box2(31, &NFExpression_EMPTY__desc, _bindingType);
779#line 3052 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
780 omc_NFTypeCheck_matchTypes(threadData, omc_NFType_arrayElementType(threadData, _bindingType), omc_NFType_arrayElementType(threadData, _componentType), tmpMeta[0], 1 ,NULL((void*)0) ,&_mk);
781#line 781 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
782
783#line 3056 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
784 if((!omc_Config_getGraphicsExpMode(threadData)))
785#line 3056 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
786 {
787#line 3057 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
788 if(omc_NFTypeCheck_isValidAssignmentMatch(threadData, (modelica_integer)_mk))
789#line 3057 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
790 {
791#line 3058 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
792 tmpMeta[0] = mmc_mk_cons(_name, mmc_mk_cons(omc_NFBinding_Binding_toString(threadData, _binding, _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))), mmc_mk_cons(omc_NFDimension_toStringList(threadData, omc_NFType_arrayDims(threadData, _componentType)), mmc_mk_cons(omc_NFDimension_toStringList(threadData, omc_NFType_arrayDims(threadData, _bindingType)), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))))));
793#line 3058 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
794 tmpMeta[1] = mmc_mk_cons(_binding_info, mmc_mk_cons(_comp_info, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
795#line 3058 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
796 omc_Error_addMultiSourceMessage(threadData, _OMC_LIT29((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3)), tmpMeta[0], tmpMeta[1]);
797#line 797 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
798 }
799 else
800 {
801#line 3064 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
802 tmpMeta[0] = mmc_mk_cons(_name, mmc_mk_cons(omc_NFBinding_Binding_toString(threadData, _binding, _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))), mmc_mk_cons(omc_NFType_toString(threadData, _componentType), mmc_mk_cons(omc_NFType_toString(threadData, _bindingType), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))))));
803#line 3064 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
804 tmpMeta[1] = mmc_mk_cons(_binding_info, mmc_mk_cons(_comp_info, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
805#line 3064 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
806 omc_Error_addMultiSourceMessage(threadData, _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)), tmpMeta[0], tmpMeta[1]);
807#line 807 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
808 }
809 }
810 }
811 _return: OMC_LABEL_UNUSED__attribute__((unused))
812 return;
813}
814
815DLLExport
816modelica_metatype omc_NFTypeCheck_matchBinding(threadData_t *threadData, modelica_metatype _D_24in_binding, modelica_metatype _componentType, modelica_string _name, modelica_metatype _component)
817{
818 modelica_metatype _binding = NULL((void*)0);
819 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
820 MMC_SO()mmc_check_stackoverflow(threadData);
821 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
822 _binding = _D_24in_binding;
823#line 823 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
824 { /* match expression */
825 modelica_metatype tmp3_1;
826 tmp3_1 = _binding;
827 {
828 modelica_integer _ty_match;
829 modelica_metatype _exp = NULL((void*)0);
830 modelica_metatype _ty = NULL((void*)0);
831 modelica_metatype _exp_ty = NULL((void*)0);
832 modelica_metatype _comp_ty = NULL((void*)0);
833 modelica_metatype _dims = NULL((void*)0);
834 int tmp3;
835 // _ty_match has no default value.
836 // _exp has no default value.
837 // _ty has no default value.
838 // _exp_ty has no default value.
839 // _comp_ty has no default value.
840 // _dims has no default value.
841 {
842 switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) >> 2
) & 255))
) {
843 case 6: {
844 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,7)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((7 +1) <<
10) + (((3 +3) & 255) << 2)))
== 0) goto tmp2_end;
845 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
846
847 _exp = tmpMeta[0];
848 /* Pattern matching succeeded */
849#line 3002 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
850
851#line 3002 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
852
853#line 853 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
854 { /* match expression */
855 modelica_metatype tmp7_1;
856 tmp7_1 = _exp;
857 {
858 volatile mmc_switch_type tmp7;
859 int tmp8;
860 tmp7 = 0;
861 for (; tmp7 < 2; tmp7++) {
862 switch (MMC_SWITCH_CAST(tmp7)(tmp7)) {
863 case 0: {
864 if (mmc__uniontype__metarecord__typedef__equal(tmp7_1,31,5)((*(mmc_uint_t*)((void*)((char*)(tmp7_1) - 3)))==(((5 +1) <<
10) + (((31 +3) & 255) << 2)))
== 0) goto tmp6_end;
865
866 /* Pattern matching succeeded */
867 /* Check guard condition after assignments */
868 if (!(mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_binding), 5))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_binding) - 3))) + (5)))))))) >> 1)
== 1)) goto tmp6_end;
869#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
870 {
871#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
872 modelica_metatype _D_24tmpVar1;
873#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
874 modelica_metatype* tmp9;
875#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
876 modelica_metatype _D_24tmpVar0;
877#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
878 int tmp10;
879#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
880 modelica_metatype _p_loopVar = 0;
881#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
882 modelica_metatype _p;
883#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
884 _p_loopVar = listRest((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))))boxptr_listRest(threadData,((*(void**)(((void*)((void**)(((void
*)((char*)(_exp) - 3))) + (5)))))))
;
885#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
886 tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
887#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
888 _D_24tmpVar1 = tmpMeta[3]; /* defaultValue */
889#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
890 tmp9 = &_D_24tmpVar1;
891#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
892 while(1) {
893#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
894 tmp10 = 1;
895#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
896 if (!listEmpty(_p_loopVar)((*(mmc_uint_t*)((void*)((char*)(_p_loopVar) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) {
897#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
898 _p = MMC_CAR(_p_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_p_loopVar) - 3
))) + (1)))))
;
899#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
900 _p_loopVar = MMC_CDR(_p_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_p_loopVar) - 3
))) + (2)))))
;
901#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
902 tmp10--;
903#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
904 }
905#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
906 if (tmp10 == 0) {
907#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
908 _D_24tmpVar0 = omc_NFType_arrayDims(threadData, omc_NFInstNode_InstNode_getType(threadData, _p));
909#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
910 *tmp9 = mmc_mk_cons(_D_24tmpVar0,0);
911#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
912 tmp9 = &MMC_CDR(*tmp9)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp9) - 3))) +
(2)))))
;
913#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
914 } else if (tmp10 == 1) {
915#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
916 break;
917#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
918 } else {
919#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
920 goto goto_5;
921#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
922 }
923#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
924 }
925#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
926 *tmp9 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
927#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
928 tmpMeta[2] = _D_24tmpVar1;
929#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
930 }
931#line 3005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
932 _dims = tmpMeta[2];
933#line 933 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
934#line 3006 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
935 tmpMeta[0+0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_exp) - 3))) + (
3)))))
);
936#line 3006 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
937 tmpMeta[0+1] = omc_NFType_liftArrayLeftList(threadData, _componentType, omc_List_flattenReverse(threadData, _dims));
938#line 938 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
939 goto tmp6_done;
940 }
941 case 1: {
942
943 /* Pattern matching succeeded */
944#line 3009 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
945 tmpMeta[0+0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_binding), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_binding) - 3))
) + (3)))))
);
946#line 3009 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
947 tmpMeta[0+1] = _componentType;
948#line 948 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
949 goto tmp6_done;
950 }
951 }
952 goto tmp6_end;
953 tmp6_end: ;
954 }
955 goto goto_5;
956 goto_5:;
957 goto goto_1;
958 goto tmp6_done;
959 tmp6_done:;
960 }
961 }
962 _exp_ty = tmpMeta[0+0];
963 _comp_ty = tmpMeta[0+1];
964
965#line 3012 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
966 _exp = omc_NFTypeCheck_matchTypes(threadData, _exp_ty, _comp_ty, _exp, 1 ,&_ty ,&_ty_match);
967#line 967 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
968
969#line 3014 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
970 if((!omc_NFTypeCheck_isValidAssignmentMatch(threadData, (modelica_integer)_ty_match)))
971#line 3014 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
972 {
973#line 3015 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
974 omc_NFTypeCheck_printBindingTypeError(threadData, _name, _binding, _comp_ty, _exp_ty, _component);
975#line 975 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
976
977#line 3016 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
978 goto goto_1;
979#line 979 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
980 }
981 else
982 {
983 if(omc_NFTypeCheck_isCastMatch(threadData, (modelica_integer)_ty_match))
984 {
985#line 3018 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
986 tmpMeta[0] = mmc_mk_box8(6, &NFBinding_Binding_TYPED__BINDING__desc, _exp, _ty, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_binding), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_binding) - 3))
) + (4)))))
), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_binding), 5))(*(void**)(((void*)((void**)(((void*)((char*)(_binding) - 3))
) + (5)))))
), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_binding), 6))(*(void**)(((void*)((void**)(((void*)((char*)(_binding) - 3))
) + (6)))))
), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_binding), 7))(*(void**)(((void*)((void**)(((void*)((char*)(_binding) - 3))
) + (7)))))
), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_binding), 8))(*(void**)(((void*)((void**)(((void*)((char*)(_binding) - 3))
) + (8)))))
));
987#line 3018 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
988 _binding = tmpMeta[0];
989#line 989 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
990 }
991 }
992#line 992 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
993 goto tmp2_done;
994 }
995 case 3: {
996
997 /* Pattern matching succeeded */
998#line 998 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
999 goto tmp2_done;
1000 }
1001 default:
1002 tmp2_default: OMC_LABEL_UNUSED__attribute__((unused)); {
1003
1004 /* Pattern matching succeeded */
1005#line 3028 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1006 tmpMeta[0] = stringAppend(_OMC_LIT33((void*)((char*)(&(_OMC_LIT_STRUCT33).header) + 3)),omc_NFBinding_Binding_toString(threadData, _binding, _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))));
1007#line 3028 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1008 omc_Error_assertion(threadData, 0, tmpMeta[0], _OMC_LIT35((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3)));
1009#line 1009 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1010#line 3029 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1011 goto goto_1;
1012#line 1012 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1013 goto tmp2_done;
1014 }
1015 }
1016 goto tmp2_end;
1017 tmp2_end: ;
1018 }
1019 goto goto_1;
1020 goto_1:;
1021 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1022 goto tmp2_done;
1023 tmp2_done:;
1024 }
1025 }
1026 ;
1027 _return: OMC_LABEL_UNUSED__attribute__((unused))
1028 return _binding;
1029}
1030
1031DLLExport
1032modelica_metatype omc_NFTypeCheck_getRangeTypeEnum(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stopExp)
1033{
1034 modelica_metatype _dim = NULL((void*)0);
1035 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
1036 MMC_SO()mmc_check_stackoverflow(threadData);
1037 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1038 // _dim has no default value.
1039#line 1039 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1040 { /* match expression */
1041 modelica_metatype tmp3_1;modelica_metatype tmp3_2;
1042 tmp3_1 = _startExp;
1043 tmp3_2 = _stopExp;
1044 {
1045 modelica_metatype _dim_exp = NULL((void*)0);
1046 modelica_integer _var;
1047 volatile mmc_switch_type tmp3;
1048 int tmp4;
1049 // _dim_exp has no default value.
1050 // _var has no default value.
1051 tmp3 = 0;
1052 for (; tmp3 < 3; tmp3++) {
1053 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1054 case 0: {
1055 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,4,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((3 +1) <<
10) + (((4 +3) & 255) << 2)))
== 0) goto tmp2_end;
1056 if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,4,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))==(((3 +1) <<
10) + (((4 +3) & 255) << 2)))
== 0) goto tmp2_end;
1057
1058 /* Pattern matching succeeded */
1059#line 2955 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1060 tmpMeta[0] = omc_NFDimension_fromInteger(threadData, modelica_integer_max((modelica_integer)(((modelica_integer) 1) + mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_stopExp), 4))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_stopExp) - 3))) + (4)))))))) >> 1)
- (mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 4))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_startExp) - 3))) + (4)))))))) >> 1)
)),(modelica_integer)(((modelica_integer) 0))), 1);
1061#line 1061 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1062 goto tmp2_done;
1063 }
1064 case 1: {
1065 modelica_integer tmp5;
1066 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,4,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((3 +1) <<
10) + (((4 +3) & 255) << 2)))
== 0) goto tmp2_end;
1067 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
1068 tmp5 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
1069 if (1 != tmp5) goto tmp2_end;
1070
1071 /* Pattern matching succeeded */
1072#line 2958 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1073 tmpMeta[0] = omc_NFDimension_fromExp(threadData, _stopExp, omc_NFExpression_variability(threadData, _stopExp));
1074#line 1074 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1075 goto tmp2_done;
1076 }
1077 case 2: {
1078
1079 /* Pattern matching succeeded */
1080#line 2962 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1081 if(omc_NFExpression_isEqual(threadData, _startExp, _stopExp))
1082#line 2962 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1083 {
1084#line 2963 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1085 _dim = omc_NFDimension_fromInteger(threadData, ((modelica_integer) 1), 1);
1086#line 1086 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1087 }
1088 else
1089 {
1090#line 2965 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1091 _var = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, _startExp), omc_NFExpression_variability(threadData, _stopExp));
1092#line 1092 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1093
1094#line 2968 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1095 tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, omc_NFExpression_enumIndexExp(threadData, _startExp), omc_NFOperator_makeSub(threadData, _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3))), omc_NFExpression_enumIndexExp(threadData, _stopExp));
1096#line 2968 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1097 _dim_exp = tmpMeta[1];
1098#line 1098 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1099
1100#line 2973 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1101 tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _dim_exp, omc_NFOperator_makeAdd(threadData, _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3))), _OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)));
1102#line 2973 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1103 _dim_exp = tmpMeta[1];
1104#line 1104 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1105
1106#line 2978 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1107 _dim_exp = omc_NFSimplifyExp_simplify(threadData, _dim_exp);
1108#line 1108 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1109
1110#line 2979 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1111 _dim = omc_NFDimension_fromExp(threadData, _dim_exp, (modelica_integer)_var);
1112#line 1112 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1113 }
1114#line 2981 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1115 tmpMeta[0] = _dim;
1116#line 1116 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1117 goto tmp2_done;
1118 }
1119 }
1120 goto tmp2_end;
1121 tmp2_end: ;
1122 }
1123 goto goto_1;
1124 goto_1:;
1125 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1126 goto tmp2_done;
1127 tmp2_done:;
1128 }
1129 }
1130 _dim = tmpMeta[0];
1131 _return: OMC_LABEL_UNUSED__attribute__((unused))
1132 return _dim;
1133}
1134
1135DLLExport
1136modelica_metatype omc_NFTypeCheck_getRangeTypeBool(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stopExp)
1137{
1138 modelica_metatype _dim = NULL((void*)0);
1139 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
1140 MMC_SO()mmc_check_stackoverflow(threadData);
1141 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1142 // _dim has no default value.
1143#line 1143 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1144 { /* match expression */
1145 modelica_metatype tmp3_1;modelica_metatype tmp3_2;
1146 tmp3_1 = _startExp;
1147 tmp3_2 = _stopExp;
1148 {
1149 modelica_integer _sz;
1150 modelica_metatype _dim_exp = NULL((void*)0);
1151 modelica_integer _var;
1152 volatile mmc_switch_type tmp3;
1153 int tmp4;
1154 // _sz has no default value.
1155 // _dim_exp has no default value.
1156 // _var has no default value.
1157 tmp3 = 0;
1158 for (; tmp3 < 2; tmp3++) {
1159 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1160 case 0: {
1161 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((1 +1) <<
10) + (((3 +3) & 255) << 2)))
== 0) goto tmp2_end;
1162 if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,3,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))==(((1 +1) <<
10) + (((3 +3) & 255) << 2)))
== 0) goto tmp2_end;
1163
1164 /* Pattern matching succeeded */
1165#line 2914 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1166 _sz = (((!mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_startExp) - 3))) + (2)))))))) >> 1)
&& !mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_stopExp), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_stopExp) - 3))) + (2)))))))) >> 1)
) || (mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_startExp) - 3))) + (2)))))))) >> 1)
&& mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_stopExp), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_stopExp) - 3))) + (2)))))))) >> 1)
))?((modelica_integer) 1):((!mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_startExp) - 3))) + (2)))))))) >> 1)
&& mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_stopExp), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_stopExp) - 3))) + (2)))))))) >> 1)
)?((modelica_integer) 2):((modelica_integer) 0)));
1167#line 1167 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1168#line 2917 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1169 tmpMeta[0] = omc_NFDimension_fromInteger(threadData, _sz, 1);
1170#line 1170 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1171 goto tmp2_done;
1172 }
1173 case 1: {
1174
1175 /* Pattern matching succeeded */
1176#line 2922 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1177 if(omc_NFExpression_isEqual(threadData, _startExp, _stopExp))
1178#line 2922 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1179 {
1180#line 2923 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1181 _dim = omc_NFDimension_fromInteger(threadData, ((modelica_integer) 1), 1);
1182#line 1182 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1183 }
1184 else
1185 {
1186#line 2925 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1187 _var = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, _startExp), omc_NFExpression_variability(threadData, _stopExp));
1188#line 1188 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1189
1190#line 2927 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1191 tmpMeta[1] = mmc_mk_box4(22, &NFExpression_RELATION__desc, _startExp, omc_NFOperator_makeEqual(threadData, _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3))), _stopExp);
1192#line 2927 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1193 tmpMeta[2] = mmc_mk_box4(22, &NFExpression_RELATION__desc, _startExp, omc_NFOperator_makeLess(threadData, _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3))), _stopExp);
1194#line 2927 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1195 tmpMeta[3] = mmc_mk_box4(23, &NFExpression_IF__desc, tmpMeta[2], _OMC_LIT39((void*)((char*)(&(_OMC_LIT_STRUCT39).header) + 3)), _OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3)));
1196#line 2927 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1197 tmpMeta[4] = mmc_mk_box4(23, &NFExpression_IF__desc, tmpMeta[1], _OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)), tmpMeta[3]);
1198#line 2927 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1199 _dim_exp = tmpMeta[4];
1200#line 1200 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1201
1202#line 2935 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1203 _dim_exp = omc_NFSimplifyExp_simplify(threadData, _dim_exp);
1204#line 1204 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1205
1206#line 2936 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1207 _dim = omc_NFDimension_fromExp(threadData, _dim_exp, (modelica_integer)_var);
1208#line 1208 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1209 }
1210#line 2938 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1211 tmpMeta[0] = _dim;
1212#line 1212 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1213 goto tmp2_done;
1214 }
1215 }
1216 goto tmp2_end;
1217 tmp2_end: ;
1218 }
1219 goto goto_1;
1220 goto_1:;
1221 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1222 goto tmp2_done;
1223 tmp2_done:;
1224 }
1225 }
1226 _dim = tmpMeta[0];
1227 _return: OMC_LABEL_UNUSED__attribute__((unused))
1228 return _dim;
1229}
1230
1231DLLExport
1232modelica_metatype omc_NFTypeCheck_getRangeTypeReal(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stepExp, modelica_metatype _stopExp, modelica_metatype _info)
1233{
1234 modelica_metatype _dim = NULL((void*)0);
1235 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
1236 MMC_SO()mmc_check_stackoverflow(threadData);
1237 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1238 // _dim has no default value.
1239#line 1239 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1240 { /* match expression */
1241 modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
1242 tmp3_1 = _startExp;
1243 tmp3_2 = _stepExp;
1244 tmp3_3 = _stopExp;
1245 {
1246 modelica_real _start;
1247 modelica_real _step;
1248 modelica_metatype _dim_exp = NULL((void*)0);
1249 modelica_metatype _step_exp = NULL((void*)0);
1250 modelica_integer _var;
1251 volatile mmc_switch_type tmp3;
1252 int tmp4;
1253 // _start has no default value.
1254 // _step has no default value.
1255 // _dim_exp has no default value.
1256 // _step_exp has no default value.
1257 // _var has no default value.
1258 tmp3 = 0;
1259 for (; tmp3 < 4; tmp3++) {
1260 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1261 case 0: {
1262 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
1263 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;
1264 if (mmc__uniontype__metarecord__typedef__equal(tmp3_3,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
1265
1266 /* Pattern matching succeeded */
1267#line 2862 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1268 tmpMeta[0] = omc_NFDimension_fromInteger(threadData, omc_Util_realRangeSize(threadData, mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2))))mmc_prim_get_real(((*(void**)(((void*)((void**)(((void*)((char
*)(_startExp) - 3))) + (2)))))))
, 1.0, mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_stopExp), 2))))mmc_prim_get_real(((*(void**)(((void*)((void**)(((void*)((char
*)(_stopExp) - 3))) + (2)))))))
), 1);
1269#line 1269 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1270 goto tmp2_done;
1271 }
1272 case 1: {
1273 modelica_real tmp5;
1274 modelica_real tmp6;
1275 modelica_string tmp7;
1276 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
1277 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
1278 tmp5 = mmc_unbox_real(tmpMeta[1])mmc_prim_get_real(tmpMeta[1]);
1279 if (mmc__uniontype__metarecord__typedef__equal(tmp3_3,1,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3)))==(((1 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp2_end;
1280 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;
1281 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
1282 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 tmp2_end;
1283 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1284 tmp6 = mmc_unbox_real(tmpMeta[3])mmc_prim_get_real(tmpMeta[3]);
1285 _start = tmp5 /* pattern as ty=Real */;
1286 _step = tmp6 /* pattern as ty=Real */;
1287 /* Pattern matching succeeded */
1288#line 2868 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1289 if((_start == _start + _step))
1290#line 2868 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1291 {
1292#line 2869 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1293 tmp7 = modelica_real_to_modelica_string(_step, ((modelica_integer) 6), ((modelica_integer) 0), 1);
1294#line 2869 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1295 tmpMeta[1] = mmc_mk_cons(tmp7, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1296#line 2869 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1297 omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT43((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3)), tmpMeta[1], _info);
1298#line 1298 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1299 }
1300#line 2871 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1301 tmpMeta[0] = omc_NFDimension_fromInteger(threadData, omc_Util_realRangeSize(threadData, mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2))))mmc_prim_get_real(((*(void**)(((void*)((void**)(((void*)((char
*)(_startExp) - 3))) + (2)))))))
, _step, mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_stopExp), 2))))mmc_prim_get_real(((*(void**)(((void*)((void**)(((void*)((char
*)(_stopExp) - 3))) + (2)))))))
), 1);
1302#line 1302 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1303 goto tmp2_done;
1304 }
1305 case 2: {
1306 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;
1307
1308 /* Pattern matching succeeded */
1309 /* Check guard condition after assignments */
1310 if (!omc_NFExpression_isEqual(threadData, _startExp, _stopExp)) goto tmp2_end;
1311#line 2876 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1312 tmpMeta[0] = omc_NFDimension_fromInteger(threadData, ((modelica_integer) 1), 1);
1313#line 1313 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1314 goto tmp2_done;
1315 }
1316 case 3: {
1317
1318 /* Pattern matching succeeded */
1319#line 2880 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1320 tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _stopExp, omc_NFOperator_makeSub(threadData, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _startExp);
1321#line 2880 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1322 _dim_exp = tmpMeta[1];
1323#line 1323 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1324
1325#line 2881 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1326 _var = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, _stopExp), omc_NFExpression_variability(threadData, _startExp));
1327#line 1327 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1328
1329#line 2884 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1330 if(isSome(_stepExp)(0==((((((*(mmc_uint_t*)((void*)((char*)(_stepExp) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(_stepExp) -
3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(_stepExp
) - 3)))) >> 10)) ? 0 : 1)
)
1331#line 2884 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1332 {
1333#line 2885 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1334 /* Pattern-matching assignment */
1335#line 2885 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1336 tmpMeta[1] = _stepExp;
1337#line 2885 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1338 if (optionNone(tmpMeta[1])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[1]) - 3)))) >> 10)) ? 1 : 0)
) goto goto_1;
1339#line 2885 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1340 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
1341#line 2885 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1342 _step_exp = tmpMeta[2];
1343#line 1343 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1344
1345#line 2886 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1346 _var = omc_NFPrefixes_variabilityMax(threadData, (modelica_integer)_var, omc_NFExpression_variability(threadData, _step_exp));
1347#line 1347 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1348
1349#line 2887 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1350 tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _dim_exp, omc_NFOperator_makeDiv(threadData, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _step_exp);
1351#line 2887 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1352 _dim_exp = tmpMeta[1];
1353#line 1353 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1354
1355#line 2888 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1356 tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _dim_exp, omc_NFOperator_makeAdd(threadData, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _OMC_LIT46((void*)((char*)(&(_OMC_LIT_STRUCT46).header) + 3)));
1357#line 2888 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1358 _dim_exp = tmpMeta[1];
1359#line 1359 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1360 }
1361
1362#line 2891 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1363 tmpMeta[1] = mmc_mk_cons(_dim_exp, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1364#line 2891 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1365 tmpMeta[2] = mmc_mk_box2(15, &NFExpression_CALL__desc, omc_NFCall_Call_makeTypedCall(threadData, _OMC_LIT67((void*)((char*)(&(_OMC_LIT_STRUCT67).header) + 3)), tmpMeta[1], (modelica_integer)_var, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_OMC_LIT67), 8))(*(void**)(((void*)((void**)(((void*)((char*)(((void*)((char*
)(&(_OMC_LIT_STRUCT67).header) + 3))) - 3))) + (8)))))
)));
1366#line 2891 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1367 _dim_exp = tmpMeta[2];
1368#line 1368 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1369
1370#line 2892 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1371 tmpMeta[1] = mmc_mk_cons(_dim_exp, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1372#line 2892 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1373 tmpMeta[2] = mmc_mk_box2(15, &NFExpression_CALL__desc, omc_NFCall_Call_makeTypedCall(threadData, _OMC_LIT75((void*)((char*)(&(_OMC_LIT_STRUCT75).header) + 3)), tmpMeta[1], (modelica_integer)_var, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_OMC_LIT75), 8))(*(void**)(((void*)((void**)(((void*)((char*)(((void*)((char*
)(&(_OMC_LIT_STRUCT75).header) + 3))) - 3))) + (8)))))
)));
1374#line 2892 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1375 _dim_exp = tmpMeta[2];
1376#line 1376 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1377
1378#line 2893 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1379 tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _dim_exp, omc_NFOperator_makeAdd(threadData, _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3))), _OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)));
1380#line 2893 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1381 _dim_exp = tmpMeta[1];
1382#line 1382 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1383
1384#line 2894 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1385 _dim_exp = omc_NFSimplifyExp_simplify(threadData, _dim_exp);
1386#line 1386 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1387#line 2895 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1388 tmpMeta[0] = omc_NFDimension_fromExp(threadData, _dim_exp, (modelica_integer)_var);
1389#line 1389 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1390 goto tmp2_done;
1391 }
1392 }
1393 goto tmp2_end;
1394 tmp2_end: ;
1395 }
1396 goto goto_1;
1397 goto_1:;
1398 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1399 goto tmp2_done;
1400 tmp2_done:;
1401 }
1402 }
1403 _dim = tmpMeta[0];
1404 _return: OMC_LABEL_UNUSED__attribute__((unused))
1405 return _dim;
1406}
1407
1408DLLExport
1409modelica_metatype omc_NFTypeCheck_getRangeTypeInt(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stepExp, modelica_metatype _stopExp, modelica_metatype _info)
1410{
1411 modelica_metatype _dim = NULL((void*)0);
1412 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
1413 MMC_SO()mmc_check_stackoverflow(threadData);
1414 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1415 // _dim has no default value.
1416#line 1416 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1417 { /* match expression */
1418 modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
1419 tmp3_1 = _startExp;
1420 tmp3_2 = _stepExp;
1421 tmp3_3 = _stopExp;
1422 {
1423 modelica_integer _step;
1424 modelica_metatype _step_exp = NULL((void*)0);
1425 modelica_metatype _dim_exp = NULL((void*)0);
1426 modelica_integer _var;
1427 volatile mmc_switch_type tmp3;
1428 int tmp4;
1429 // _step has no default value.
1430 // _step_exp has no default value.
1431 // _dim_exp has no default value.
1432 // _var has no default value.
1433 tmp3 = 0;
1434 for (; tmp3 < 5; tmp3++) {
1435 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1436 case 0: {
1437 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;
1438 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;
1439 if (mmc__uniontype__metarecord__typedef__equal(tmp3_3,0,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3)))==(((1 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
1440
1441 /* Pattern matching succeeded */
1442#line 2802 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1443 tmpMeta[0] = omc_NFDimension_fromInteger(threadData, modelica_integer_max((modelica_integer)(((modelica_integer) 1) + mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_stopExp), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_stopExp) - 3))) + (2)))))))) >> 1)
- (mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_startExp) - 3))) + (2)))))))) >> 1)
)),(modelica_integer)(((modelica_integer) 0))), 1);
1444#line 1444 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1445 goto tmp2_done;
1446 }
1447 case 1: {
1448 modelica_integer tmp5;
1449 modelica_string tmp6;
1450 modelica_integer tmp7;
1451 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;
1452 if (mmc__uniontype__metarecord__typedef__equal(tmp3_3,0,1)((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3)))==(((1 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
1453 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;
1454 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
1455 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((1 +1)
<< 10) + (((0 +3) & 255) << 2)))
== 0) goto tmp2_end;
1456 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
1457 tmp5 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
1458 _step = tmp5 /* pattern as ty=Integer */;
1459 /* Pattern matching succeeded */
1460#line 2807 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1461 if((_step == ((modelica_integer) 0)))
1462#line 2807 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1463 {
1464#line 2808 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1465 tmp6 = modelica_integer_to_modelica_string(_step, ((modelica_integer) 0), 1);
1466#line 2808 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1467 tmpMeta[1] = mmc_mk_cons(tmp6, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1468#line 2808 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1469 omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT43((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3)), tmpMeta[1], _info);
1470#line 1470 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1471 }
1472#line 2810 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1473 tmp7 = _step;
1474#line 2810 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1475 if (tmp7 == 0) {goto goto_1;}
1476#line 2810 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1477 tmpMeta[0] = omc_NFDimension_fromInteger(threadData, modelica_integer_max((modelica_integer)(((modelica_integer) 1) + ldiv(mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_stopExp), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_stopExp) - 3))) + (2)))))))) >> 1)
- (mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_startExp) - 3))) + (2)))))))) >> 1)
),tmp7).quot),(modelica_integer)(((modelica_integer) 0))), 1);
1478#line 1478 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1479 goto tmp2_done;
1480 }
1481 case 2: {
1482 modelica_integer tmp8;
1483 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;
1484 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;
1485 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
1486 tmp8 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
1487 if (1 != tmp8) goto tmp2_end;
1488
1489 /* Pattern matching succeeded */
1490#line 2816 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1491 _dim_exp = omc_NFSimplifyExp_simplify(threadData, _stopExp);
1492#line 1492 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1493#line 2817 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1494 tmpMeta[0] = omc_NFDimension_fromExp(threadData, _dim_exp, omc_NFExpression_variability(threadData, _dim_exp));
1495#line 1495 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1496 goto tmp2_done;
1497 }
1498 case 3: {
1499 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;
1500
1501 /* Pattern matching succeeded */
1502 /* Check guard condition after assignments */
1503 if (!omc_NFExpression_isEqual(threadData, _startExp, _stopExp)) goto tmp2_end;
1504#line 2823 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1505 tmpMeta[0] = omc_NFDimension_fromInteger(threadData, ((modelica_integer) 1), 1);
1506#line 1506 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1507 goto tmp2_done;
1508 }
1509 case 4: {
1510
1511 /* Pattern matching succeeded */
1512#line 2829 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1513 tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _stopExp, omc_NFOperator_makeSub(threadData, _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3))), _startExp);
1514#line 2829 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1515 _dim_exp = tmpMeta[1];
1516#line 1516 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1517
1518#line 2830 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1519 _var = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, _stopExp), omc_NFExpression_variability(threadData, _startExp));
1520#line 1520 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1521
1522#line 2833 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1523 if(isSome(_stepExp)(0==((((((*(mmc_uint_t*)((void*)((char*)(_stepExp) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(_stepExp) -
3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(_stepExp
) - 3)))) >> 10)) ? 0 : 1)
)
1524#line 2833 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1525 {
1526#line 2834 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1527 /* Pattern-matching assignment */
1528#line 2834 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1529 tmpMeta[1] = _stepExp;
1530#line 2834 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1531 if (optionNone(tmpMeta[1])(0==((((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1])
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(tmpMeta[1]) - 3)))) >> 10)) ? 1 : 0)
) goto goto_1;
1532#line 2834 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1533 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
1534#line 2834 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1535 _step_exp = tmpMeta[2];
1536#line 1536 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1537
1538#line 2835 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1539 _var = omc_NFPrefixes_variabilityMax(threadData, (modelica_integer)_var, omc_NFExpression_variability(threadData, _step_exp));
1540#line 1540 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1541
1542#line 2836 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1543 tmpMeta[1] = mmc_mk_cons(_dim_exp, mmc_mk_cons(_step_exp, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
1544#line 2836 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1545 tmpMeta[2] = mmc_mk_box2(15, &NFExpression_CALL__desc, omc_NFCall_Call_makeTypedCall(threadData, _OMC_LIT79((void*)((char*)(&(_OMC_LIT_STRUCT79).header) + 3)), tmpMeta[1], (modelica_integer)_var, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_OMC_LIT79), 8))(*(void**)(((void*)((void**)(((void*)((char*)(((void*)((char*
)(&(_OMC_LIT_STRUCT79).header) + 3))) - 3))) + (8)))))
)));
1546#line 2836 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1547 _dim_exp = tmpMeta[2];
1548#line 1548 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1549 }
1550
1551#line 2839 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1552 tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _dim_exp, omc_NFOperator_makeAdd(threadData, _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3))), _OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)));
1553#line 2839 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1554 _dim_exp = tmpMeta[1];
1555#line 1555 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1556
1557#line 2840 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1558 tmpMeta[1] = mmc_mk_cons(_dim_exp, mmc_mk_cons(_OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3)), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
1559#line 2840 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1560 tmpMeta[2] = mmc_mk_box2(15, &NFExpression_CALL__desc, omc_NFCall_Call_makeTypedCall(threadData, _OMC_LIT81((void*)((char*)(&(_OMC_LIT_STRUCT81).header) + 3)), tmpMeta[1], (modelica_integer)_var, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_OMC_LIT81), 8))(*(void**)(((void*)((void**)(((void*)((char*)(((void*)((char*
)(&(_OMC_LIT_STRUCT81).header) + 3))) - 3))) + (8)))))
)));
1561#line 2840 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1562 _dim_exp = tmpMeta[2];
1563#line 1563 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1564
1565#line 2841 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1566 _dim_exp = omc_NFSimplifyExp_simplify(threadData, _dim_exp);
1567#line 1567 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1568#line 2842 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1569 tmpMeta[0] = omc_NFDimension_fromExp(threadData, _dim_exp, (modelica_integer)_var);
1570#line 1570 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1571 goto tmp2_done;
1572 }
1573 }
1574 goto tmp2_end;
1575 tmp2_end: ;
1576 }
1577 goto goto_1;
1578 goto_1:;
1579 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1580 goto tmp2_done;
1581 tmp2_done:;
1582 }
1583 }
1584 _dim = tmpMeta[0];
1585 _return: OMC_LABEL_UNUSED__attribute__((unused))
1586 return _dim;
1587}
1588
1589DLLExport
1590modelica_metatype omc_NFTypeCheck_getRangeType(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stepExp, modelica_metatype _stopExp, modelica_metatype _rangeElemType, modelica_metatype _info)
1591{
1592 modelica_metatype _rangeType = NULL((void*)0);
1593 modelica_metatype _step_exp = NULL((void*)0);
1594 modelica_metatype _dim = NULL((void*)0);
1595 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
1596 MMC_SO()mmc_check_stackoverflow(threadData);
1597 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1598 // _rangeType has no default value.
1599 // _step_exp has no default value.
1600 // _dim has no default value.
1601#line 1601 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1602 { /* match expression */
1603 modelica_metatype tmp3_1;
1604 tmp3_1 = _rangeElemType;
1605 {
1606 int tmp3;
1607 {
1608 switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) >> 2
) & 255))
) {
1609 case 3: {
1610
1611 /* Pattern matching succeeded */
1612#line 2756 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1613 tmpMeta[0] = omc_NFTypeCheck_getRangeTypeInt(threadData, _startExp, _stepExp, _stopExp, _info);
1614#line 1614 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1615 goto tmp2_done;
1616 }
1617 case 4: {
1618
1619 /* Pattern matching succeeded */
1620#line 2757 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1621 tmpMeta[0] = omc_NFTypeCheck_getRangeTypeReal(threadData, _startExp, _stepExp, _stopExp, _info);
1622#line 1622 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1623 goto tmp2_done;
1624 }
1625 case 6: {
1626
1627 /* Pattern matching succeeded */
1628#line 2761 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1629 if(isSome(_stepExp)(0==((((((*(mmc_uint_t*)((void*)((char*)(_stepExp) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(_stepExp) -
3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(_stepExp
) - 3)))) >> 10)) ? 0 : 1)
)
1630#line 2761 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1631 {
1632#line 2762 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1633 tmpMeta[1] = mmc_mk_cons(omc_NFType_toString(threadData, _rangeElemType), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1634#line 2762 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1635 omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT84((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3)), tmpMeta[1], _info);
1636#line 1636 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1637 }
1638#line 2765 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1639 tmpMeta[0] = omc_NFTypeCheck_getRangeTypeBool(threadData, _startExp, _stopExp);
1640#line 1640 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1641 goto tmp2_done;
1642 }
1643 case 8: {
1644
1645 /* Pattern matching succeeded */
1646#line 2770 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1647 if(isSome(_stepExp)(0==((((((*(mmc_uint_t*)((void*)((char*)(_stepExp) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(_stepExp) -
3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)(_stepExp
) - 3)))) >> 10)) ? 0 : 1)
)
1648#line 2770 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1649 {
1650#line 2771 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1651 tmpMeta[1] = mmc_mk_cons(omc_NFType_toString(threadData, _rangeElemType), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1652#line 2771 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1653 omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT84((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3)), tmpMeta[1], _info);
1654#line 1654 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1655 }
1656#line 2774 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1657 tmpMeta[0] = omc_NFTypeCheck_getRangeTypeEnum(threadData, _startExp, _stopExp);
1658#line 1658 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1659 goto tmp2_done;
1660 }
1661 default:
1662 tmp2_default: OMC_LABEL_UNUSED__attribute__((unused)); {
1663
1664 /* Pattern matching succeeded */
1665#line 2779 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1666 tmpMeta[1] = mmc_mk_cons(omc_NFType_toString(threadData, _rangeElemType), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1667#line 2779 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1668 omc_Error_addSourceMessage(threadData, _OMC_LIT87((void*)((char*)(&(_OMC_LIT_STRUCT87).header) + 3)), tmpMeta[1], _info);
1669#line 1669 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1670#line 2781 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1671 goto goto_1;
1672#line 1672 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1673 goto tmp2_done;
1674 }
1675 }
1676 goto tmp2_end;
1677 tmp2_end: ;
1678 }
1679 goto goto_1;
1680 goto_1:;
1681 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1682 goto tmp2_done;
1683 tmp2_done:;
1684 }
1685 }
1686 _dim = tmpMeta[0];
1687
1688#line 2785 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1689 tmpMeta[0] = mmc_mk_cons(_dim, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1690#line 2785 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1691 tmpMeta[1] = mmc_mk_box3(10, &NFType_ARRAY__desc, _rangeElemType, tmpMeta[0]);
1692#line 2785 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1693 _rangeType = tmpMeta[1];
1694#line 1694 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1695 _return: OMC_LABEL_UNUSED__attribute__((unused))
1696 return _rangeType;
1697}
1698
1699DLLExport
1700modelica_metatype omc_NFTypeCheck_matchTypes__cast(threadData_t *threadData, modelica_metatype _actualType, modelica_metatype _expectedType, modelica_metatype _D_24in_expression, modelica_boolean _allowUnknown, modelica_metatype *out_compatibleType, modelica_integer *out_matchKind)
1701{
1702 modelica_metatype _expression = NULL((void*)0);
1703 modelica_metatype _compatibleType = NULL((void*)0);
1704 modelica_integer _matchKind;
1705 modelica_integer tmp1_c1 __attribute__((unused)) = 0;
1706 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
1707 MMC_SO()mmc_check_stackoverflow(threadData);
1708 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1709 _expression = _D_24in_expression;
1710 // _compatibleType has no default value.
1711 // _matchKind has no default value.
1712#line 2662 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1713
1714#line 2662 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1715
1716#line 1716 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1717 { /* match expression */
1718 modelica_metatype tmp4_1;modelica_metatype tmp4_2;
1719 tmp4_1 = _actualType;
1720 tmp4_2 = _expectedType;
1721 {
1722 volatile mmc_switch_type tmp4;
1723 int tmp5;
1724 tmp4 = 0;
1725 for (; tmp4 < 11; tmp4++) {
1726 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1727 case 0: {
1728 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((0 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
1729 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((0 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
1730 /* Pattern matching succeeded */
1731#line 2666 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1732 _expression = omc_NFExpression_typeCast(threadData, _expression, _expectedType);
1733#line 1733 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1734#line 2667 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1735 tmpMeta[0+0] = _expectedType;
1736#line 2667 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1737 tmp1_c1 = 2;
1738#line 1738 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1739 goto tmp3_done;
1740 }
1741 case 1: {
1742 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,5,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((5 +3) & 255) << 2)))
== 0) goto tmp3_end;
1743 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,6,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((0 +1) <<
10) + (((6 +3) & 255) << 2)))
== 0) goto tmp3_end;
1744 /* Pattern matching succeeded */
1745#line 2674 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1746 tmpMeta[0+0] = _actualType;
1747#line 2674 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1748 tmp1_c1 = 2;
1749#line 1749 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1750 goto tmp3_done;
1751 }
1752 case 2: {
1753 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,8,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((2 +1) <<
10) + (((8 +3) & 255) << 2)))
== 0) goto tmp3_end;
1754 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1755 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
1756 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1757 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1758
1759 /* Pattern matching succeeded */
1760#line 2681 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1761 _expression = omc_NFTypeCheck_matchTypes(threadData, listHead((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_actualType), 2))))boxptr_listHead(threadData,((*(void**)(((void*)((void**)(((void
*)((char*)(_actualType) - 3))) + (2)))))))
, _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
1762#line 1762 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1763
1764#line 2684 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1765 if(omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_matchKind))
1766#line 2684 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1767 {
1768#line 1768 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1769 { /* match expression */
1770 modelica_metatype tmp8_1;
1771 tmp8_1 = _expression;
1772 {
1773 volatile mmc_switch_type tmp8;
1774 int tmp9;
1775 tmp8 = 0;
1776 for (; tmp8 < 2; tmp8++) {
1777 switch (MMC_SWITCH_CAST(tmp8)(tmp8)) {
1778 case 0: {
1779 if (mmc__uniontype__metarecord__typedef__equal(tmp8_1,10,2)((*(mmc_uint_t*)((void*)((char*)(tmp8_1) - 3)))==(((2 +1) <<
10) + (((10 +3) & 255) << 2)))
== 0) goto tmp7_end;
1780
1781 /* Pattern matching succeeded */
1782#line 2686 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1783 tmpMeta[2] = listHead((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_expression), 3))))boxptr_listHead(threadData,((*(void**)(((void*)((void**)(((void
*)((char*)(_expression) - 3))) + (3)))))))
;
1784#line 1784 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1785 goto tmp7_done;
1786 }
1787 case 1: {
1788
1789 /* Pattern matching succeeded */
1790#line 2687 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1791 tmpMeta[3] = mmc_mk_box4(27, &NFExpression_TUPLE__ELEMENT__desc, _expression, mmc_mk_integermmc_mk_icon(((modelica_integer) 1)), omc_NFType_setArrayElementType(threadData, omc_NFExpression_typeOf(threadData, _expression), _compatibleType));
1792#line 2687 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1793 tmpMeta[2] = tmpMeta[3];
1794#line 1794 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1795 goto tmp7_done;
1796 }
1797 }
1798 goto tmp7_end;
1799 tmp7_end: ;
1800 }
1801 goto goto_6;
1802 goto_6:;
1803 goto goto_2;
1804 goto tmp7_done;
1805 tmp7_done:;
1806 }
1807 }
1808 _expression = tmpMeta[2];
1809
1810#line 2691 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1811 _matchKind = 2;
1812#line 1812 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1813 }
1814#line 2693 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1815 tmpMeta[0+0] = _compatibleType;
1816#line 2693 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1817 tmp1_c1 = (modelica_integer)_matchKind;
1818#line 1818 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1819 goto tmp3_done;
1820 }
1821 case 3: {
1822 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,10,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((0 +1) <<
10) + (((10 +3) & 255) << 2)))
== 0) goto tmp3_end;
1823
1824 /* Pattern matching succeeded */
1825#line 2698 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1826 tmpMeta[0+0] = _expectedType;
1827#line 2698 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1828 tmp1_c1 = (_allowUnknown?4:7);
1829#line 1829 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1830 goto tmp3_done;
1831 }
1832 case 4: {
1833 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((0 +1) <<
10) + (((10 +3) & 255) << 2)))
== 0) goto tmp3_end;
1834
1835 /* Pattern matching succeeded */
1836#line 2702 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1837 tmpMeta[0+0] = _actualType;
1838#line 2702 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1839 tmp1_c1 = (_allowUnknown?3:7);
1840#line 1840 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1841 goto tmp3_done;
1842 }
1843 case 5: {
1844 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;
1845
1846 /* Pattern matching succeeded */
1847#line 2707 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1848 _expression = omc_NFExpression_unbox(threadData, _expression);
1849#line 1849 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1850
1851#line 2708 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1852 _expression = omc_NFTypeCheck_matchTypes(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_actualType), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_actualType) - 3
))) + (2)))))
), _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
1853#line 1853 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1854#line 2710 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1855 tmpMeta[0+0] = _compatibleType;
1856#line 2710 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1857 tmp1_c1 = (omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_matchKind)?2:(modelica_integer)_matchKind);
1858#line 1858 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1859 goto tmp3_done;
1860 }
1861 case 6: {
1862 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((1 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
1863
1864 /* Pattern matching succeeded */
1865#line 2715 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1866 _expression = omc_NFTypeCheck_matchTypes(threadData, _actualType, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_expectedType), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_expectedType) -
3))) + (2)))))
), _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
1867#line 1867 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1868
1869#line 2717 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1870 _expression = omc_NFExpression_box(threadData, _expression);
1871#line 1871 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1872
1873#line 2718 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1874 _compatibleType = omc_NFType_box(threadData, _compatibleType);
1875#line 1875 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1876#line 2719 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1877 tmpMeta[0+0] = _compatibleType;
1878#line 2719 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1879 tmp1_c1 = (omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_matchKind)?2:(modelica_integer)_matchKind);
1880#line 1880 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1881 goto tmp3_done;
1882 }
1883 case 7: {
1884 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((1 +1) <<
10) + (((14 +3) & 255) << 2)))
== 0) goto tmp3_end;
1885
1886 /* Pattern matching succeeded */
1887#line 2724 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1888 tmpMeta[2] = mmc_mk_box2(29, &NFExpression_BOX__desc, _expression);
1889#line 2724 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1890 _expression = tmpMeta[2];
1891#line 1891 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1892#line 2726 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1893 tmpMeta[2] = mmc_mk_box2(16, &NFType_METABOXED__desc, _actualType);
1894#line 2726 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1895 tmpMeta[0+0] = tmpMeta[2];
1896#line 2726 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1897 tmp1_c1 = 5;
1898#line 1898 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1899 goto tmp3_done;
1900 }
1901 case 8: {
1902 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,14,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((1 +1) <<
10) + (((14 +3) & 255) << 2)))
== 0) goto tmp3_end;
1903
1904 /* Pattern matching succeeded */
1905#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1906 tmpMeta[0+0] = _expectedType;
1907#line 2733 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1908 tmp1_c1 = 5;
1909#line 1909 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1910 goto tmp3_done;
1911 }
1912 case 9: {
1913 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,15,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((0 +1) <<
10) + (((15 +3) & 255) << 2)))
== 0) goto tmp3_end;
1914
1915 /* Pattern matching succeeded */
1916#line 2737 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1917 tmpMeta[0+0] = _expectedType;
1918#line 2737 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1919 tmp1_c1 = 1;
1920#line 1920 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1921 goto tmp3_done;
1922 }
1923 case 10: {
1924
1925 /* Pattern matching succeeded */
1926#line 2740 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1927 tmpMeta[0+0] = _OMC_LIT88((void*)((char*)(&(_OMC_LIT_STRUCT88).header) + 3));
1928#line 2740 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1929 tmp1_c1 = 7;
1930#line 1930 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1931 goto tmp3_done;
1932 }
1933 }
1934 goto tmp3_end;
1935 tmp3_end: ;
1936 }
1937 goto goto_2;
1938 goto_2:;
1939 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1940 goto tmp3_done;
1941 tmp3_done:;
1942 }
1943 }
1944 _compatibleType = tmpMeta[0+0];
1945 _matchKind = tmp1_c1;
1946 _return: OMC_LABEL_UNUSED__attribute__((unused))
1947 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
1948 if (out_matchKind) { *out_matchKind = _matchKind; }
1949 return _expression;
1950}
1951modelica_metatype boxptr_NFTypeCheck_matchTypes__cast(threadData_t *threadData, modelica_metatype _actualType, modelica_metatype _expectedType, modelica_metatype _D_24in_expression, modelica_metatype _allowUnknown, modelica_metatype *out_compatibleType, modelica_metatype *out_matchKind)
1952{
1953 modelica_integer tmp1;
1954 modelica_integer _matchKind;
1955 modelica_metatype _expression = NULL((void*)0);
1956 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
1957 _expression = omc_NFTypeCheck_matchTypes__cast(threadData, _actualType, _expectedType, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
1958 /* skip box _expression; NFExpression */
1959 /* skip box _compatibleType; NFType */
1960 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
1961 return _expression;
1962}
1963
1964DLLExport
1965modelica_metatype omc_NFTypeCheck_matchBoxedExpressions(threadData_t *threadData, modelica_metatype _D_24in_exp1, modelica_metatype _type1, modelica_metatype _D_24in_exp2, modelica_metatype _type2, modelica_boolean _allowUnknown, modelica_metatype *out_exp2, modelica_metatype *out_compatibleType, modelica_integer *out_matchKind)
1966{
1967 modelica_metatype _exp1 = NULL((void*)0);
1968 modelica_metatype _exp2 = NULL((void*)0);
1969 modelica_metatype _compatibleType = NULL((void*)0);
1970 modelica_integer _matchKind;
1971 modelica_metatype _e1 = NULL((void*)0);
1972 modelica_metatype _e2 = NULL((void*)0);
1973 MMC_SO()mmc_check_stackoverflow(threadData);
1974 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1975 _exp1 = _D_24in_exp1;
1976 _exp2 = _D_24in_exp2;
1977 // _compatibleType has no default value.
1978 // _matchKind has no default value.
1979 // _e1 has no default value.
1980 // _e2 has no default value.
1981#line 2640 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1982 _e1 = omc_NFExpression_unbox(threadData, _exp1);
1983#line 1983 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1984
1985#line 2641 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1986 _e2 = omc_NFExpression_unbox(threadData, _exp2);
1987#line 1987 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1988
1989#line 2643 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1990 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _e1, omc_NFType_unbox(threadData, _type1), _e2, omc_NFType_unbox(threadData, _type2), _allowUnknown ,&_e2 ,&_compatibleType ,&_matchKind);
1991#line 1991 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1992
1993#line 2646 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1994 if(omc_NFTypeCheck_isCastMatch(threadData, (modelica_integer)_matchKind))
1995#line 2646 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1996 {
1997#line 2647 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1998 _exp1 = omc_NFExpression_box(threadData, _e1);
1999#line 1999 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2000
2001#line 2648 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2002 _exp2 = omc_NFExpression_box(threadData, _e2);
2003#line 2003 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2004 }
2005
2006#line 2651 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2007 _compatibleType = omc_NFType_box(threadData, _compatibleType);
2008#line 2008 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2009 _return: OMC_LABEL_UNUSED__attribute__((unused))
2010 if (out_exp2) { *out_exp2 = _exp2; }
2011 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
2012 if (out_matchKind) { *out_matchKind = _matchKind; }
2013 return _exp1;
2014}
2015modelica_metatype boxptr_NFTypeCheck_matchBoxedExpressions(threadData_t *threadData, modelica_metatype _D_24in_exp1, modelica_metatype _type1, modelica_metatype _D_24in_exp2, modelica_metatype _type2, modelica_metatype _allowUnknown, modelica_metatype *out_exp2, modelica_metatype *out_compatibleType, modelica_metatype *out_matchKind)
2016{
2017 modelica_integer tmp1;
2018 modelica_integer _matchKind;
2019 modelica_metatype _exp1 = NULL((void*)0);
2020 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2021 _exp1 = omc_NFTypeCheck_matchBoxedExpressions(threadData, _D_24in_exp1, _type1, _D_24in_exp2, _type2, tmp1, out_exp2, out_compatibleType, &_matchKind);
2022 /* skip box _exp1; NFExpression */
2023 /* skip box _exp2; NFExpression */
2024 /* skip box _compatibleType; NFType */
2025 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2026 return _exp1;
2027}
2028
2029DLLExport
2030modelica_metatype omc_NFTypeCheck_matchTupleTypes(threadData_t *threadData, modelica_metatype _tupleType1, modelica_metatype _tupleType2, modelica_metatype _D_24in_expression, modelica_boolean _allowUnknown, modelica_metatype *out_compatibleType, modelica_integer *out_matchKind)
2031{
2032 modelica_metatype _expression = NULL((void*)0);
2033 modelica_metatype _compatibleType = NULL((void*)0);
2034 modelica_integer _matchKind;
2035 modelica_metatype _tyl1 = NULL((void*)0);
2036 modelica_metatype _tyl2 = NULL((void*)0);
2037 modelica_metatype _ty1 = NULL((void*)0);
2038 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
2039 MMC_SO()mmc_check_stackoverflow(threadData);
2040 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2041 _expression = _D_24in_expression;
2042 _compatibleType = _tupleType1;
2043 _matchKind = 1;
2044 // _tyl1 has no default value.
2045 // _tyl2 has no default value.
2046 // _ty1 has no default value.
2047#line 2605 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2048 /* Pattern-matching assignment */
2049#line 2605 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2050 tmpMeta[0] = _tupleType1;
2051#line 2605 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2052 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],8,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((8 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2053#line 2605 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2054 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2055#line 2605 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2056 _tyl1 = tmpMeta[1];
2057#line 2057 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2058
2059#line 2606 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2060 /* Pattern-matching assignment */
2061#line 2606 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2062 tmpMeta[0] = _tupleType2;
2063#line 2606 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2064 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],8,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((8 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2065#line 2606 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2066 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2067#line 2606 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2068 _tyl2 = tmpMeta[1];
2069#line 2069 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2070
2071#line 2608 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2072 if((listLength(_tyl1) < listLength(_tyl2)))
2073#line 2608 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2074 {
2075#line 2609 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2076 _matchKind = 7;
2077#line 2077 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2078
2079#line 2610 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2080 goto _return;
2081#line 2081 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2082 }
2083
2084#line 2613 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2085 {
2086#line 2613 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2087 modelica_metatype _ty2;
2088#line 2613 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2089 for (tmpMeta[0] = _tyl2; !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)))))
)
2090#line 2613 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2091 {
2092#line 2613 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2093 _ty2 = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2094#line 2615 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2095 if(omc_NFType_isUnknown(threadData, _ty2))
2096#line 2615 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2097 {
2098#line 2616 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2099 continue;
2100#line 2100 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2101 }
2102
2103#line 2619 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2104 /* Pattern-matching assignment */
2105#line 2619 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2106 tmpMeta[1] = _tyl1;
2107#line 2619 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2108 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2109#line 2619 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2110 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2111#line 2619 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2112 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2113#line 2619 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2114 _ty1 = tmpMeta[2];
2115#line 2619 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2116 _tyl1 = tmpMeta[3];
2117#line 2117 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2118
2119#line 2621 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2120 omc_NFTypeCheck_matchTypes(threadData, _ty1, _ty2, _expression, _allowUnknown ,NULL((void*)0) ,&_matchKind);
2121#line 2121 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2122
2123#line 2623 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2124 if(((modelica_integer)_matchKind != 1))
2125#line 2623 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2126 {
2127#line 2624 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2128 break;
2129#line 2129 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2130 }
2131 }
2132 }
2133 _return: OMC_LABEL_UNUSED__attribute__((unused))
2134 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
2135 if (out_matchKind) { *out_matchKind = _matchKind; }
2136 return _expression;
2137}
2138modelica_metatype boxptr_NFTypeCheck_matchTupleTypes(threadData_t *threadData, modelica_metatype _tupleType1, modelica_metatype _tupleType2, modelica_metatype _D_24in_expression, modelica_metatype _allowUnknown, modelica_metatype *out_compatibleType, modelica_metatype *out_matchKind)
2139{
2140 modelica_integer tmp1;
2141 modelica_integer _matchKind;
2142 modelica_metatype _expression = NULL((void*)0);
2143 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2144 _expression = omc_NFTypeCheck_matchTupleTypes(threadData, _tupleType1, _tupleType2, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
2145 /* skip box _expression; NFExpression */
2146 /* skip box _compatibleType; NFType */
2147 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2148 return _expression;
2149}
2150
2151DLLExport
2152modelica_metatype omc_NFTypeCheck_matchDimensions(threadData_t *threadData, modelica_metatype _dim1, modelica_metatype _dim2, modelica_boolean _allowUnknown, modelica_boolean *out_compatible)
2153{
2154 modelica_metatype _compatibleDim = NULL((void*)0);
2155 modelica_boolean _compatible;
2156 MMC_SO()mmc_check_stackoverflow(threadData);
2157 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2158 // _compatibleDim has no default value.
2159 // _compatible has no default value.
2160#line 2577 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2161 if(omc_NFDimension_isEqual(threadData, _dim1, _dim2))
2162#line 2577 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2163 {
2164#line 2578 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2165 _compatibleDim = _dim1;
2166#line 2166 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2167
2168#line 2579 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2169 _compatible = 1;
2170#line 2170 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2171 }
2172 else
2173 {
2174#line 2581 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2175 if((!omc_NFDimension_isKnown(threadData, _dim1, 0)))
2176#line 2581 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2177 {
2178#line 2582 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2179 _compatibleDim = _dim2;
2180#line 2180 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2181
2182#line 2583 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2183 _compatible = 1;
2184#line 2184 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2185 }
2186 else
2187 {
2188 if((!omc_NFDimension_isKnown(threadData, _dim2, 0)))
2189 {
2190#line 2585 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2191 _compatibleDim = _dim1;
2192#line 2192 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2193
2194#line 2586 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2195 _compatible = 1;
2196#line 2196 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2197 }
2198 else
2199 {
2200#line 2588 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2201 _compatibleDim = _dim1;
2202#line 2202 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2203
2204#line 2589 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2205 _compatible = 0;
2206#line 2206 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2207 }
2208 }
2209 }
2210 _return: OMC_LABEL_UNUSED__attribute__((unused))
2211 if (out_compatible) { *out_compatible = _compatible; }
2212 return _compatibleDim;
2213}
2214modelica_metatype boxptr_NFTypeCheck_matchDimensions(threadData_t *threadData, modelica_metatype _dim1, modelica_metatype _dim2, modelica_metatype _allowUnknown, modelica_metatype *out_compatible)
2215{
2216 modelica_integer tmp1;
2217 modelica_boolean _compatible;
2218 modelica_metatype _compatibleDim = NULL((void*)0);
2219 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2220 _compatibleDim = omc_NFTypeCheck_matchDimensions(threadData, _dim1, _dim2, tmp1, &_compatible);
2221 /* skip box _compatibleDim; NFDimension */
2222 if (out_compatible) { *out_compatible = mmc_mk_icon(_compatible); }
2223 return _compatibleDim;
2224}
2225
2226DLLExport
2227modelica_metatype omc_NFTypeCheck_matchArrayDims(threadData_t *threadData, modelica_metatype _dims1, modelica_metatype _dims2, modelica_metatype _D_24in_ty, modelica_integer _D_24in_matchKind, modelica_boolean _allowUnknown, modelica_integer *out_matchKind)
2228{
2229 modelica_metatype _ty = NULL((void*)0);
2230 modelica_integer _matchKind;
2231 modelica_metatype _rest_dims2 = NULL((void*)0);
2232 modelica_metatype _cdims = NULL((void*)0);
2233 modelica_metatype _dim2 = NULL((void*)0);
2234 modelica_boolean _compat;
2235 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
2236 MMC_SO()mmc_check_stackoverflow(threadData);
2237 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2238 _ty = _D_24in_ty;
2239 _matchKind = (modelica_integer)_D_24in_matchKind;
2240 _rest_dims2 = _dims2;
2241 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2242 _cdims = tmpMeta[0];
2243 // _dim2 has no default value.
2244 // _compat has no default value.
2245#line 2544 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2246 if((!omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_matchKind)))
2247#line 2544 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2248 {
2249#line 2545 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2250 goto _return;
2251#line 2251 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2252 }
2253
2254#line 2549 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2255 if((listLength(_dims1) != listLength(_dims2)))
2256#line 2549 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2257 {
2258#line 2550 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2259 _matchKind = 7;
2260#line 2260 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2261
2262#line 2551 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2263 goto _return;
2264#line 2264 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2265 }
2266
2267#line 2555 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2268 {
2269#line 2555 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2270 modelica_metatype _dim1;
2271#line 2555 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2272 for (tmpMeta[1] = _dims1; !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)))))
)
2273#line 2555 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2274 {
2275#line 2555 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2276 _dim1 = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2277#line 2556 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2278 /* Pattern-matching assignment */
2279#line 2556 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2280 tmpMeta[2] = _rest_dims2;
2281#line 2556 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2282 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2283#line 2556 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2284 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
2285#line 2556 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2286 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
2287#line 2556 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2288 _dim2 = tmpMeta[3];
2289#line 2556 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2290 _rest_dims2 = tmpMeta[4];
2291#line 2291 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2292
2293#line 2557 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2294 _dim1 = omc_NFTypeCheck_matchDimensions(threadData, _dim1, _dim2, _allowUnknown ,&_compat);
2295#line 2295 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2296
2297#line 2559 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2298 if((!_compat))
2299#line 2559 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2300 {
2301#line 2560 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2302 _matchKind = 7;
2303#line 2303 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2304
2305#line 2561 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2306 break;
2307#line 2307 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2308 }
2309
2310#line 2564 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2311 tmpMeta[2] = mmc_mk_cons(_dim1, _cdims);
2312#line 2564 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2313 _cdims = tmpMeta[2];
2314#line 2314 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2315 }
2316 }
2317
2318#line 2567 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2319 tmpMeta[1] = mmc_mk_box3(10, &NFType_ARRAY__desc, _ty, listReverseInPlace(_cdims));
2320#line 2567 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2321 _ty = tmpMeta[1];
2322#line 2322 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2323 _return: OMC_LABEL_UNUSED__attribute__((unused))
2324 if (out_matchKind) { *out_matchKind = _matchKind; }
2325 return _ty;
2326}
2327modelica_metatype boxptr_NFTypeCheck_matchArrayDims(threadData_t *threadData, modelica_metatype _dims1, modelica_metatype _dims2, modelica_metatype _D_24in_ty, modelica_metatype _D_24in_matchKind, modelica_metatype _allowUnknown, modelica_metatype *out_matchKind)
2328{
2329 modelica_integer tmp1;
2330 modelica_integer tmp2;
2331 modelica_integer _matchKind;
2332 modelica_metatype _ty = NULL((void*)0);
2333 tmp1 = mmc_unbox_integer(_D_24in_matchKind)(((mmc_sint_t) (_D_24in_matchKind)) >> 1);
2334 tmp2 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2335 _ty = omc_NFTypeCheck_matchArrayDims(threadData, _dims1, _dims2, _D_24in_ty, tmp1, tmp2, &_matchKind);
2336 /* skip box _ty; NFType */
2337 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2338 return _ty;
2339}
2340
2341DLLExport
2342modelica_metatype omc_NFTypeCheck_matchArrayTypes(threadData_t *threadData, modelica_metatype _arrayType1, modelica_metatype _arrayType2, modelica_metatype _D_24in_expression, modelica_boolean _allowUnknown, modelica_metatype *out_compatibleType, modelica_integer *out_matchKind)
2343{
2344 modelica_metatype _expression = NULL((void*)0);
2345 modelica_metatype _compatibleType = NULL((void*)0);
2346 modelica_integer _matchKind;
2347 modelica_metatype _ety1 = NULL((void*)0);
2348 modelica_metatype _ety2 = NULL((void*)0);
2349 modelica_metatype _dims1 = NULL((void*)0);
2350 modelica_metatype _dims2 = NULL((void*)0);
2351 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2352 MMC_SO()mmc_check_stackoverflow(threadData);
2353 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2354 _expression = _D_24in_expression;
2355 // _compatibleType has no default value.
2356 // _matchKind has no default value.
2357 // _ety1 has no default value.
2358 // _ety2 has no default value.
2359 // _dims1 has no default value.
2360 // _dims2 has no default value.
2361#line 2521 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2362 /* Pattern-matching assignment */
2363#line 2521 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2364 tmpMeta[0] = _arrayType1;
2365#line 2521 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2366 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((7 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2367#line 2521 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2368 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2369#line 2521 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2370 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2371#line 2521 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2372 _ety1 = tmpMeta[1];
2373#line 2521 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2374 _dims1 = tmpMeta[2];
2375#line 2375 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2376
2377#line 2522 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2378 /* Pattern-matching assignment */
2379#line 2522 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2380 tmpMeta[0] = _arrayType2;
2381#line 2522 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2382 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((7 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2383#line 2522 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2384 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2385#line 2522 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2386 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2387#line 2522 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2388 _ety2 = tmpMeta[1];
2389#line 2522 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2390 _dims2 = tmpMeta[2];
2391#line 2391 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2392
2393#line 2525 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2394 _expression = omc_NFTypeCheck_matchTypes(threadData, _ety1, _ety2, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
2395#line 2395 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2396
2397#line 2529 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2398 _compatibleType = omc_NFTypeCheck_matchArrayDims(threadData, _dims1, _dims2, _compatibleType, (modelica_integer)_matchKind, _allowUnknown ,&_matchKind);
2399#line 2399 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2400 _return: OMC_LABEL_UNUSED__attribute__((unused))
2401 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
2402 if (out_matchKind) { *out_matchKind = _matchKind; }
2403 return _expression;
2404}
2405modelica_metatype boxptr_NFTypeCheck_matchArrayTypes(threadData_t *threadData, modelica_metatype _arrayType1, modelica_metatype _arrayType2, modelica_metatype _D_24in_expression, modelica_metatype _allowUnknown, modelica_metatype *out_compatibleType, modelica_metatype *out_matchKind)
2406{
2407 modelica_integer tmp1;
2408 modelica_integer _matchKind;
2409 modelica_metatype _expression = NULL((void*)0);
2410 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2411 _expression = omc_NFTypeCheck_matchArrayTypes(threadData, _arrayType1, _arrayType2, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
2412 /* skip box _expression; NFExpression */
2413 /* skip box _compatibleType; NFType */
2414 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2415 return _expression;
2416}
2417
2418DLLExport
2419modelica_metatype omc_NFTypeCheck_matchArrayExpressions(threadData_t *threadData, modelica_metatype _D_24in_exp1, modelica_metatype _type1, modelica_metatype _D_24in_exp2, modelica_metatype _type2, modelica_boolean _allowUnknown, modelica_metatype *out_exp2, modelica_metatype *out_compatibleType, modelica_integer *out_matchKind)
2420{
2421 modelica_metatype _exp1 = NULL((void*)0);
2422 modelica_metatype _exp2 = NULL((void*)0);
2423 modelica_metatype _compatibleType = NULL((void*)0);
2424 modelica_integer _matchKind;
2425 modelica_metatype _ety1 = NULL((void*)0);
2426 modelica_metatype _ety2 = NULL((void*)0);
2427 modelica_metatype _dims1 = NULL((void*)0);
2428 modelica_metatype _dims2 = NULL((void*)0);
2429 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2430 MMC_SO()mmc_check_stackoverflow(threadData);
2431 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2432 _exp1 = _D_24in_exp1;
2433 _exp2 = _D_24in_exp2;
2434 // _compatibleType has no default value.
2435 // _matchKind has no default value.
2436 // _ety1 has no default value.
2437 // _ety2 has no default value.
2438 // _dims1 has no default value.
2439 // _dims2 has no default value.
2440#line 2498 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2441 /* Pattern-matching assignment */
2442#line 2498 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2443 tmpMeta[0] = _type1;
2444#line 2498 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2445 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((7 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2446#line 2498 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2447 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2448#line 2498 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2449 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2450#line 2498 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2451 _ety1 = tmpMeta[1];
2452#line 2498 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2453 _dims1 = tmpMeta[2];
2454#line 2454 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2455
2456#line 2499 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2457 /* Pattern-matching assignment */
2458#line 2499 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2459 tmpMeta[0] = _type2;
2460#line 2499 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2461 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((7 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2462#line 2499 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2463 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2464#line 2499 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2465 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2466#line 2499 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2467 _ety2 = tmpMeta[1];
2468#line 2499 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2469 _dims2 = tmpMeta[2];
2470#line 2470 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2471
2472#line 2502 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2473 _exp1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _ety1, _exp2, _ety2, _allowUnknown ,&_exp2 ,&_compatibleType ,&_matchKind);
2474#line 2474 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2475
2476#line 2506 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2477 _compatibleType = omc_NFTypeCheck_matchArrayDims(threadData, _dims1, _dims2, _compatibleType, (modelica_integer)_matchKind, _allowUnknown ,&_matchKind);
2478#line 2478 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2479 _return: OMC_LABEL_UNUSED__attribute__((unused))
2480 if (out_exp2) { *out_exp2 = _exp2; }
2481 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
2482 if (out_matchKind) { *out_matchKind = _matchKind; }
2483 return _exp1;
2484}
2485modelica_metatype boxptr_NFTypeCheck_matchArrayExpressions(threadData_t *threadData, modelica_metatype _D_24in_exp1, modelica_metatype _type1, modelica_metatype _D_24in_exp2, modelica_metatype _type2, modelica_metatype _allowUnknown, modelica_metatype *out_exp2, modelica_metatype *out_compatibleType, modelica_metatype *out_matchKind)
2486{
2487 modelica_integer tmp1;
2488 modelica_integer _matchKind;
2489 modelica_metatype _exp1 = NULL((void*)0);
2490 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2491 _exp1 = omc_NFTypeCheck_matchArrayExpressions(threadData, _D_24in_exp1, _type1, _D_24in_exp2, _type2, tmp1, out_exp2, out_compatibleType, &_matchKind);
2492 /* skip box _exp1; NFExpression */
2493 /* skip box _exp2; NFExpression */
2494 /* skip box _compatibleType; NFType */
2495 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2496 return _exp1;
2497}
2498
2499DLLExport
2500modelica_integer omc_NFTypeCheck_matchEnumerationTypes(threadData_t *threadData, modelica_metatype _type1, modelica_metatype _type2)
2501{
2502 modelica_integer _matchKind;
2503 modelica_metatype _lits1 = NULL((void*)0);
2504 modelica_metatype _lits2 = NULL((void*)0);
2505 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2506 MMC_SO()mmc_check_stackoverflow(threadData);
2507 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2508 // _matchKind has no default value.
2509 // _lits1 has no default value.
2510 // _lits2 has no default value.
2511#line 2479 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2512 /* Pattern-matching assignment */
2513#line 2479 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2514 tmpMeta[0] = _type1;
2515#line 2479 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2516 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((5 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2517#line 2479 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2518 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2519#line 2479 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2520 _lits1 = tmpMeta[1];
2521#line 2521 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2522
2523#line 2480 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2524 /* Pattern-matching assignment */
2525#line 2480 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2526 tmpMeta[0] = _type2;
2527#line 2480 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2528 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((5 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2529#line 2480 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2530 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2531#line 2480 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2532 _lits2 = tmpMeta[1];
2533#line 2533 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2534
2535#line 2482 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2536 _matchKind = (omc_List_isEqualOnTrue(threadData, _lits1, _lits2, boxvar_stringEqual((void*)((char*)(&(boxvar_lit_stringEqual).header) + 3)))?1:7);
2537#line 2537 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2538 _return: OMC_LABEL_UNUSED__attribute__((unused))
2539 return _matchKind;
2540}
2541modelica_metatype boxptr_NFTypeCheck_matchEnumerationTypes(threadData_t *threadData, modelica_metatype _type1, modelica_metatype _type2)
2542{
2543 modelica_integer _matchKind;
2544 modelica_metatype out_matchKind;
2545 _matchKind = omc_NFTypeCheck_matchEnumerationTypes(threadData, _type1, _type2);
2546 out_matchKind = mmc_mk_icon(_matchKind);
2547 return out_matchKind;
2548}
2549
2550DLLExport
2551modelica_boolean omc_NFTypeCheck_matchFunctionParameters(threadData_t *threadData, modelica_metatype _params1, modelica_metatype _params2, modelica_boolean _allowUnknown)
2552{
2553 modelica_boolean _matching;
2554 modelica_metatype _pl1 = NULL((void*)0);
2555 modelica_metatype _pl2 = NULL((void*)0);
2556 modelica_metatype _p1 = NULL((void*)0);
2557 modelica_metatype _dummy = NULL((void*)0);
2558 modelica_integer _mk;
2559 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
2560 MMC_SO()mmc_check_stackoverflow(threadData);
2561 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2562 _matching = 1;
2563 _pl1 = _params1;
2564 _pl2 = _params2;
2565 // _p1 has no default value.
2566 _dummy = _OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3));
2567 // _mk has no default value.
2568#line 2449 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2569 {
2570#line 2449 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2571 modelica_metatype _p2;
2572#line 2449 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2573 for (tmpMeta[0] = _pl2; !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)))))
)
2574#line 2449 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2575 {
2576#line 2449 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2577 _p2 = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2578#line 2450 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2579 if(listEmpty(_pl1)((*(mmc_uint_t*)((void*)((char*)(_pl1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
)
2580#line 2450 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2581 {
2582#line 2451 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2583 _matching = 0;
2584#line 2584 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2585
2586#line 2452 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2587 break;
2588#line 2588 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2589 }
2590
2591#line 2455 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2592 /* Pattern-matching assignment */
2593#line 2455 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2594 tmpMeta[1] = _pl1;
2595#line 2455 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2596 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2597#line 2455 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2598 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2599#line 2455 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2600 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2601#line 2455 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2602 _p1 = tmpMeta[2];
2603#line 2455 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2604 _pl1 = tmpMeta[3];
2605#line 2605 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2606
2607#line 2457 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2608 if((!stringEqual(omc_NFInstNode_InstNode_name(threadData, _p1), omc_NFInstNode_InstNode_name(threadData, _p2))((((((*(mmc_uint_t*)((void*)((char*)(omc_NFInstNode_InstNode_name
(threadData, _p1)) - 3)))) >> (3)) - 8)) == (((((*(mmc_uint_t
*)((void*)((char*)(omc_NFInstNode_InstNode_name(threadData, _p2
)) - 3)))) >> (3)) - 8)) && !mmc_stringCompare(
omc_NFInstNode_InstNode_name(threadData, _p1),omc_NFInstNode_InstNode_name
(threadData, _p2)))
))
2609#line 2457 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2610 {
2611#line 2458 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2612 _matching = 0;
2613#line 2613 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2614
2615#line 2459 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2616 break;
2617#line 2617 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2618 }
2619
2620#line 2462 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2621 omc_NFTypeCheck_matchTypes(threadData, omc_NFType_unbox(threadData, omc_NFInstNode_InstNode_getType(threadData, _p1)), omc_NFType_unbox(threadData, omc_NFInstNode_InstNode_getType(threadData, _p2)), _dummy, _allowUnknown ,NULL((void*)0) ,&_mk);
2622#line 2622 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2623
2624#line 2465 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2625 if(((modelica_integer)_mk != 1))
2626#line 2465 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2627 {
2628#line 2466 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2629 _matching = 0;
2630#line 2630 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2631
2632#line 2467 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2633 break;
2634#line 2634 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2635 }
2636 }
2637 }
2638 _return: OMC_LABEL_UNUSED__attribute__((unused))
2639 return _matching;
2640}
2641modelica_metatype boxptr_NFTypeCheck_matchFunctionParameters(threadData_t *threadData, modelica_metatype _params1, modelica_metatype _params2, modelica_metatype _allowUnknown)
2642{
2643 modelica_integer tmp1;
2644 modelica_boolean _matching;
2645 modelica_metatype out_matching;
2646 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2647 _matching = omc_NFTypeCheck_matchFunctionParameters(threadData, _params1, _params2, tmp1);
2648 out_matching = mmc_mk_icon(_matching);
2649 return out_matching;
2650}
2651
2652DLLExport
2653modelica_metatype omc_NFTypeCheck_matchFunctionTypes(threadData_t *threadData, modelica_metatype _actualType, modelica_metatype _expectedType, modelica_metatype _D_24in_expression, modelica_boolean _allowUnknown, modelica_metatype *out_compatibleType, modelica_integer *out_matchKind)
2654{
2655 modelica_metatype _expression = NULL((void*)0);
2656 modelica_metatype _compatibleType = NULL((void*)0);
2657 modelica_integer _matchKind;
2658 modelica_metatype _inputs1 = NULL((void*)0);
2659 modelica_metatype _inputs2 = NULL((void*)0);
2660 modelica_metatype _remaining_inputs = NULL((void*)0);
2661 modelica_metatype _outputs1 = NULL((void*)0);
2662 modelica_metatype _outputs2 = NULL((void*)0);
2663 modelica_metatype _slots1 = NULL((void*)0);
2664 modelica_metatype _slots2 = NULL((void*)0);
2665 modelica_metatype _input2 = NULL((void*)0);
2666 modelica_metatype _output2 = NULL((void*)0);
2667 modelica_metatype _slot1 = NULL((void*)0);
2668 modelica_metatype _slot2 = NULL((void*)0);
2669 modelica_boolean _matching;
2670 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
2671 MMC_SO()mmc_check_stackoverflow(threadData);
2672 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2673 _expression = _D_24in_expression;
2674 _compatibleType = _actualType;
2675 _matchKind = 1;
2676 // _inputs1 has no default value.
2677 // _inputs2 has no default value.
2678 // _remaining_inputs has no default value.
2679 // _outputs1 has no default value.
2680 // _outputs2 has no default value.
2681 // _slots1 has no default value.
2682 // _slots2 has no default value.
2683 // _input2 has no default value.
2684 // _output2 has no default value.
2685 // _slot1 has no default value.
2686 // _slot2 has no default value.
2687 // _matching has no default value.
2688#line 2395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2689 /* Pattern-matching assignment */
2690#line 2395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2691 tmpMeta[0] = _actualType;
2692#line 2395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2693 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],12,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((12 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2694#line 2395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2695 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2696#line 2395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2697 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,11)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((11 +1
) << 10) + (((0 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2698#line 2395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2699 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
2700#line 2395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2701 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (5)))))
;
2702#line 2395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2703 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (7)))))
;
2704#line 2395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2705 _inputs1 = tmpMeta[2];
2706#line 2395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2707 _outputs1 = tmpMeta[3];
2708#line 2395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2709 _slots1 = tmpMeta[4];
2710#line 2710 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2711
2712#line 2397 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2713 /* Pattern-matching assignment */
2714#line 2397 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2715 tmpMeta[0] = _expectedType;
2716#line 2397 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2717 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],12,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[0]) - 3)))==(((2 +1)
<< 10) + (((12 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2718#line 2397 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2719 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2720#line 2397 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2721 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,11)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((11 +1
) << 10) + (((0 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2722#line 2397 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2723 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
2724#line 2397 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2725 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (5)))))
;
2726#line 2397 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2727 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (7)))))
;
2728#line 2397 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2729 _inputs2 = tmpMeta[2];
2730#line 2397 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2731 _outputs2 = tmpMeta[3];
2732#line 2397 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2733 _slots2 = tmpMeta[4];
2734#line 2734 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2735
2736#line 2401 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2737 if((listLength(_outputs1) != listLength(_outputs2)))
2738#line 2401 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2739 {
2740#line 2402 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2741 _matchKind = 7;
2742#line 2742 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2743
2744#line 2403 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2745 goto _return;
2746#line 2746 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2747 }
2748
2749#line 2406 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2750 if((!omc_NFTypeCheck_matchFunctionParameters(threadData, _outputs1, _outputs2, _allowUnknown)))
2751#line 2406 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2752 {
2753#line 2407 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2754 _matchKind = 7;
2755#line 2755 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2756
2757#line 2408 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2758 goto _return;
2759#line 2759 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2760 }
2761
2762#line 2411 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2763 if((!omc_NFTypeCheck_matchFunctionParameters(threadData, _inputs1, _inputs2, _allowUnknown)))
2764#line 2411 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2765 {
2766#line 2412 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2767 _matchKind = 7;
2768#line 2768 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2769
2770#line 2413 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2771 goto _return;
2772#line 2772 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2773 }
2774
2775#line 2418 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2776 {
2777#line 2418 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2778 modelica_metatype _i;
2779#line 2418 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2780 for (tmpMeta[0] = _inputs2; !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)))))
)
2781#line 2418 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2782 {
2783#line 2418 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2784 _i = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2785#line 2419 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2786 /* Pattern-matching assignment */
2787#line 2419 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2788 tmpMeta[1] = _slots1;
2789#line 2419 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2790 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2791#line 2419 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2792 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2793#line 2419 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2794 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2795#line 2419 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2796 _slot1 = tmpMeta[2];
2797#line 2419 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2798 _slots1 = tmpMeta[3];
2799#line 2799 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2800
2801#line 2420 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2802 /* Pattern-matching assignment */
2803#line 2420 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2804 tmpMeta[1] = _slots2;
2805#line 2420 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2806 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2807#line 2420 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2808 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2809#line 2420 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2810 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2811#line 2420 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2812 _slot2 = tmpMeta[2];
2813#line 2420 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2814 _slots2 = tmpMeta[3];
2815#line 2815 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2816
2817#line 2422 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2818 if((isSome((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_slot2), 4))))(0==((((((*(mmc_uint_t*)((void*)((char*)(((*(void**)(((void*)
((void**)(((void*)((char*)(_slot2) - 3))) + (4))))))) - 3))))
& (7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(((*(void
**)(((void*)((void**)(((void*)((char*)(_slot2) - 3))) + (4)))
)))) - 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char
*)(((*(void**)(((void*)((void**)(((void*)((char*)(_slot2) - 3
))) + (4))))))) - 3)))) >> 10)) ? 0 : 1)
&& (!isSome((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_slot1), 4))))(0==((((((*(mmc_uint_t*)((void*)((char*)(((*(void**)(((void*)
((void**)(((void*)((char*)(_slot1) - 3))) + (4))))))) - 3))))
& (7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(((*(void
**)(((void*)((void**)(((void*)((char*)(_slot1) - 3))) + (4)))
)))) - 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char
*)(((*(void**)(((void*)((void**)(((void*)((char*)(_slot1) - 3
))) + (4))))))) - 3)))) >> 10)) ? 0 : 1)
)))
2819#line 2422 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2820 {
2821#line 2423 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2822 _matchKind = 7;
2823#line 2823 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2824
2825#line 2424 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2826 goto _return;
2827#line 2827 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2828 }
2829 }
2830 }
2831
2832#line 2430 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2833 {
2834#line 2430 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2835 modelica_metatype _slot;
2836#line 2430 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2837 for (tmpMeta[0] = _slots1; !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)))))
)
2838#line 2430 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2839 {
2840#line 2430 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2841 _slot = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2842#line 2431 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2843 if((!isSome((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_slot), 4))))(0==((((((*(mmc_uint_t*)((void*)((char*)(((*(void**)(((void*)
((void**)(((void*)((char*)(_slot) - 3))) + (4))))))) - 3)))) &
(7)) == 5)) ? ((((*(mmc_uint_t*)((void*)((char*)(((*(void**)
(((void*)((void**)(((void*)((char*)(_slot) - 3))) + (4)))))))
- 3)))) >> (3+3))) : (((*(mmc_uint_t*)((void*)((char*)
(((*(void**)(((void*)((void**)(((void*)((char*)(_slot) - 3)))
+ (4))))))) - 3)))) >> 10)) ? 0 : 1)
))
2844#line 2431 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2845 {
2846#line 2432 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2847 _matchKind = 7;
2848#line 2848 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2849
2850#line 2433 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2851 goto _return;
2852#line 2852 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2853 }
2854 }
2855 }
2856 _return: OMC_LABEL_UNUSED__attribute__((unused))
2857 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
2858 if (out_matchKind) { *out_matchKind = _matchKind; }
2859 return _expression;
2860}
2861modelica_metatype boxptr_NFTypeCheck_matchFunctionTypes(threadData_t *threadData, modelica_metatype _actualType, modelica_metatype _expectedType, modelica_metatype _D_24in_expression, modelica_metatype _allowUnknown, modelica_metatype *out_compatibleType, modelica_metatype *out_matchKind)
2862{
2863 modelica_integer tmp1;
2864 modelica_integer _matchKind;
2865 modelica_metatype _expression = NULL((void*)0);
2866 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2867 _expression = omc_NFTypeCheck_matchFunctionTypes(threadData, _actualType, _expectedType, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
2868 /* skip box _expression; NFExpression */
2869 /* skip box _compatibleType; NFType */
2870 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2871 return _expression;
2872}
2873
2874DLLExport
2875modelica_integer omc_NFTypeCheck_matchComponentList(threadData_t *threadData, modelica_metatype _comps1, modelica_metatype _comps2, modelica_boolean _allowUnknown)
2876{
2877 modelica_integer _matchKind;
2878 modelica_metatype _c2 = NULL((void*)0);
2879 modelica_metatype _rest_c2 = NULL((void*)0);
2880 modelica_metatype _dummy = NULL((void*)0);
2881 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
2882 MMC_SO()mmc_check_stackoverflow(threadData);
2883 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2884 // _matchKind has no default value.
2885 // _c2 has no default value.
2886 _rest_c2 = _comps2;
2887 _dummy = _OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3));
2888#line 2359 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2889 if((listLength(_comps1) != listLength(_comps2)))
2890#line 2359 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2891 {
2892#line 2360 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2893 _matchKind = 7;
2894#line 2894 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2895 }
2896 else
2897 {
2898#line 2362 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2899 {
2900#line 2362 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2901 modelica_metatype _c1;
2902#line 2362 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2903 for (tmpMeta[0] = _comps1; !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)))))
)
2904#line 2362 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2905 {
2906#line 2362 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2907 _c1 = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2908#line 2363 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2909 /* Pattern-matching assignment */
2910#line 2363 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2911 tmpMeta[1] = _rest_c2;
2912#line 2363 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2913 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2914#line 2363 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2915 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2916#line 2363 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2917 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2918#line 2363 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2919 _c2 = tmpMeta[2];
2920#line 2363 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2921 _rest_c2 = tmpMeta[3];
2922#line 2922 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2923
2924#line 2365 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2925 if((!stringEqual(omc_NFInstNode_InstNode_name(threadData, _c1), omc_NFInstNode_InstNode_name(threadData, _c2))((((((*(mmc_uint_t*)((void*)((char*)(omc_NFInstNode_InstNode_name
(threadData, _c1)) - 3)))) >> (3)) - 8)) == (((((*(mmc_uint_t
*)((void*)((char*)(omc_NFInstNode_InstNode_name(threadData, _c2
)) - 3)))) >> (3)) - 8)) && !mmc_stringCompare(
omc_NFInstNode_InstNode_name(threadData, _c1),omc_NFInstNode_InstNode_name
(threadData, _c2)))
))
2926#line 2365 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2927 {
2928#line 2366 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2929 _matchKind = 7;
2930#line 2930 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2931
2932#line 2367 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2933 goto _return;
2934#line 2934 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2935 }
2936
2937#line 2370 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2938 omc_NFTypeCheck_matchTypes(threadData, omc_NFInstNode_InstNode_getType(threadData, _c1), omc_NFInstNode_InstNode_getType(threadData, _c2), _dummy, _allowUnknown ,NULL((void*)0) ,&_matchKind);
2939#line 2939 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2940
2941#line 2372 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2942 if(((modelica_integer)_matchKind == 7))
2943#line 2372 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2944 {
2945#line 2373 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2946 goto _return;
2947#line 2947 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2948 }
2949 }
2950 }
2951 }
2952
2953#line 2378 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2954 _matchKind = 6;
2955#line 2955 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2956 _return: OMC_LABEL_UNUSED__attribute__((unused))
2957 return _matchKind;
2958}
2959modelica_metatype boxptr_NFTypeCheck_matchComponentList(threadData_t *threadData, modelica_metatype _comps1, modelica_metatype _comps2, modelica_metatype _allowUnknown)
2960{
2961 modelica_integer tmp1;
2962 modelica_integer _matchKind;
2963 modelica_metatype out_matchKind;
2964 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2965 _matchKind = omc_NFTypeCheck_matchComponentList(threadData, _comps1, _comps2, tmp1);
2966 out_matchKind = mmc_mk_icon(_matchKind);
2967 return out_matchKind;
2968}
2969
2970DLLExport
2971modelica_metatype omc_NFTypeCheck_matchComplexTypes(threadData_t *threadData, modelica_metatype _actualType, modelica_metatype _expectedType, modelica_metatype _D_24in_expression, modelica_boolean _allowUnknown, modelica_metatype *out_compatibleType, modelica_integer *out_matchKind)
2972{
2973 modelica_metatype _expression = NULL((void*)0);
2974 modelica_metatype _compatibleType = NULL((void*)0);
2975 modelica_integer _matchKind;
2976 modelica_metatype _cls1 = NULL((void*)0);
2977 modelica_metatype _cls2 = NULL((void*)0);
2978 modelica_metatype _anode = NULL((void*)0);
2979 modelica_metatype _enode = NULL((void*)0);
2980 modelica_metatype _comps1 = NULL((void*)0);
2981 modelica_metatype _comps2 = NULL((void*)0);
2982 modelica_metatype _path = NULL((void*)0);
2983 modelica_metatype _ty = NULL((void*)0);
2984 modelica_metatype _cty1 = NULL((void*)0);
2985 modelica_metatype _cty2 = NULL((void*)0);
2986 modelica_metatype _e = NULL((void*)0);
2987 modelica_metatype _elements = NULL((void*)0);
2988 modelica_metatype _matched_elements = NULL((void*)0);
2989 modelica_integer _mk;
2990 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
2991 MMC_SO()mmc_check_stackoverflow(threadData);
2992 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2993 _expression = _D_24in_expression;
2994 _compatibleType = _actualType;
2995 _matchKind = 7;
2996 // _cls1 has no default value.
2997 // _cls2 has no default value.
2998 // _anode has no default value.
2999 // _enode has no default value.
3000 // _comps1 has no default value.
3001 // _comps2 has no default value.
3002 // _path has no default value.
3003 // _ty has no default value.
3004 // _cty1 has no default value.
3005 // _cty2 has no default value.
3006 // _e has no default value.
3007 // _elements has no default value.
3008 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3009 _matched_elements = tmpMeta[0];
3010 // _mk has no default value.
3011#line 2254 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3012 /* Pattern-matching assignment */
3013#line 2254 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3014 tmpMeta[1] = _actualType;
3015#line 2254 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3016 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],11,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((2 +1)
<< 10) + (((11 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3017#line 2254 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3018 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3019#line 2254 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3020 _anode = tmpMeta[2];
3021#line 3021 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3022
3023#line 2255 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3024 /* Pattern-matching assignment */
3025#line 2255 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3026 tmpMeta[1] = _expectedType;
3027#line 2255 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3028 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],11,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((2 +1)
<< 10) + (((11 +3) & 255) << 2)))
== 0) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3029#line 2255 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3030 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3031#line 2255 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3032 _enode = tmpMeta[2];
3033#line 3033 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3034
3035#line 2258 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3036 if(omc_NFInstNode_InstNode_isSame(threadData, _anode, _enode))
3037#line 2258 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3038 {
3039#line 2259 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3040 _matchKind = 1;
3041#line 3041 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3042
3043#line 2260 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3044 goto _return;
3045#line 3045 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3046 }
3047
3048#line 2263 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3049 _cls1 = omc_NFInstNode_InstNode_getClass(threadData, _anode);
3050#line 3050 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3051
3052#line 2264 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3053 _cls2 = omc_NFInstNode_InstNode_getClass(threadData, _enode);
3054#line 3054 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3055
3056#line 3056 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3057 { /* match expression */
3058 modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
3059 tmp3_1 = _cls1;
3060 tmp3_2 = _cls2;
3061 tmp3_3 = _expression;
3062 {
3063 volatile mmc_switch_type tmp3;
3064 int tmp4;
3065 tmp3 = 0;
3066 for (; tmp3 < 4; tmp3++) {
3067 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
3068 case 0: {
3069 modelica_integer tmp5;
3070 modelica_integer tmp6;
3071 modelica_integer tmp7;
3072 if (mmc__uniontype__metarecord__typedef__equal(tmp3_3,11,3)((*(mmc_uint_t*)((void*)((char*)(tmp3_3) - 3)))==(((3 +1) <<
10) + (((11 +3) & 255) << 2)))
== 0) goto tmp2_end;
3073 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_3), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_3) - 3))) +
(4)))))
;
3074 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,4)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((4 +1) <<
10) + (((5 +3) & 255) << 2)))
== 0) goto tmp2_end;
3075 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
3076 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],3,5)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((5 +1)
<< 10) + (((3 +3) & 255) << 2)))
== 0) goto tmp2_end;
3077 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (4)))))
;
3078 if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,4)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))==(((4 +1) <<
10) + (((5 +3) & 255) << 2)))
== 0) goto tmp2_end;
3079 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(3)))))
;
3080 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],3,5)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((5 +1)
<< 10) + (((3 +3) & 255) << 2)))
== 0) goto tmp2_end;
3081 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (4)))))
;
3082
3083 _elements = tmpMeta[1];
3084 _comps1 = tmpMeta[3];
3085 _comps2 = tmpMeta[5];
3086 /* Pattern matching succeeded */
3087#line 2272 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3088 _matchKind = 6;
3089#line 3089 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3090
3091#line 2274 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3092 if(((arrayLength(_comps1) != arrayLength(_comps2)) || (arrayLength(_comps1) != listLength(_elements))))
3093#line 2274 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3094 {
3095#line 2276 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3096 _matchKind = 7;
3097#line 3097 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3098 }
3099 else
3100 {
3101#line 2278 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3102 tmp5 = ((modelica_integer) 1); tmp6 = 1; tmp7 = arrayLength(_comps1);
3103#line 2278 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3104 if(!(((tmp6 > 0) && (tmp5 > tmp7)) || ((tmp6 < 0) && (tmp5 < tmp7))))
3105#line 2278 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3106 {
3107#line 2278 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3108 modelica_integer _i;
3109#line 2278 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3110 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp5, tmp7); _i += tmp6)
3111#line 2278 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3112 {
3113#line 2279 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3114 /* Pattern-matching assignment */
3115#line 2279 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3116 tmpMeta[1] = _elements;
3117#line 2279 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3118 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
3119#line 2279 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3120 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
3121#line 2279 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3122 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3123#line 2279 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3124 _e = tmpMeta[2];
3125#line 2279 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3126 _elements = tmpMeta[3];
3127#line 3127 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3128
3129#line 2280 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3130 _e = omc_NFTypeCheck_matchTypes(threadData, omc_NFInstNode_InstNode_getType(threadData, arrayGet(_comps1,_i)nobox_arrayGet(threadData,_comps1,_i) /* DAE.ASUB */), omc_NFInstNode_InstNode_getType(threadData, arrayGet(_comps2,_i)nobox_arrayGet(threadData,_comps2,_i) /* DAE.ASUB */), _e, _allowUnknown ,NULL((void*)0) ,&_mk);
3131#line 3131 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3132
3133#line 2281 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3134 tmpMeta[1] = mmc_mk_cons(_e, _matched_elements);
3135#line 2281 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3136 _matched_elements = tmpMeta[1];
3137#line 3137 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3138
3139#line 2283 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3140 if(((modelica_integer)_mk == 2))
3141#line 2283 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3142 {
3143#line 2284 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3144 _matchKind = (modelica_integer)_mk;
3145#line 3145 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3146 }
3147 else
3148 {
3149 if((!omc_NFTypeCheck_isValidPlugCompatibleMatch(threadData, (modelica_integer)_mk)))
3150 {
3151#line 2286 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3152 _matchKind = 7;
3153#line 3153 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3154
3155#line 2287 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3156 break;
3157#line 3157 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3158 }
3159 }
3160 }
3161 }
3162
3163#line 2291 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3164 if(((modelica_integer)_matchKind == 2))
3165#line 2291 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3166 {
3167#line 2292 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3168 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(5))((void*)((char*)(mmc_alloc_words(5)) + 3));
3169#line 2292 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3170 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_expression)((void*)((char*)(_expression) - 3)), 5*sizeof(modelica_metatype));
3171#line 2292 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3172 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[4] = listReverse(_matched_elements);
3173#line 2292 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3174 _expression = tmpMeta[1];
3175#line 3175 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3176 }
3177 }
3178
3179#line 2296 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3180 if(((modelica_integer)_matchKind != 7))
3181#line 2296 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3182 {
3183#line 2297 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3184 _matchKind = 6;
3185#line 3185 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3186 }
3187#line 3187 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3188 goto tmp2_done;
3189 }
3190 case 1: {
3191 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,4)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((4 +1) <<
10) + (((5 +3) & 255) << 2)))
== 0) goto tmp2_end;
3192 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
3193 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],11,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((2 +1)
<< 10) + (((11 +3) & 255) << 2)))
== 0) goto tmp2_end;
3194 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
3195 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],2,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3)))==(((3 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp2_end;
3196 if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,4)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))==(((4 +1) <<
10) + (((5 +3) & 255) << 2)))
== 0) goto tmp2_end;
3197 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(2)))))
;
3198 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],11,2)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((2 +1)
<< 10) + (((11 +3) & 255) << 2)))
== 0) goto tmp2_end;
3199 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (3)))))
;
3200 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[4],2,3)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[4]) - 3)))==(((3 +1)
<< 10) + (((2 +3) & 255) << 2)))
== 0) goto tmp2_end;
3201
3202 _cty1 = tmpMeta[2];
3203 _cty2 = tmpMeta[4];
3204 /* Pattern matching succeeded */
3205#line 2306 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3206 _matchKind = omc_NFTypeCheck_matchComponentList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cty1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_cty1) - 3))) +
(2)))))
), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cty2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_cty2) - 3))) +
(2)))))
), _allowUnknown);
3207#line 3207 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3208
3209#line 2307 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3210 if(((modelica_integer)_matchKind != 7))
3211#line 2307 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3212 {
3213#line 2308 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3214 _matchKind = omc_NFTypeCheck_matchComponentList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cty1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_cty1) - 3))) +
(3)))))
), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cty2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_cty2) - 3))) +
(3)))))
), _allowUnknown);
3215#line 3215 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3216
3217#line 2309 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3218 if(((modelica_integer)_matchKind != 7))
3219#line 2309 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3220 {
3221#line 2310 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3222 _matchKind = omc_NFTypeCheck_matchComponentList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cty1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_cty1) - 3))) +
(4)))))
), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cty2), 4))(*(void**)(((void*)((void**)(((void*)((char*)(_cty2) - 3))) +
(4)))))
), _allowUnknown);
3223#line 3223 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3224 }
3225 }
3226
3227#line 2314 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3228 if(((modelica_integer)_matchKind != 7))
3229#line 2314 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3230 {
3231#line 2315 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3232 _matchKind = 6;
3233#line 3233 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3234 }
3235#line 3235 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3236 goto tmp2_done;
3237 }
3238 case 2: {
3239 modelica_integer tmp8;
3240 modelica_integer tmp9;
3241 modelica_integer tmp10;
3242 if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,4)((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))==(((4 +1) <<
10) + (((5 +3) & 255) << 2)))
== 0) goto tmp2_end;
3243 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
3244 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,5)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3)))==(((5 +1)
<< 10) + (((3 +3) & 255) << 2)))
== 0) goto tmp2_end;
3245 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
3246 if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,5,4)((*(mmc_uint_t*)((void*)((char*)(tmp3_2) - 3)))==(((4 +1) <<
10) + (((5 +3) & 255) << 2)))
== 0) goto tmp2_end;
3247 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(3)))))
;
3248 if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[3],3,5)((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3)))==(((5 +1)
<< 10) + (((3 +3) & 255) << 2)))
== 0) goto tmp2_end;
3249 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (4)))))
;
3250
3251 _comps1 = tmpMeta[2];
3252 _comps2 = tmpMeta[4];
3253 /* Pattern matching succeeded */
3254#line 2323 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3255 _matchKind = 6;
3256#line 3256 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3257
3258#line 2325 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3259 if((arrayLength(_comps1) != arrayLength(_comps2)))
3260#line 2325 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3261 {
3262#line 2326 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3263 _matchKind = 7;
3264#line 3264 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3265 }
3266 else
3267 {
3268#line 2328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3269 tmp8 = ((modelica_integer) 1); tmp9 = 1; tmp10 = arrayLength(_comps1);
3270#line 2328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3271 if(!(((tmp9 > 0) && (tmp8 > tmp10)) || ((tmp9 < 0) && (tmp8 < tmp10))))
3272#line 2328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3273 {
3274#line 2328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3275 modelica_integer _i;
3276#line 2328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3277 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp8, tmp10); _i += tmp9)
3278#line 2328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3279 {
3280#line 2329 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3281 omc_NFTypeCheck_matchTypes(threadData, omc_NFInstNode_InstNode_getType(threadData, arrayGet(_comps1,_i)nobox_arrayGet(threadData,_comps1,_i) /* DAE.ASUB */), omc_NFInstNode_InstNode_getType(threadData, arrayGet(_comps2,_i)nobox_arrayGet(threadData,_comps2,_i) /* DAE.ASUB */), _expression, _allowUnknown ,NULL((void*)0) ,&_mk);
3282#line 3282 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3283
3284#line 2331 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3285 if((!omc_NFTypeCheck_isValidPlugCompatibleMatch(threadData, (modelica_integer)_mk)))
3286#line 2331 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3287 {
3288#line 2332 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3289 _matchKind = 7;
3290#line 3290 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3291
3292#line 2333 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3293 break;
3294#line 3294 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3295 }
3296 }
3297 }
3298 }
3299#line 3299 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3300 goto tmp2_done;
3301 }
3302 case 3: {
3303
3304 /* Pattern matching succeeded */
3305#line 2342 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3306 _matchKind = 7;
3307#line 3307 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3308#line 3308 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3309 goto tmp2_done;
3310 }
3311 }
3312 goto tmp2_end;
3313 tmp2_end: ;
3314 }
3315 goto goto_1;
3316 goto_1:;
3317 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3318 goto tmp2_done;
3319 tmp2_done:;
3320 }
3321 }
3322 ;
3323 _return: OMC_LABEL_UNUSED__attribute__((unused))
3324 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
3325 if (out_matchKind) { *out_matchKind = _matchKind; }
3326 return _expression;
3327}
3328modelica_metatype boxptr_NFTypeCheck_matchComplexTypes(threadData_t *threadData, modelica_metatype _actualType, modelica_metatype _expectedType, modelica_metatype _D_24in_expression, modelica_metatype _allowUnknown, modelica_metatype *out_compatibleType, modelica_metatype *out_matchKind)
3329{
3330 modelica_integer tmp1;
3331 modelica_integer _matchKind;
3332 modelica_metatype _expression = NULL((void*)0);
3333 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
3334 _expression = omc_NFTypeCheck_matchComplexTypes(threadData, _actualType, _expectedType, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
3335 /* skip box _expression; NFExpression */
3336 /* skip box _compatibleType; NFType */
3337 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
3338 return _expression;
3339}
3340
3341DLLExport
3342modelica_metatype omc_NFTypeCheck_matchExpressions__cast(threadData_t *threadData, modelica_metatype _D_24in_exp1, modelica_metatype _type1, modelica_metatype _D_24in_exp2, modelica_metatype _type2, modelica_boolean _allowUnknown, modelica_metatype *out_exp2, modelica_metatype *out_compatibleType, modelica_integer *out_matchKind)
3343{
3344 modelica_metatype _exp1 = NULL((void*)0);
3345 modelica_metatype _exp2 = NULL((void*)0);
3346 modelica_metatype _compatibleType = NULL((void*)0);
3347 modelica_integer _matchKind;
3348 modelica_integer tmp1_c1 __attribute__((unused)) = 0;
3349 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
3350 MMC_SO()mmc_check_stackoverflow(threadData);
3351 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3352 _exp1 = _D_24in_exp1;
3353 _exp2 = _D_24in_exp2;
3354 // _compatibleType has no default value.
3355 // _matchKind has no default value.
3356#line 2154 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3357
3358#line 2154 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3359
3360#line 3360 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3361 { /* match expression */
3362 modelica_metatype tmp4_1;modelica_metatype tmp4_2;
3363 tmp4_1 = _type1;
3364 tmp4_2 = _type2;
3365 {
3366 volatile mmc_switch_type tmp4;
3367 int tmp5;
3368 tmp4 = 0;
3369 for (; tmp4 < 12; tmp4++) {
3370 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
3371 case 0: {
3372 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((0 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
3373 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((0 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3374 /* Pattern matching succeeded */
3375#line 2158 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3376 _exp1 = omc_NFExpression_typeCast(threadData, _exp1, _type2);
3377#line 3377 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3378#line 2159 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3379 tmpMeta[0+0] = _type2;
3380#line 2159 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3381 tmp1_c1 = 2;
3382#line 3382 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3383 goto tmp3_done;
3384 }
3385 case 1: {
3386 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((0 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3387 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((0 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
3388 /* Pattern matching succeeded */
3389#line 2164 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3390 _exp2 = omc_NFExpression_typeCast(threadData, _exp2, _type1);
3391#line 3391 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3392#line 2165 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3393 tmpMeta[0+0] = _type1;
3394#line 2165 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3395 tmp1_c1 = 2;
3396#line 3396 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3397 goto tmp3_done;
3398 }
3399 case 2: {
3400 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((0 +1) <<
10) + (((3 +3) & 255) << 2)))
== 0) goto tmp3_end;
3401 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((0 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3402 /* Pattern matching succeeded */
3403 /* Check guard condition after assignments */
3404 if (!omc_Flags_isSet(threadData, _OMC_LIT94((void*)((char*)(&(_OMC_LIT_STRUCT94).header) + 3)))) goto tmp3_end;
3405#line 2172 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3406 tmpMeta[2] = stringAppend(_OMC_LIT89((void*)((char*)(&(_OMC_LIT_STRUCT89).header) + 3)),omc_NFExpression_toString(threadData, _exp1));
3407#line 2172 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3408 tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT90((void*)((char*)(&(_OMC_LIT_STRUCT90).header) + 3)));
3409#line 2172 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3410 omc_Error_addCompilerWarning(threadData, tmpMeta[3]);
3411#line 3411 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3412
3413#line 2173 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3414 _exp1 = omc_NFExpression_typeCast(threadData, _exp1, _type2);
3415#line 3415 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3416#line 2174 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3417 tmpMeta[0+0] = _type2;
3418#line 2174 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3419 tmp1_c1 = 2;
3420#line 3420 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3421 goto tmp3_done;
3422 }
3423 case 3: {
3424 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((0 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
3425 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((0 +1) <<
10) + (((3 +3) & 255) << 2)))
== 0) goto tmp3_end;
3426 /* Pattern matching succeeded */
3427 /* Check guard condition after assignments */
3428 if (!omc_Flags_isSet(threadData, _OMC_LIT94((void*)((char*)(&(_OMC_LIT_STRUCT94).header) + 3)))) goto tmp3_end;
3429#line 2179 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3430 tmpMeta[2] = stringAppend(_OMC_LIT89((void*)((char*)(&(_OMC_LIT_STRUCT89).header) + 3)),omc_NFExpression_toString(threadData, _exp2));
3431#line 2179 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3432 tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT90((void*)((char*)(&(_OMC_LIT_STRUCT90).header) + 3)));
3433#line 2179 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3434 omc_Error_addCompilerWarning(threadData, tmpMeta[3]);
3435#line 3435 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3436
3437#line 2180 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3438 _exp2 = omc_NFExpression_typeCast(threadData, _exp2, _type1);
3439#line 3439 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3440#line 2181 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3441 tmpMeta[0+0] = _type1;
3442#line 2181 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3443 tmp1_c1 = 2;
3444#line 3444 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3445 goto tmp3_done;
3446 }
3447 case 4: {
3448 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,8,2)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((2 +1) <<
10) + (((8 +3) & 255) << 2)))
== 0) goto tmp3_end;
3449 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
3450 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3451 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
3452 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
3453
3454 _compatibleType = tmpMeta[3];
3455 /* Pattern matching succeeded */
3456#line 2190 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3457 _exp2 = omc_NFExpression_tupleElement(threadData, _exp2, _compatibleType, ((modelica_integer) 1));
3458#line 3458 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3459
3460#line 2191 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3461 _exp2 = omc_NFTypeCheck_matchTypes(threadData, _compatibleType, _type1, _exp2, _allowUnknown ,&_compatibleType ,&_matchKind);
3462#line 3462 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3463
3464#line 2194 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3465 if(omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_matchKind))
3466#line 2194 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3467 {
3468#line 2195 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3469 _matchKind = 2;
3470#line 3470 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3471 }
3472#line 2197 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3473 tmpMeta[0+0] = _compatibleType;
3474#line 2197 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3475 tmp1_c1 = (modelica_integer)_matchKind;
3476#line 3476 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3477 goto tmp3_done;
3478 }
3479 case 5: {
3480 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,10,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((0 +1) <<
10) + (((10 +3) & 255) << 2)))
== 0) goto tmp3_end;
3481
3482 /* Pattern matching succeeded */
3483#line 2201 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3484 tmpMeta[0+0] = _type2;
3485#line 2201 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3486 tmp1_c1 = (_allowUnknown?1:7);
3487#line 3487 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3488 goto tmp3_done;
3489 }
3490 case 6: {
3491 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,10,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((0 +1) <<
10) + (((10 +3) & 255) << 2)))
== 0) goto tmp3_end;
3492
3493 /* Pattern matching succeeded */
3494#line 2204 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3495 tmpMeta[0+0] = _type1;
3496#line 2204 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3497 tmp1_c1 = (_allowUnknown?1:7);
3498#line 3498 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3499 goto tmp3_done;
3500 }
3501 case 7: {
3502 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;
3503
3504 /* Pattern matching succeeded */
3505#line 2208 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3506 _exp1 = omc_NFTypeCheck_matchExpressions(threadData, omc_NFExpression_unbox(threadData, _exp1), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_type1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_type1) - 3))) +
(2)))))
), _exp2, _type2, _allowUnknown ,&_exp2 ,&_compatibleType ,&_matchKind);
3507#line 3507 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3508#line 2210 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3509 tmpMeta[0+0] = _compatibleType;
3510#line 2210 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3511 tmp1_c1 = (modelica_integer)_matchKind;
3512#line 3512 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3513 goto tmp3_done;
3514 }
3515 case 8: {
3516 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,13,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((1 +1) <<
10) + (((13 +3) & 255) << 2)))
== 0) goto tmp3_end;
3517
3518 /* Pattern matching succeeded */
3519#line 2215 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3520 _exp1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _type1, omc_NFExpression_unbox(threadData, _exp2), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_type2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_type2) - 3))) +
(2)))))
), _allowUnknown ,&_exp2 ,&_compatibleType ,&_matchKind);
3521#line 3521 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3522#line 2217 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3523 tmpMeta[0+0] = _compatibleType;
3524#line 2217 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3525 tmp1_c1 = (modelica_integer)_matchKind;
3526#line 3526 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3527 goto tmp3_done;
3528 }
3529 case 9: {
3530 if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,14,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_2) - 3)))==(((1 +1) <<
10) + (((14 +3) & 255) << 2)))
== 0) goto tmp3_end;
3531
3532 /* Pattern matching succeeded */
3533#line 2222 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3534 _exp1 = omc_NFExpression_box(threadData, _exp1);
3535#line 3535 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3536#line 2223 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3537 tmpMeta[0+0] = omc_NFType_box(threadData, _type1);
3538#line 2223 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3539 tmp1_c1 = 5;
3540#line 3540 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3541 goto tmp3_done;
3542 }
3543 case 10: {
3544 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,14,1)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((1 +1) <<
10) + (((14 +3) & 255) << 2)))
== 0) goto tmp3_end;
3545
3546 /* Pattern matching succeeded */
3547#line 2228 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3548 _exp2 = omc_NFExpression_box(threadData, _exp2);
3549#line 3549 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3550#line 2229 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3551 tmpMeta[0+0] = omc_NFType_box(threadData, _type2);
3552#line 2229 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3553 tmp1_c1 = 5;
3554#line 3554 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3555 goto tmp3_done;
3556 }
3557 case 11: {
3558
3559 /* Pattern matching succeeded */
3560#line 2232 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3561 tmpMeta[0+0] = _OMC_LIT88((void*)((char*)(&(_OMC_LIT_STRUCT88).header) + 3));
3562#line 2232 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3563 tmp1_c1 = 7;
3564#line 3564 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3565 goto tmp3_done;
3566 }
3567 }
3568 goto tmp3_end;
3569 tmp3_end: ;
3570 }
3571 goto goto_2;
3572 goto_2:;
3573 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3574 goto tmp3_done;
3575 tmp3_done:;
3576 }
3577 }
3578 _compatibleType = tmpMeta[0+0];
3579 _matchKind = tmp1_c1;
3580 _return: OMC_LABEL_UNUSED__attribute__((unused))
3581 if (out_exp2) { *out_exp2 = _exp2; }
3582 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
3583 if (out_matchKind) { *out_matchKind = _matchKind; }
3584 return _exp1;
3585}
3586modelica_metatype boxptr_NFTypeCheck_matchExpressions__cast(threadData_t *threadData, modelica_metatype _D_24in_exp1, modelica_metatype _type1, modelica_metatype _D_24in_exp2, modelica_metatype _type2, modelica_metatype _allowUnknown, modelica_metatype *out_exp2, modelica_metatype *out_compatibleType, modelica_metatype *out_matchKind)
3587{
3588 modelica_integer tmp1;
3589 modelica_integer _matchKind;
3590 modelica_metatype _exp1 = NULL((void*)0);
3591 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
3592 _exp1 = omc_NFTypeCheck_matchExpressions__cast(threadData, _D_24in_exp1, _type1, _D_24in_exp2, _type2, tmp1, out_exp2, out_compatibleType, &_matchKind);
3593 /* skip box _exp1; NFExpression */
3594 /* skip box _exp2; NFExpression */
3595 /* skip box _compatibleType; NFType */
3596 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
3597 return _exp1;
3598}
3599
3600DLLExport
3601modelica_metatype omc_NFTypeCheck_matchTypes(threadData_t *threadData, modelica_metatype _actualType, modelica_metatype _expectedType, modelica_metatype _D_24in_expression, modelica_boolean _allowUnknown, modelica_metatype *out_compatibleType, modelica_integer *out_matchKind)
3602{
3603 modelica_metatype _expression = NULL((void*)0);
3604 modelica_metatype _compatibleType = NULL((void*)0);
3605 modelica_integer _matchKind;
3606 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
3607 MMC_SO()mmc_check_stackoverflow(threadData);
3608 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3609 _expression = _D_24in_expression;
3610 // _compatibleType has no default value.
3611 // _matchKind has no default value.
3612#line 2061 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3613 if(referenceEq(_actualType, _expectedType)((_actualType) == (_expectedType)))
3614#line 2061 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3615 {
3616#line 2062 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3617 _compatibleType = _actualType;
3618#line 3618 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3619
3620#line 2063 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3621 _matchKind = 1;
3622#line 3622 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3623
3624#line 2064 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3625 goto _return;
3626#line 3626 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3627 }
3628
3629#line 2068 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3630 if((valueConstructor(_actualType)((((*(mmc_uint_t*)((void*)((char*)(_actualType) - 3)))) >>
2) & 255)
!= valueConstructor(_expectedType)((((*(mmc_uint_t*)((void*)((char*)(_expectedType) - 3)))) >>
2) & 255)
))
3631#line 2068 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3632 {
3633#line 2071 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3634 _expression = omc_NFTypeCheck_matchTypes__cast(threadData, _actualType, _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
3635#line 3635 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3636
3637#line 2073 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3638 goto _return;
3639#line 3639 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3640 }
3641
3642#line 2077 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3643 _matchKind = 1;
3644#line 3644 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3645
3646#line 3646 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3647 { /* match expression */
3648 modelica_metatype tmp3_1;
3649 tmp3_1 = _actualType;
3650 {
3651 int tmp3;
3652 {
3653 switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) >> 2
) & 255))
) {
3654 case 3: {
3655
3656 /* Pattern matching succeeded */
3657#line 2079 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3658 tmpMeta[0] = _actualType;
3659#line 3659 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3660 goto tmp2_done;
3661 }
3662 case 4: {
3663
3664 /* Pattern matching succeeded */
3665#line 2080 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3666 tmpMeta[0] = _actualType;
3667#line 3667 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3668 goto tmp2_done;
3669 }
3670 case 5: {
3671
3672 /* Pattern matching succeeded */
3673#line 2081 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3674 tmpMeta[0] = _actualType;
3675#line 3675 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3676 goto tmp2_done;
3677 }
3678 case 6: {
3679
3680 /* Pattern matching succeeded */
3681#line 2082 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3682 tmpMeta[0] = _actualType;
3683#line 3683 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3684 goto tmp2_done;
3685 }
3686 case 7: {
3687
3688 /* Pattern matching succeeded */
3689#line 2083 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3690 tmpMeta[0] = _actualType;
3691#line 3691 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3692 goto tmp2_done;
3693 }
3694 case 8: {
3695
3696 /* Pattern matching succeeded */
3697#line 2087 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3698 _matchKind = omc_NFTypeCheck_matchEnumerationTypes(threadData, _actualType, _expectedType);
3699#line 3699 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3700#line 2088 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3701 tmpMeta[0] = _actualType;
3702#line 3702 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3703 goto tmp2_done;
3704 }
3705 case 9: {
3706
3707 /* Pattern matching succeeded */
3708#line 2091 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3709 tmpMeta[0] = _actualType;
3710#line 3710 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3711 goto tmp2_done;
3712 }
3713 case 10: {
3714
3715 /* Pattern matching succeeded */
3716#line 2095 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3717 _expression = omc_NFTypeCheck_matchArrayTypes(threadData, _actualType, _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
3718#line 3718 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3719#line 2097 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3720 tmpMeta[0] = _compatibleType;
3721#line 3721 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3722 goto tmp2_done;
3723 }
3724 case 11: {
3725
3726 /* Pattern matching succeeded */
3727#line 2102 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3728 _expression = omc_NFTypeCheck_matchTupleTypes(threadData, _actualType, _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
3729#line 3729 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3730#line 2104 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3731 tmpMeta[0] = _compatibleType;
3732#line 3732 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3733 goto tmp2_done;
3734 }
3735 case 13: {
3736
3737 /* Pattern matching succeeded */
3738#line 2109 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3739 _matchKind = (_allowUnknown?1:7);
3740#line 3740 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3741#line 2110 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3742 tmpMeta[0] = _actualType;
3743#line 3743 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3744 goto tmp2_done;
3745 }
3746 case 14: {
3747
3748 /* Pattern matching succeeded */
3749#line 2115 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3750 _expression = omc_NFTypeCheck_matchComplexTypes(threadData, _actualType, _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
3751#line 3751 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3752#line 2117 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3753 tmpMeta[0] = _compatibleType;
3754#line 3754 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3755 goto tmp2_done;
3756 }
3757 case 15: {
3758
3759 /* Pattern matching succeeded */
3760#line 2122 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3761 _expression = omc_NFTypeCheck_matchFunctionTypes(threadData, _actualType, _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
3762#line 3762 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3763#line 2124 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3764 tmpMeta[0] = _compatibleType;
3765#line 3765 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3766 goto tmp2_done;
3767 }
3768 case 16: {
3769
3770 /* Pattern matching succeeded */
3771#line 2129 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3772 _expression = omc_NFTypeCheck_matchTypes(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_actualType), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_actualType) - 3
))) + (2)))))
), omc_NFType_unbox(threadData, _expectedType), omc_NFExpression_unbox(threadData, _expression), _allowUnknown ,&_compatibleType ,&_matchKind);
3773#line 3773 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3774
3775#line 2131 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3776 _expression = omc_NFExpression_box(threadData, _expression);
3777#line 3777 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3778#line 2132 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3779 tmpMeta[0] = omc_NFType_box(threadData, _compatibleType);
3780#line 3780 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3781 goto tmp2_done;
3782 }
3783 default:
3784 tmp2_default: OMC_LABEL_UNUSED__attribute__((unused)); {
3785
3786 /* Pattern matching succeeded */
3787#line 2138 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3788 omc_Error_assertion(threadData, 0, _OMC_LIT95((void*)((char*)(&(_OMC_LIT_STRUCT95).header) + 3)), _OMC_LIT96((void*)((char*)(&(_OMC_LIT_STRUCT96).header) + 3)));
3789#line 3789 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3790#line 2139 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3791 goto goto_1;
3792#line 3792 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3793 goto tmp2_done;
3794 }
3795 }
3796 goto tmp2_end;
3797 tmp2_end: ;
3798 }
3799 goto goto_1;
3800 goto_1:;
3801 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3802 goto tmp2_done;
3803 tmp2_done:;
3804 }
3805 }
3806 _compatibleType = tmpMeta[0];
3807 _return: OMC_LABEL_UNUSED__attribute__((unused))
3808 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
3809 if (out_matchKind) { *out_matchKind = _matchKind; }
3810 return _expression;
3811}
3812modelica_metatype boxptr_NFTypeCheck_matchTypes(threadData_t *threadData, modelica_metatype _actualType, modelica_metatype _expectedType, modelica_metatype _D_24in_expression, modelica_metatype _allowUnknown, modelica_metatype *out_compatibleType, modelica_metatype *out_matchKind)
3813{
3814 modelica_integer tmp1;
3815 modelica_integer _matchKind;
3816 modelica_metatype _expression = NULL((void*)0);
3817 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
3818 _expression = omc_NFTypeCheck_matchTypes(threadData, _actualType, _expectedType, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
3819 /* skip box _expression; NFExpression */
3820 /* skip box _compatibleType; NFType */
3821 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
3822 return _expression;
3823}
3824
3825DLLExport
3826modelica_metatype omc_NFTypeCheck_matchExpressions(threadData_t *threadData, modelica_metatype _D_24in_exp1, modelica_metatype _type1, modelica_metatype _D_24in_exp2, modelica_metatype _type2, modelica_boolean _allowUnknown, modelica_metatype *out_exp2, modelica_metatype *out_compatibleType, modelica_integer *out_matchKind)
3827{
3828 modelica_metatype _exp1 = NULL((void*)0);
3829 modelica_metatype _exp2 = NULL((void*)0);
3830 modelica_metatype _compatibleType = NULL((void*)0);
3831 modelica_integer _matchKind;
3832 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
3833 MMC_SO()mmc_check_stackoverflow(threadData);
3834 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3835 _exp1 = _D_24in_exp1;
3836 _exp2 = _D_24in_exp2;
3837 // _compatibleType has no default value.
3838 // _matchKind has no default value.
3839#line 1974 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3840 if(referenceEq(_type1, _type2)((_type1) == (_type2)))
3841#line 1974 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3842 {
3843#line 1975 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3844 _compatibleType = _type1;
3845#line 3845 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3846
3847#line 1976 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3848 _matchKind = 1;
3849#line 3849 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3850
3851#line 1977 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3852 goto _return;
3853#line 3853 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3854 }
3855
3856#line 1981 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3857 if((valueConstructor(_type1)((((*(mmc_uint_t*)((void*)((char*)(_type1) - 3)))) >> 2
) & 255)
!= valueConstructor(_type2)((((*(mmc_uint_t*)((void*)((char*)(_type2) - 3)))) >> 2
) & 255)
))
3858#line 1981 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3859 {
3860#line 1984 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3861 _exp1 = omc_NFTypeCheck_matchExpressions__cast(threadData, _exp1, _type1, _exp2, _type2, _allowUnknown ,&_exp2 ,&_compatibleType ,&_matchKind);
3862#line 3862 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3863
3864#line 1986 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3865 goto _return;
3866#line 3866 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3867 }
3868
3869#line 1990 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3870 _matchKind = 1;
3871#line 3871 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3872
3873#line 3873 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3874 { /* match expression */
3875 modelica_metatype tmp3_1;
3876 tmp3_1 = _type1;
3877 {
3878 int tmp3;
3879 {
3880 switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) >> 2
) & 255))
) {
3881 case 3: {
3882
3883 /* Pattern matching succeeded */
3884#line 1992 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3885 tmpMeta[0] = _type1;
3886#line 3886 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3887 goto tmp2_done;
3888 }
3889 case 4: {
3890
3891 /* Pattern matching succeeded */
3892#line 1993 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3893 tmpMeta[0] = _type1;
3894#line 3894 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3895 goto tmp2_done;
3896 }
3897 case 5: {
3898
3899 /* Pattern matching succeeded */
3900#line 1994 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3901 tmpMeta[0] = _type1;
3902#line 3902 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3903 goto tmp2_done;
3904 }
3905 case 6: {
3906
3907 /* Pattern matching succeeded */
3908#line 1995 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3909 tmpMeta[0] = _type1;
3910#line 3910 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3911 goto tmp2_done;
3912 }
3913 case 7: {
3914
3915 /* Pattern matching succeeded */
3916#line 1996 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3917 tmpMeta[0] = _type1;
3918#line 3918 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3919 goto tmp2_done;
3920 }
3921 case 8: {
3922
3923 /* Pattern matching succeeded */
3924#line 2000 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3925 _matchKind = omc_NFTypeCheck_matchEnumerationTypes(threadData, _type1, _type2);
3926#line 3926 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3927#line 2001 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3928 tmpMeta[0] = _type1;
3929#line 3929 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3930 goto tmp2_done;
3931 }
3932 case 9: {
3933
3934 /* Pattern matching succeeded */
3935#line 2004 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3936 tmpMeta[0] = _type1;
3937#line 3937 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3938 goto tmp2_done;
3939 }
3940 case 10: {
3941
3942 /* Pattern matching succeeded */
3943#line 2008 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3944 _exp1 = omc_NFTypeCheck_matchArrayExpressions(threadData, _exp1, _type1, _exp2, _type2, _allowUnknown ,&_exp2 ,&_compatibleType ,&_matchKind);
3945#line 3945 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3946#line 2010 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3947 tmpMeta[0] = _compatibleType;
3948#line 3948 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3949 goto tmp2_done;
3950 }
3951 case 11: {
3952
3953 /* Pattern matching succeeded */
3954#line 2015 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3955 _exp2 = omc_NFTypeCheck_matchTupleTypes(threadData, _type2, _type1, _exp2, _allowUnknown ,&_compatibleType ,&_matchKind);
3956#line 3956 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3957#line 2017 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3958 tmpMeta[0] = _compatibleType;
3959#line 3959 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3960 goto tmp2_done;
3961 }
3962 case 13: {
3963
3964 /* Pattern matching succeeded */
3965#line 2022 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3966 _matchKind = (_allowUnknown?1:7);
3967#line 3967 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3968#line 2023 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3969 tmpMeta[0] = _type1;
3970#line 3970 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3971 goto tmp2_done;
3972 }
3973 case 14: {
3974
3975 /* Pattern matching succeeded */
3976#line 2029 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3977 _exp1 = omc_NFTypeCheck_matchComplexTypes(threadData, _type1, _type2, _exp1, _allowUnknown ,&_compatibleType ,&_matchKind);
3978#line 3978 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3979#line 2031 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3980 tmpMeta[0] = _compatibleType;
3981#line 3981 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3982 goto tmp2_done;
3983 }
3984 case 16: {
3985
3986 /* Pattern matching succeeded */
3987#line 2036 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3988 _exp1 = omc_NFTypeCheck_matchBoxedExpressions(threadData, _exp1, _type1, _exp2, _type2, _allowUnknown ,&_exp2 ,&_compatibleType ,&_matchKind);
3989#line 3989 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3990#line 2038 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3991 tmpMeta[0] = _compatibleType;
3992#line 3992 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3993 goto tmp2_done;
3994 }
3995 default:
3996 tmp2_default: OMC_LABEL_UNUSED__attribute__((unused)); {
3997
3998 /* Pattern matching succeeded */
3999#line 2043 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4000 omc_Error_assertion(threadData, 0, _OMC_LIT97((void*)((char*)(&(_OMC_LIT_STRUCT97).header) + 3)), _OMC_LIT98((void*)((char*)(&(_OMC_LIT_STRUCT98).header) + 3)));
4001#line 4001 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4002#line 2044 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4003 goto goto_1;
4004#line 4004 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4005 goto tmp2_done;
4006 }
4007 }
4008 goto tmp2_end;
4009 tmp2_end: ;
4010 }
4011 goto goto_1;
4012 goto_1:;
4013 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4014 goto tmp2_done;
4015 tmp2_done:;
4016 }
4017 }
4018 _compatibleType = tmpMeta[0];
4019 _return: OMC_LABEL_UNUSED__attribute__((unused))
4020 if (out_exp2) { *out_exp2 = _exp2; }
4021 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
4022 if (out_matchKind) { *out_matchKind = _matchKind; }
4023 return _exp1;
4024}
4025modelica_metatype boxptr_NFTypeCheck_matchExpressions(threadData_t *threadData, modelica_metatype _D_24in_exp1, modelica_metatype _type1, modelica_metatype _D_24in_exp2, modelica_metatype _type2, modelica_metatype _allowUnknown, modelica_metatype *out_exp2, modelica_metatype *out_compatibleType, modelica_metatype *out_matchKind)
4026{
4027 modelica_integer tmp1;
4028 modelica_integer _matchKind;
4029 modelica_metatype _exp1 = NULL((void*)0);
4030 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
4031 _exp1 = omc_NFTypeCheck_matchExpressions(threadData, _D_24in_exp1, _type1, _D_24in_exp2, _type2, tmp1, out_exp2, out_compatibleType, &_matchKind);
4032 /* skip box _exp1; NFExpression */
4033 /* skip box _exp2; NFExpression */
4034 /* skip box _compatibleType; NFType */
4035 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
4036 return _exp1;
4037}
4038
4039DLLExport
4040void omc_NFTypeCheck_printUnresolvableTypeError(threadData_t *threadData, modelica_metatype _exp, modelica_metatype _types, modelica_metatype _info, modelica_boolean _printError)
4041{
4042 modelica_string _exp_str = NULL((void*)0);
4043 modelica_string _ty_str = NULL((void*)0);
4044 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4045 MMC_SO()mmc_check_stackoverflow(threadData);
4046 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4047 // _exp_str has no default value.
4048 // _ty_str has no default value.
4049#line 1462 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4050 if(_printError)
4051#line 1462 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4052 {
4053#line 1463 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4054 _exp_str = omc_NFExpression_toString(threadData, _exp);
4055#line 4055 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4056
4057#line 1464 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4058 _ty_str = omc_List_toString(threadData, _types, boxvar_NFType_toString((void*)((char*)(&(boxvar_lit_NFType_toString).header) + 3
))
, _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)), _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)), _OMC_LIT99((void*)((char*)(&(_OMC_LIT_STRUCT99).header) + 3)), _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3)), 0);
4059#line 4059 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4060
4061#line 1465 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4062 tmpMeta[0] = mmc_mk_cons(_exp_str, mmc_mk_cons(_ty_str, mmc_mk_cons(_OMC_LIT103((void*)((char*)(&(_OMC_LIT_STRUCT103).header) + 3)), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)))));
4063#line 1465 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4064 omc_Error_addSourceMessage(threadData, _OMC_LIT102((void*)((char*)(&(_OMC_LIT_STRUCT102).header) + 3)), tmpMeta[0], _info);
4065#line 4065 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4066 }
4067
4068#line 1468 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4069 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4070#line 4070 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4071 _return: OMC_LABEL_UNUSED__attribute__((unused))
4072 return;
4073}
4074void boxptr_NFTypeCheck_printUnresolvableTypeError(threadData_t *threadData, modelica_metatype _exp, modelica_metatype _types, modelica_metatype _info, modelica_metatype _printError)
4075{
4076 modelica_integer tmp1;
4077 tmp1 = mmc_unbox_integer(_printError)(((mmc_sint_t) (_printError)) >> 1);
4078 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _exp, _types, _info, tmp1);
4079 return;
4080}
4081
4082DLLExport
4083modelica_metatype omc_NFTypeCheck_checkRelationOperation(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _operator, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_integer _origin, modelica_metatype _info, modelica_metatype *out_resultType)
4084{
4085 modelica_metatype _outExp = NULL((void*)0);
4086 modelica_metatype _resultType = NULL((void*)0);
4087 modelica_metatype _e1 = NULL((void*)0);
4088 modelica_metatype _e2 = NULL((void*)0);
4089 modelica_metatype _ty = NULL((void*)0);
4090 modelica_integer _mk;
4091 modelica_boolean _valid;
4092 modelica_integer _o;
4093 modelica_boolean tmp1 = 0;
4094 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4095 MMC_SO()mmc_check_stackoverflow(threadData);
4096 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4097 // _outExp has no default value.
4098 // _resultType has no default value.
4099 // _e1 has no default value.
4100 // _e2 has no default value.
4101 // _ty has no default value.
4102 // _mk has no default value.
4103 // _valid has no default value.
4104 // _o has no default value.
4105#line 1419 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4106 if((omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type1)) || omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type2))))
4107#line 1419 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4108 {
4109#line 1421 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4110 _outExp = omc_NFTypeCheck_checkOverloadedBinaryOperator(threadData, _exp1, _type1, (modelica_integer)_var1, _operator, _exp2, _type2, (modelica_integer)_var2, _info ,&_resultType);
4111#line 4111 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4112
4113#line 1422 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4114 goto _return;
4115#line 4115 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4116 }
4117
4118#line 1425 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4119 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _type1, _exp2, _type2, 0 ,&_e2 ,&_ty ,&_mk);
4120#line 4120 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4121
4122#line 1426 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4123 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
4124#line 4124 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4125
4126#line 1428 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4127 _resultType = _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3));
4128#line 4128 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4129
4130#line 1429 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4131 tmpMeta[0] = mmc_mk_box4(22, &NFExpression_RELATION__desc, _e1, omc_NFOperator_setType(threadData, _ty, _operator), _e2);
4132#line 1429 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4133 _outExp = tmpMeta[0];
4134#line 4134 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4135
4136#line 4136 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4137 { /* match expression */
4138 modelica_metatype tmp4_1;
4139 tmp4_1 = _ty;
4140 {
4141 int tmp4;
4142 {
4143 switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) >> 2
) & 255))
) {
4144 case 3: {
4145
4146 /* Pattern matching succeeded */
4147#line 1432 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4148 tmp1 = _valid;
4149#line 4149 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4150 goto tmp3_done;
4151 }
4152 case 4: {
4153
4154 /* Pattern matching succeeded */
4155#line 1436 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4156 _o = mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_operator), 3))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_operator) - 3))) + (3)))))))) >> 1)
;
4157#line 4157 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4158
4159#line 1437 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4160 if((omc_NFTyping_ExpOrigin_flagNotSet(threadData, _origin, ((modelica_integer) 1)) && (((modelica_integer)_o == 34) || ((modelica_integer)_o == 35))))
4161#line 1437 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4162 {
4163#line 1438 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4164 tmpMeta[0] = mmc_mk_cons(omc_NFExpression_toString(threadData, _outExp), mmc_mk_cons(omc_NFOperator_symbol(threadData, _operator, _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3))), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
4165#line 1438 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4166 omc_Error_addStrictMessage(threadData, _OMC_LIT107((void*)((char*)(&(_OMC_LIT_STRUCT107).header) + 3)), tmpMeta[0], _info);
4167#line 4167 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4168 }
4169#line 1441 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4170 tmp1 = _valid;
4171#line 4171 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4172 goto tmp3_done;
4173 }
4174 case 5: {
4175
4176 /* Pattern matching succeeded */
4177#line 1443 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4178 tmp1 = _valid;
4179#line 4179 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4180 goto tmp3_done;
4181 }
4182 case 6: {
4183
4184 /* Pattern matching succeeded */
4185#line 1444 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4186 tmp1 = _valid;
4187#line 4187 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4188 goto tmp3_done;
4189 }
4190 case 8: {
4191
4192 /* Pattern matching succeeded */
4193#line 1445 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4194 tmp1 = _valid;
4195#line 4195 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4196 goto tmp3_done;
4197 }
4198 default:
4199 tmp3_default: OMC_LABEL_UNUSED__attribute__((unused)); {
4200
4201 /* Pattern matching succeeded */
4202#line 1446 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4203 tmp1 = 0;
4204#line 4204 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4205 goto tmp3_done;
4206 }
4207 }
4208 goto tmp3_end;
4209 tmp3_end: ;
4210 }
4211 goto goto_2;
4212 goto_2:;
4213 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4214 goto tmp3_done;
4215 tmp3_done:;
4216 }
4217 }
4218 _valid = tmp1;
4219
4220#line 1449 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4221 if((!_valid))
4222#line 1449 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4223 {
4224#line 1450 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4225 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
4226#line 1450 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4227 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _outExp, tmpMeta[0], _info, 1);
4228#line 4228 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4229 }
4230 _return: OMC_LABEL_UNUSED__attribute__((unused))
4231 if (out_resultType) { *out_resultType = _resultType; }
4232 return _outExp;
4233}
4234modelica_metatype boxptr_NFTypeCheck_checkRelationOperation(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _operator, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _origin, modelica_metatype _info, modelica_metatype *out_resultType)
4235{
4236 modelica_integer tmp1;
4237 modelica_integer tmp2;
4238 modelica_integer tmp3;
4239 modelica_metatype _outExp = NULL((void*)0);
4240 tmp1 = mmc_unbox_integer(_var1)(((mmc_sint_t) (_var1)) >> 1);
4241 tmp2 = mmc_unbox_integer(_var2)(((mmc_sint_t) (_var2)) >> 1);
4242 tmp3 = mmc_unbox_integer(_origin)(((mmc_sint_t) (_origin)) >> 1);
4243 _outExp = omc_NFTypeCheck_checkRelationOperation(threadData, _exp1, _type1, tmp1, _operator, _exp2, _type2, tmp2, tmp3, _info, out_resultType);
4244 /* skip box _outExp; NFExpression */
4245 /* skip box _resultType; NFType */
4246 return _outExp;
4247}
4248
4249DLLExport
4250modelica_metatype omc_NFTypeCheck_checkLogicalUnaryOperation(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _operator, modelica_metatype _info, modelica_metatype *out_resultType)
4251{
4252 modelica_metatype _outExp = NULL((void*)0);
4253 modelica_metatype _resultType = NULL((void*)0);
4254 modelica_metatype _e1 = NULL((void*)0);
4255 modelica_metatype _e2 = NULL((void*)0);
4256 modelica_integer _mk;
4257 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4258 MMC_SO()mmc_check_stackoverflow(threadData);
4259 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4260 // _outExp has no default value.
4261 _resultType = _type1;
4262 // _e1 has no default value.
4263 // _e2 has no default value.
4264 // _mk has no default value.
4265#line 1387 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4266 if(omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type1)))
4267#line 1387 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4268 {
4269#line 1388 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4270 _outExp = omc_NFTypeCheck_checkOverloadedUnaryOperator(threadData, _exp1, _type1, (modelica_integer)_var1, _operator, _info ,&_resultType);
4271#line 4271 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4272
4273#line 1389 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4274 goto _return;
4275#line 4275 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4276 }
4277
4278#line 1392 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4279 tmpMeta[0] = mmc_mk_box3(21, &NFExpression_LUNARY__desc, omc_NFOperator_setType(threadData, _type1, _operator), _exp1);
4280#line 1392 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4281 _outExp = tmpMeta[0];
4282#line 4282 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4283
4284#line 1394 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4285 if((!omc_NFType_isBoolean(threadData, omc_NFType_arrayElementType(threadData, _type1))))
4286#line 1394 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4287 {
4288#line 1395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4289 tmpMeta[0] = mmc_mk_cons(_type1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4290#line 1395 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4291 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _outExp, tmpMeta[0], _info, 1);
4292#line 4292 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4293 }
4294 _return: OMC_LABEL_UNUSED__attribute__((unused))
4295 if (out_resultType) { *out_resultType = _resultType; }
4296 return _outExp;
4297}
4298modelica_metatype boxptr_NFTypeCheck_checkLogicalUnaryOperation(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _operator, modelica_metatype _info, modelica_metatype *out_resultType)
4299{
4300 modelica_integer tmp1;
4301 modelica_metatype _outExp = NULL((void*)0);
4302 tmp1 = mmc_unbox_integer(_var1)(((mmc_sint_t) (_var1)) >> 1);
4303 _outExp = omc_NFTypeCheck_checkLogicalUnaryOperation(threadData, _exp1, _type1, tmp1, _operator, _info, out_resultType);
4304 /* skip box _outExp; NFExpression */
4305 /* skip box _resultType; NFType */
4306 return _outExp;
4307}
4308
4309DLLExport
4310modelica_metatype omc_NFTypeCheck_checkLogicalBinaryOperation(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _operator, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_metatype _info, modelica_metatype *out_resultType)
4311{
4312 modelica_metatype _outExp = NULL((void*)0);
4313 modelica_metatype _resultType = NULL((void*)0);
4314 modelica_metatype _e1 = NULL((void*)0);
4315 modelica_metatype _e2 = NULL((void*)0);
4316 modelica_integer _mk;
4317 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4318 MMC_SO()mmc_check_stackoverflow(threadData);
4319 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4320 // _outExp has no default value.
4321 // _resultType has no default value.
4322 // _e1 has no default value.
4323 // _e2 has no default value.
4324 // _mk has no default value.
4325#line 1359 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4326 if((omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type1)) || omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type2))))
4327#line 1359 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4328 {
4329#line 1361 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4330 _outExp = omc_NFTypeCheck_checkOverloadedBinaryOperator(threadData, _exp1, _type1, (modelica_integer)_var1, _operator, _exp2, _type2, (modelica_integer)_var2, _info ,&_resultType);
4331#line 4331 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4332
4333#line 1362 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4334 goto _return;
4335#line 4335 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4336 }
4337
4338#line 1366 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4339 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _type1, _exp2, _type2, 1 ,&_e2 ,&_resultType ,&_mk);
4340#line 4340 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4341
4342#line 1367 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4343 tmpMeta[0] = mmc_mk_box4(20, &NFExpression_LBINARY__desc, _e1, omc_NFOperator_setType(threadData, _resultType, _operator), _e2);
4344#line 1367 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4345 _outExp = tmpMeta[0];
4346#line 4346 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4347
4348#line 1369 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4349 if(((!omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk)) || (!omc_NFType_isBoolean(threadData, omc_NFType_arrayElementType(threadData, _resultType)))))
4350#line 1369 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4351 {
4352#line 1371 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4353 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
4354#line 1371 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4355 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _outExp, tmpMeta[0], _info, 1);
4356#line 4356 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4357 }
4358 _return: OMC_LABEL_UNUSED__attribute__((unused))
4359 if (out_resultType) { *out_resultType = _resultType; }
4360 return _outExp;
4361}
4362modelica_metatype boxptr_NFTypeCheck_checkLogicalBinaryOperation(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _operator, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _info, modelica_metatype *out_resultType)
4363{
4364 modelica_integer tmp1;
4365 modelica_integer tmp2;
4366 modelica_metatype _outExp = NULL((void*)0);
4367 tmp1 = mmc_unbox_integer(_var1)(((mmc_sint_t) (_var1)) >> 1);
4368 tmp2 = mmc_unbox_integer(_var2)(((mmc_sint_t) (_var2)) >> 1);
4369 _outExp = omc_NFTypeCheck_checkLogicalBinaryOperation(threadData, _exp1, _type1, tmp1, _operator, _exp2, _type2, tmp2, _info, out_resultType);
4370 /* skip box _outExp; NFExpression */
4371 /* skip box _resultType; NFType */
4372 return _outExp;
4373}
4374
4375DLLExport
4376modelica_metatype omc_NFTypeCheck_checkOverloadedUnaryOperator(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inType1, modelica_integer _var, modelica_metatype _inOp, modelica_metatype _info, modelica_metatype *out_outType)
4377{
4378 modelica_metatype _outExp = NULL((void*)0);
4379 modelica_metatype _outType = NULL((void*)0);
4380 modelica_string _opstr = NULL((void*)0);
4381 modelica_metatype _operfn = NULL((void*)0);
4382 modelica_metatype _node1 = NULL((void*)0);
4383 modelica_metatype _fn_node = NULL((void*)0);
4384 modelica_metatype _fn_ref = NULL((void*)0);
4385 modelica_metatype _candidates = NULL((void*)0);
4386 modelica_boolean _matched;
4387 modelica_metatype _args = NULL((void*)0);
4388 modelica_metatype _matchKind = NULL((void*)0);
4389 modelica_metatype _matchedFunc = NULL((void*)0);
4390 modelica_metatype _matchedFunctions = NULL((void*)0);
4391 modelica_metatype _exactMatches = NULL((void*)0);
4392 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
4393 MMC_SO()mmc_check_stackoverflow(threadData);
4394 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4395 // _outExp has no default value.
4396 // _outType has no default value.
4397 // _opstr has no default value.
4398 // _operfn has no default value.
4399 // _node1 has no default value.
4400 // _fn_node has no default value.
4401 // _fn_ref has no default value.
4402 // _candidates has no default value.
4403 // _matched has no default value.
4404 // _args has no default value.
4405 // _matchKind has no default value.
4406 // _matchedFunc has no default value.
4407 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4408 _matchedFunctions = tmpMeta[0];
4409 // _exactMatches has no default value.
4410#line 1310 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4411 _opstr = omc_NFOperator_symbol(threadData, _inOp, _OMC_LIT108((void*)((char*)(&(_OMC_LIT_STRUCT108).header) + 3)));
4412#line 4412 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4413
4414#line 1311 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4415 _candidates = omc_NFOperatorOverloading_lookupOperatorFunctionsInType(threadData, _opstr, _inType1);
4416#line 4416 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4417
4418#line 1317 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4419 tmpMeta[2] = mmc_mk_box3(0, _inExp1, _inType1, mmc_mk_integermmc_mk_icon((modelica_integer)_var));
4420#line 1317 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4421 tmpMeta[1] = mmc_mk_cons(tmpMeta[2], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4422#line 1317 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4423 _args = tmpMeta[1];
4424#line 4424 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4425
4426#line 1318 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4427 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4428#line 1318 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4429 _matchedFunctions = omc_NFFunction_Function_matchFunctionsSilent(threadData, _candidates, _args, tmpMeta[1], _info, 0);
4430#line 4430 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4431
4432#line 1321 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4433 _exactMatches = omc_NFFunction_MatchedFunction_getExactMatches(threadData, _matchedFunctions);
4434#line 4434 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4435
4436#line 1322 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4437 if(listEmpty(_exactMatches)((*(mmc_uint_t*)((void*)((char*)(_exactMatches) - 3))) == (((
0) << 10) + (((0) & 255) << 2)))
)
4438#line 1322 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4439 {
4440#line 1323 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4441 tmpMeta[1] = mmc_mk_box3(19, &NFExpression_UNARY__desc, _inOp, _inExp1);
4442#line 1323 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4443 tmpMeta[2] = mmc_mk_cons(_inType1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4444#line 1323 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4445 omc_NFTypeCheck_printUnresolvableTypeError(threadData, tmpMeta[1], tmpMeta[2], _info, 1);
4446#line 4446 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4447
4448#line 1324 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4449 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4450#line 4450 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4451 }
4452
4453#line 1327 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4454 if((listLength(_exactMatches) == ((modelica_integer) 1)))
4455#line 1327 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4456 {
4457#line 1328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4458 /* Pattern-matching assignment */
4459#line 1328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4460 tmpMeta[1] = _exactMatches;
4461#line 1328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4462 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4463#line 1328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4464 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
4465#line 1328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4466 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
4467#line 1328 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4468 _matchedFunc = tmpMeta[2];
4469#line 4469 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4470
4471#line 1329 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4472 _outType = omc_NFFunction_Function_returnType(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_matchedFunc), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_matchedFunc) -
3))) + (2)))))
));
4473#line 4473 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4474
4475#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4476 {
4477#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4478 modelica_metatype _D_24tmpVar3;
4479#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4480 modelica_metatype* tmp1;
4481#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4482 modelica_metatype _D_24tmpVar2;
4483#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4484 int tmp2;
4485#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4486 modelica_metatype _a_loopVar = 0;
4487#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4488 modelica_metatype _a;
4489#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4490 _a_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_matchedFunc), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_matchedFunc) -
3))) + (3)))))
);
4491#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4492 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4493#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4494 _D_24tmpVar3 = tmpMeta[2]; /* defaultValue */
4495#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4496 tmp1 = &_D_24tmpVar3;
4497#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4498 while(1) {
4499#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4500 tmp2 = 1;
4501#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4502 if (!listEmpty(_a_loopVar)((*(mmc_uint_t*)((void*)((char*)(_a_loopVar) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) {
4503#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4504 _a = MMC_CAR(_a_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_a_loopVar) - 3
))) + (1)))))
;
4505#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4506 _a_loopVar = MMC_CDR(_a_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_a_loopVar) - 3
))) + (2)))))
;
4507#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4508 tmp2--;
4509#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4510 }
4511#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4512 if (tmp2 == 0) {
4513#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4514 _D_24tmpVar2 = omc_Util_tuple31(threadData, _a);
4515#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4516 *tmp1 = mmc_mk_cons(_D_24tmpVar2,0);
4517#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4518 tmp1 = &MMC_CDR(*tmp1)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp1) - 3))) +
(2)))))
;
4519#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4520 } else if (tmp2 == 1) {
4521#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4522 break;
4523#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4524 } else {
4525#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4526 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4527#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4528 }
4529#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4530 }
4531#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4532 *tmp1 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
4533#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4534 tmpMeta[1] = _D_24tmpVar3;
4535#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4536 }
4537#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4538 tmpMeta[3] = mmc_mk_box2(15, &NFExpression_CALL__desc, omc_NFCall_Call_makeTypedCall(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_matchedFunc), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_matchedFunc) -
3))) + (2)))))
), tmpMeta[1], (modelica_integer)_var, _outType));
4539#line 1330 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4540 _outExp = tmpMeta[3];
4541#line 4541 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4542 }
4543 else
4544 {
4545#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4546 tmpMeta[2] = mmc_mk_box3(19, &NFExpression_UNARY__desc, _inOp, _inExp1);
4547#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4548 {
4549#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4550 modelica_metatype _D_24tmpVar7;
4551#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4552 modelica_metatype* tmp3;
4553#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4554 modelica_metatype _D_24tmpVar6;
4555#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4556 int tmp4;
4557#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4558 modelica_metatype _mfn_loopVar = 0;
4559#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4560 modelica_metatype _mfn;
4561#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4562 _mfn_loopVar = _matchedFunctions;
4563#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4564 tmpMeta[4] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4565#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4566 _D_24tmpVar7 = tmpMeta[4]; /* defaultValue */
4567#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4568 tmp3 = &_D_24tmpVar7;
4569#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4570 while(1) {
4571#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4572 tmp4 = 1;
4573#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4574 if (!listEmpty(_mfn_loopVar)((*(mmc_uint_t*)((void*)((char*)(_mfn_loopVar) - 3))) == (((0
) << 10) + (((0) & 255) << 2)))
) {
4575#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4576 _mfn = MMC_CAR(_mfn_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_mfn_loopVar) -
3))) + (1)))))
;
4577#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4578 _mfn_loopVar = MMC_CDR(_mfn_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_mfn_loopVar) -
3))) + (2)))))
;
4579#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4580 tmp4--;
4581#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4582 }
4583#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4584 if (tmp4 == 0) {
4585#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4586 _D_24tmpVar6 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_mfn), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_mfn) - 3))) + (
2)))))
);
4587#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4588 *tmp3 = mmc_mk_cons(_D_24tmpVar6,0);
4589#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4590 tmp3 = &MMC_CDR(*tmp3)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp3) - 3))) +
(2)))))
;
4591#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4592 } else if (tmp4 == 1) {
4593#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4594 break;
4595#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4596 } else {
4597#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4598 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4599#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4600 }
4601#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4602 }
4603#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4604 *tmp3 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
4605#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4606 tmpMeta[3] = _D_24tmpVar7;
4607#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4608 }
4609#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4610 tmpMeta[1] = mmc_mk_cons(omc_NFExpression_toString(threadData, tmpMeta[2]), mmc_mk_cons(omc_NFFunction_Function_candidateFuncListString(threadData, tmpMeta[3]), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
4611#line 1337 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4612 omc_Error_addSourceMessage(threadData, _OMC_LIT111((void*)((char*)(&(_OMC_LIT_STRUCT111).header) + 3)), tmpMeta[1], _info);
4613#line 4613 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4614
4615#line 1340 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4616 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4617#line 4617 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4618 }
4619 _return: OMC_LABEL_UNUSED__attribute__((unused))
4620 if (out_outType) { *out_outType = _outType; }
4621 return _outExp;
4622}
4623modelica_metatype boxptr_NFTypeCheck_checkOverloadedUnaryOperator(threadData_t *threadData, modelica_metatype _inExp1, modelica_metatype _inType1, modelica_metatype _var, modelica_metatype _inOp, modelica_metatype _info, modelica_metatype *out_outType)
4624{
4625 modelica_integer tmp1;
4626 modelica_metatype _outExp = NULL((void*)0);
4627 tmp1 = mmc_unbox_integer(_var)(((mmc_sint_t) (_var)) >> 1);
4628 _outExp = omc_NFTypeCheck_checkOverloadedUnaryOperator(threadData, _inExp1, _inType1, tmp1, _inOp, _info, out_outType);
4629 /* skip box _outExp; NFExpression */
4630 /* skip box _outType; NFType */
4631 return _outExp;
4632}
4633
4634DLLExport
4635modelica_metatype omc_NFTypeCheck_checkUnaryOperation(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _operator, modelica_metatype _info, modelica_metatype *out_unaryType)
4636{
4637 modelica_metatype _unaryExp = NULL((void*)0);
4638 modelica_metatype _unaryType = NULL((void*)0);
4639 modelica_boolean _valid;
4640 modelica_metatype _op = NULL((void*)0);
4641 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4642 MMC_SO()mmc_check_stackoverflow(threadData);
4643 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4644 // _unaryExp has no default value.
4645 // _unaryType has no default value.
4646 _valid = 1;
4647 // _op has no default value.
4648#line 1272 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4649 if(omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type1)))
4650#line 1272 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4651 {
4652#line 1273 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4653 _unaryExp = omc_NFTypeCheck_checkOverloadedUnaryOperator(threadData, _exp1, _type1, (modelica_integer)_var1, _operator, _info ,&_unaryType);
4654#line 4654 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4655
4656#line 1274 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4657 goto _return;
4658#line 4658 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4659 }
4660
4661#line 1277 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4662 _unaryType = _type1;
4663#line 4663 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4664
4665#line 1278 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4666 _op = omc_NFOperator_setType(threadData, _unaryType, _operator);
4667#line 4667 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4668
4669#line 4669 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4670 { /* match expression */
4671 modelica_metatype tmp3_1;
4672 tmp3_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_operator), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_operator) - 3)
)) + (3)))))
);
4673 {
4674 volatile mmc_switch_type tmp3;
4675 int tmp4;
4676 tmp3 = 0;
4677 for (; tmp3 < 2; tmp3++) {
4678 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
4679 case 0: {
4680 modelica_integer tmp5;
4681 tmp5 = mmc_unbox_integer(tmp3_1)(((mmc_sint_t) (tmp3_1)) >> 1);
4682 if (1 != tmp5) goto tmp2_end;
4683 /* Pattern matching succeeded */
4684#line 1281 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4685 tmpMeta[0] = _exp1;
4686#line 4686 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4687 goto tmp2_done;
4688 }
4689 case 1: {
4690
4691 /* Pattern matching succeeded */
4692#line 1282 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4693 tmpMeta[1] = mmc_mk_box3(19, &NFExpression_UNARY__desc, _op, _exp1);
4694#line 1282 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4695 tmpMeta[0] = tmpMeta[1];
4696#line 4696 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4697 goto tmp2_done;
4698 }
4699 }
4700 goto tmp2_end;
4701 tmp2_end: ;
4702 }
4703 goto goto_1;
4704 goto_1:;
4705 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4706 goto tmp2_done;
4707 tmp2_done:;
4708 }
4709 }
4710 _unaryExp = tmpMeta[0];
4711
4712#line 1285 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4713 if((!omc_NFType_isNumeric(threadData, _type1)))
4714#line 1285 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4715 {
4716#line 1286 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4717 tmpMeta[0] = mmc_mk_cons(_type1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4718#line 1286 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4719 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _unaryExp, tmpMeta[0], _info, 1);
4720#line 4720 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4721 }
4722 _return: OMC_LABEL_UNUSED__attribute__((unused))
4723 if (out_unaryType) { *out_unaryType = _unaryType; }
4724 return _unaryExp;
4725}
4726modelica_metatype boxptr_NFTypeCheck_checkUnaryOperation(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _operator, modelica_metatype _info, modelica_metatype *out_unaryType)
4727{
4728 modelica_integer tmp1;
4729 modelica_metatype _unaryExp = NULL((void*)0);
4730 tmp1 = mmc_unbox_integer(_var1)(((mmc_sint_t) (_var1)) >> 1);
4731 _unaryExp = omc_NFTypeCheck_checkUnaryOperation(threadData, _exp1, _type1, tmp1, _operator, _info, out_unaryType);
4732 /* skip box _unaryExp; NFExpression */
4733 /* skip box _unaryType; NFType */
4734 return _unaryExp;
4735}
4736
4737DLLExport
4738modelica_metatype omc_NFTypeCheck_checkBinaryOperationEW(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _elemOp, modelica_metatype _info, modelica_metatype *out_resultType)
4739{
4740 modelica_metatype _binaryExp = NULL((void*)0);
4741 modelica_metatype _resultType = NULL((void*)0);
4742 modelica_metatype _e1 = NULL((void*)0);
4743 modelica_metatype _e2 = NULL((void*)0);
4744 modelica_metatype _ty1 = NULL((void*)0);
4745 modelica_metatype _ty2 = NULL((void*)0);
4746 modelica_integer _mk;
4747 modelica_boolean _valid;
4748 modelica_boolean _is_arr1;
4749 modelica_boolean _is_arr2;
4750 modelica_metatype _op = NULL((void*)0);
4751 modelica_boolean tmp1 = 0;
4752 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4753 MMC_SO()mmc_check_stackoverflow(threadData);
4754 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4755 // _binaryExp has no default value.
4756 // _resultType has no default value.
4757 // _e1 has no default value.
4758 // _e2 has no default value.
4759 // _ty1 has no default value.
4760 // _ty2 has no default value.
4761 // _mk has no default value.
4762 // _valid has no default value.
4763 // _is_arr1 has no default value.
4764 // _is_arr2 has no default value.
4765 // _op has no default value.
4766#line 1209 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4767 _is_arr1 = omc_NFType_isArray(threadData, _type1);
4768#line 4768 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4769
4770#line 1210 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4771 _is_arr2 = omc_NFType_isArray(threadData, _type2);
4772#line 4772 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4773
4774#line 1212 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4775 if((_is_arr1 && _is_arr2))
4776#line 1212 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4777 {
4778#line 1214 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4779 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _type1, _exp2, _type2, 1 ,&_e2 ,&_resultType ,&_mk);
4780#line 4780 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4781 }
4782 else
4783 {
4784#line 1217 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4785 _ty1 = omc_NFType_arrayElementType(threadData, _type1);
4786#line 4786 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4787
4788#line 1218 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4789 _ty2 = omc_NFType_arrayElementType(threadData, _type2);
4790#line 4790 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4791
4792#line 1219 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4793 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _ty1, _exp2, _ty2, 1 ,&_e2 ,&_resultType ,&_mk);
4794#line 4794 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4795 }
4796
4797#line 1222 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4798 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
4799#line 4799 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4800
4801#line 4801 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4802 { /* match expression */
4803 modelica_metatype tmp4_1;modelica_integer tmp4_2;
4804 tmp4_1 = omc_NFType_arrayElementType(threadData, _resultType);
4805 tmp4_2 = (modelica_integer)_elemOp;
4806 {
4807 volatile mmc_switch_type tmp4;
4808 int tmp5;
4809 tmp4 = 0;
4810 for (; tmp4 < 4; tmp4++) {
4811 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
4812 case 0: {
4813 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((0 +1) <<
10) + (((0 +3) & 255) << 2)))
== 0) goto tmp3_end;
4814
4815 /* Pattern matching succeeded */
4816#line 1226 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4817 tmp1 = _valid;
4818#line 4818 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4819 goto tmp3_done;
4820 }
4821 case 1: {
4822 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((0 +1) <<
10) + (((1 +3) & 255) << 2)))
== 0) goto tmp3_end;
4823
4824 /* Pattern matching succeeded */
4825#line 1227 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4826 tmp1 = _valid;
4827#line 4827 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4828 goto tmp3_done;
4829 }
4830 case 2: {
4831 if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,0)((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))==(((0 +1) <<
10) + (((2 +3) & 255) << 2)))
== 0) goto tmp3_end;
4832 if (1 != tmp4_2) goto tmp3_end;
4833 /* Pattern matching succeeded */
4834#line 1228 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4835 tmp1 = _valid;
4836#line 4836 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4837 goto tmp3_done;
4838 }
4839 case 3: {
4840
4841 /* Pattern matching succeeded */
4842#line 1229 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4843 tmp1 = 0;
4844#line 4844 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4845 goto tmp3_done;
4846 }
4847 }
4848 goto tmp3_end;
4849 tmp3_end: ;
4850 }
4851 goto goto_2;
4852 goto_2:;
4853 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4854 goto tmp3_done;
4855 tmp3_done:;
4856 }
4857 }
4858 _valid = tmp1;
4859
4860#line 1232 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4861
4862#line 1232 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4863
4864#line 4864 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4865 { /* match expression */
4866 modelica_boolean tmp9_1;modelica_boolean tmp9_2;
4867 tmp9_1 = _is_arr1;
4868 tmp9_2 = _is_arr2;
4869 {
4870 volatile mmc_switch_type tmp9;
4871 int tmp10;
4872 tmp9 = 0;
4873 for (; tmp9 < 3; tmp9++) {
4874 switch (MMC_SWITCH_CAST(tmp9)(tmp9)) {
4875 case 0: {
4876 if (1 != tmp9_1) goto tmp8_end;
4877 if (0 != tmp9_2) goto tmp8_end;
4878 /* Pattern matching succeeded */
4879#line 1236 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4880 _resultType = omc_NFType_copyDims(threadData, _type1, _resultType);
4881#line 4881 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4882
4883#line 1237 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4884 _op = omc_NFOperator_makeArrayScalar(threadData, _resultType, (modelica_integer)_elemOp);
4885#line 4885 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4886#line 1238 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4887 tmpMeta[0+0] = _resultType;
4888#line 1238 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4889 tmpMeta[0+1] = _op;
4890#line 4890 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4891 goto tmp8_done;
4892 }
4893 case 1: {
4894 if (0 != tmp9_1) goto tmp8_end;
4895 if (1 != tmp9_2) goto tmp8_end;
4896 /* Pattern matching succeeded */
4897#line 1244 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4898 _resultType = omc_NFType_copyDims(threadData, _type2, _resultType);
4899#line 4899 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4900
4901#line 1245 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4902 _op = omc_NFOperator_makeScalarArray(threadData, _resultType, (modelica_integer)_elemOp);
4903#line 4903 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4904#line 1246 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4905 tmpMeta[0+0] = _resultType;
4906#line 1246 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4907 tmpMeta[0+1] = _op;
4908#line 4908 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4909 goto tmp8_done;
4910 }
4911 case 2: {
4912
4913 /* Pattern matching succeeded */
4914#line 1250 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4915 tmpMeta[2] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _resultType, mmc_mk_integermmc_mk_icon((modelica_integer)_elemOp));
4916#line 1250 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4917 tmpMeta[0+0] = _resultType;
4918#line 1250 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4919 tmpMeta[0+1] = tmpMeta[2];
4920#line 4920 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4921 goto tmp8_done;
4922 }
4923 }
4924 goto tmp8_end;
4925 tmp8_end: ;
4926 }
4927 goto goto_7;
4928 goto_7:;
4929 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4930 goto tmp8_done;
4931 tmp8_done:;
4932 }
4933 }
4934 _resultType = tmpMeta[0+0];
4935 _op = tmpMeta[0+1];
4936
4937#line 1253 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4938 tmpMeta[0] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, _op, _e2);
4939#line 1253 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4940 _binaryExp = tmpMeta[0];
4941#line 4941 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4942
4943#line 1255 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4944 if((!_valid))
4945#line 1255 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4946 {
4947#line 1256 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4948 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
4949#line 1256 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4950 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _binaryExp, tmpMeta[0], _info, 1);
4951#line 4951 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4952 }
4953 _return: OMC_LABEL_UNUSED__attribute__((unused))
4954 if (out_resultType) { *out_resultType = _resultType; }
4955 return _binaryExp;
4956}
4957modelica_metatype boxptr_NFTypeCheck_checkBinaryOperationEW(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _elemOp, modelica_metatype _info, modelica_metatype *out_resultType)
4958{
4959 modelica_integer tmp1;
4960 modelica_metatype _binaryExp = NULL((void*)0);
4961 tmp1 = mmc_unbox_integer(_elemOp)(((mmc_sint_t) (_elemOp)) >> 1);
4962 _binaryExp = omc_NFTypeCheck_checkBinaryOperationEW(threadData, _exp1, _type1, _exp2, _type2, tmp1, _info, out_resultType);
4963 /* skip box _binaryExp; NFExpression */
4964 /* skip box _resultType; NFType */
4965 return _binaryExp;
4966}
4967
4968DLLExport
4969modelica_metatype omc_NFTypeCheck_checkBinaryOperationPowEW(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _info, modelica_metatype *out_resultType)
4970{
4971 modelica_metatype _binaryExp = NULL((void*)0);
4972 modelica_metatype _resultType = NULL((void*)0);
4973 modelica_metatype _e1 = NULL((void*)0);
4974 modelica_metatype _e2 = NULL((void*)0);
4975 modelica_metatype _ty1 = NULL((void*)0);
4976 modelica_metatype _ty2 = NULL((void*)0);
4977 modelica_integer _mk;
4978 modelica_boolean _valid;
4979 modelica_metatype _op = NULL((void*)0);
4980 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4981 MMC_SO()mmc_check_stackoverflow(threadData);
4982 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4983 // _binaryExp has no default value.
4984 // _resultType has no default value.
4985 // _e1 has no default value.
4986 // _e2 has no default value.
4987 // _ty1 has no default value.
4988 // _ty2 has no default value.
4989 // _mk has no default value.
4990 // _valid has no default value.
4991 // _op has no default value.
4992#line 1164 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4993 _e1 = omc_NFTypeCheck_matchTypes(threadData, _type1, omc_NFType_setArrayElementType(threadData, _type1, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _exp1, 1 ,&_ty1 ,&_mk);
4994#line 4994 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4995
4996#line 1165 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4997 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
4998#line 4998 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4999
5000#line 1166 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5001 _e2 = omc_NFTypeCheck_matchTypes(threadData, _type2, omc_NFType_setArrayElementType(threadData, _type2, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _exp2, 1 ,&_ty2 ,&_mk);
5002#line 5002 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5003
5004#line 1167 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5005 _valid = (_valid && omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk));
5006#line 5006 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5007
5008#line 1169 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5009
5010#line 1169 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5011
5012#line 5012 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5013 { /* match expression */
5014 modelica_boolean tmp4_1;modelica_boolean tmp4_2;
5015 tmp4_1 = omc_NFType_isArray(threadData, _ty1);
5016 tmp4_2 = omc_NFType_isArray(threadData, _ty2);
5017 {
5018 volatile mmc_switch_type tmp4;
5019 int tmp5;
5020 tmp4 = 0;
5021 for (; tmp4 < 4; tmp4++) {
5022 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
5023 case 0: {
5024 if (0 != tmp4_1) goto tmp3_end;
5025 if (0 != tmp4_2) goto tmp3_end;
5026 /* Pattern matching succeeded */
5027#line 1171 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5028 tmpMeta[0+0] = _ty1;
5029#line 1171 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5030 tmpMeta[0+1] = omc_NFOperator_makePow(threadData, _ty1);
5031#line 5031 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5032 goto tmp3_done;
5033 }
5034 case 1: {
5035 if (0 != tmp4_2) goto tmp3_end;
5036
5037 /* Pattern matching succeeded */
5038#line 1173 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5039 tmpMeta[2] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _ty1, mmc_mk_integermmc_mk_icon(24));
5040#line 1173 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5041 tmpMeta[0+0] = _ty1;
5042#line 1173 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5043 tmpMeta[0+1] = tmpMeta[2];
5044#line 5044 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5045 goto tmp3_done;
5046 }
5047 case 2: {
5048 if (0 != tmp4_1) goto tmp3_end;
5049
5050 /* Pattern matching succeeded */
5051#line 1175 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5052 tmpMeta[2] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _ty2, mmc_mk_integermmc_mk_icon(23));
5053#line 1175 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5054 tmpMeta[0+0] = _ty2;
5055#line 1175 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5056 tmpMeta[0+1] = tmpMeta[2];
5057#line 5057 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5058 goto tmp3_done;
5059 }
5060 case 3: {
5061
5062 /* Pattern matching succeeded */
5063#line 1180 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5064 omc_NFTypeCheck_matchArrayTypes(threadData, _ty1, _ty2, _e1, 1 ,NULL((void*)0) ,&_mk);
5065#line 5065 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5066
5067#line 1181 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5068 _valid = (_valid && omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk));
5069#line 5069 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5070#line 1182 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5071 tmpMeta[0+0] = _ty1;
5072#line 1182 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5073 tmpMeta[0+1] = omc_NFOperator_makePow(threadData, _ty1);
5074#line 5074 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5075 goto tmp3_done;
5076 }
5077 }
5078 goto tmp3_end;
5079 tmp3_end: ;
5080 }
5081 goto goto_2;
5082 goto_2:;
5083 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5084 goto tmp3_done;
5085 tmp3_done:;
5086 }
5087 }
5088 _resultType = tmpMeta[0+0];
5089 _op = tmpMeta[0+1];
5090
5091#line 1186 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5092 tmpMeta[0] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, _op, _e2);
5093#line 1186 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5094 _binaryExp = tmpMeta[0];
5095#line 5095 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5096
5097#line 1188 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5098 if((!_valid))
5099#line 1188 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5100 {
5101#line 1189 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5102 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
5103#line 1189 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5104 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _binaryExp, tmpMeta[0], _info, 1);
5105#line 5105 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5106 }
5107 _return: OMC_LABEL_UNUSED__attribute__((unused))
5108 if (out_resultType) { *out_resultType = _resultType; }
5109 return _binaryExp;
5110}
5111
5112DLLExport
5113modelica_metatype omc_NFTypeCheck_checkBinaryOperationPow(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _info, modelica_metatype *out_resultType)
5114{
5115 modelica_metatype _binaryExp = NULL((void*)0);
5116 modelica_metatype _resultType = NULL((void*)0);
5117 modelica_metatype _e1 = NULL((void*)0);
5118 modelica_metatype _e2 = NULL((void*)0);
5119 modelica_integer _mk;
5120 modelica_boolean _valid;
5121 modelica_metatype _op = NULL((void*)0);
5122 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
5123 MMC_SO()mmc_check_stackoverflow(threadData);
5124 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5125 // _binaryExp has no default value.
5126 // _resultType has no default value.
5127 // _e1 has no default value.
5128 // _e2 has no default value.
5129 // _mk has no default value.
5130 // _valid has no default value.
5131 // _op has no default value.
5132#line 1124 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5133 _e1 = omc_NFTypeCheck_matchTypes(threadData, _type1, omc_NFType_setArrayElementType(threadData, _type1, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _exp1, 1 ,&_resultType ,&_mk);
5134#line 5134 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5135
5136#line 1125 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5137 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
5138#line 5138 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5139
5140#line 1127 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5141 if(omc_NFType_isArray(threadData, _resultType))
5142#line 1127 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5143 {
5144#line 1129 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5145 _valid = (_valid && omc_NFType_isSquareMatrix(threadData, _resultType));
5146#line 5146 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5147
5148#line 1130 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5149 _valid = (_valid && omc_NFType_isInteger(threadData, _type2));
5150#line 5150 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5151
5152#line 1131 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5153 tmpMeta[0] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _resultType, mmc_mk_integermmc_mk_icon(25));
5154#line 1131 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5155 _op = tmpMeta[0];
5156#line 5156 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5157
5158#line 1132 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5159 _e2 = _exp2;
5160#line 5160 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5161 }
5162 else
5163 {
5164#line 1135 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5165 _e2 = omc_NFTypeCheck_matchTypes(threadData, _type2, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3)), _exp2, 1 ,NULL((void*)0) ,&_mk);
5166#line 5166 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5167
5168#line 1136 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5169 _valid = (_valid && omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk));
5170#line 5170 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5171
5172#line 1137 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5173 tmpMeta[0] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _resultType, mmc_mk_integermmc_mk_icon(5));
5174#line 1137 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5175 _op = tmpMeta[0];
5176#line 5176 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5177 }
5178
5179#line 1140 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5180 tmpMeta[0] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, _op, _e2);
5181#line 1140 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5182 _binaryExp = tmpMeta[0];
5183#line 5183 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5184
5185#line 1142 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5186 if((!_valid))
5187#line 1142 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5188 {
5189#line 1143 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5190 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
5191#line 1143 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5192 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _binaryExp, tmpMeta[0], _info, 1);
5193#line 5193 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5194 }
5195 _return: OMC_LABEL_UNUSED__attribute__((unused))
5196 if (out_resultType) { *out_resultType = _resultType; }
5197 return _binaryExp;
5198}
5199
5200DLLExport
5201modelica_metatype omc_NFTypeCheck_checkBinaryOperationDiv(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _info, modelica_boolean _isElementWise, modelica_metatype *out_resultType)
5202{
5203 modelica_metatype _binaryExp = NULL((void*)0);
5204 modelica_metatype _resultType = NULL((void*)0);
5205 modelica_metatype _e1 = NULL((void*)0);
5206 modelica_metatype _e2 = NULL((void*)0);
5207 modelica_metatype _ty1 = NULL((void*)0);
5208 modelica_metatype _ty2 = NULL((void*)0);
5209 modelica_integer _mk;
5210 modelica_boolean _valid;
5211 modelica_metatype _op = NULL((void*)0);
5212 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
5213 MMC_SO()mmc_check_stackoverflow(threadData);
5214 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5215 // _binaryExp has no default value.
5216 // _resultType has no default value.
5217 // _e1 has no default value.
5218 // _e2 has no default value.
5219 // _ty1 has no default value.
5220 // _ty2 has no default value.
5221 // _mk has no default value.
5222 // _valid has no default value.
5223 // _op has no default value.
5224#line 1070 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5225 _e1 = omc_NFTypeCheck_matchTypes(threadData, _type1, omc_NFType_setArrayElementType(threadData, _type1, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _exp1, 1 ,&_ty1 ,&_mk);
5226#line 5226 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5227
5228#line 1071 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5229 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
5230#line 5230 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5231
5232#line 1072 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5233 _e2 = omc_NFTypeCheck_matchTypes(threadData, _type2, omc_NFType_setArrayElementType(threadData, _type2, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _exp2, 1 ,&_ty2 ,&_mk);
5234#line 5234 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5235
5236#line 1073 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5237 _valid = (_valid && omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk));
5238#line 5238 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5239
5240#line 1077 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5241
5242#line 1077 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5243
5244#line 5244 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5245 { /* match expression */
5246 modelica_boolean tmp4_1;modelica_boolean tmp4_2;modelica_boolean tmp4_3;
5247 tmp4_1 = omc_NFType_isArray(threadData, _ty1);
5248 tmp4_2 = omc_NFType_isArray(threadData, _ty2);
5249 tmp4_3 = _isElementWise;
5250 {
5251 volatile mmc_switch_type tmp4;
5252 int tmp5;
5253 tmp4 = 0;
5254 for (; tmp4 < 5; tmp4++) {
5255 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
5256 case 0: {
5257 if (0 != tmp4_1) goto tmp3_end;
5258 if (0 != tmp4_2) goto tmp3_end;
5259
5260 /* Pattern matching succeeded */
5261#line 1079 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5262 tmpMeta[0+0] = _ty1;
5263#line 1079 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5264 tmpMeta[0+1] = omc_NFOperator_makeDiv(threadData, _ty1);
5265#line 5265 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5266 goto tmp3_done;
5267 }
5268 case 1: {
5269 if (0 != tmp4_2) goto tmp3_end;
5270
5271 /* Pattern matching succeeded */
5272#line 1081 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5273 tmpMeta[2] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _ty1, mmc_mk_integermmc_mk_icon(22));
5274#line 1081 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5275 tmpMeta[0+0] = _ty1;
5276#line 1081 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5277 tmpMeta[0+1] = tmpMeta[2];
5278#line 5278 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5279 goto tmp3_done;
5280 }
5281 case 2: {
5282 if (0 != tmp4_1) goto tmp3_end;
5283 if (1 != tmp4_3) goto tmp3_end;
5284
5285 /* Pattern matching succeeded */
5286#line 1083 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5287 tmpMeta[2] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _ty2, mmc_mk_integermmc_mk_icon(21));
5288#line 1083 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5289 tmpMeta[0+0] = _ty2;
5290#line 1083 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5291 tmpMeta[0+1] = tmpMeta[2];
5292#line 5292 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5293 goto tmp3_done;
5294 }
5295 case 3: {
5296 if (1 != tmp4_1) goto tmp3_end;
5297 if (1 != tmp4_3) goto tmp3_end;
5298
5299 /* Pattern matching succeeded */
5300#line 1089 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5301 omc_NFTypeCheck_matchArrayTypes(threadData, _ty1, _ty2, _e1, 1 ,NULL((void*)0) ,&_mk);
5302#line 5302 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5303
5304#line 1090 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5305 _valid = (_valid && omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk));
5306#line 5306 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5307#line 1091 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5308 tmpMeta[0+0] = _ty1;
5309#line 1091 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5310 tmpMeta[0+1] = omc_NFOperator_makeDiv(threadData, _ty1);
5311#line 5311 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5312 goto tmp3_done;
5313 }
5314 case 4: {
5315
5316 /* Pattern matching succeeded */
5317#line 1097 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5318 _valid = 0;
5319#line 5319 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5320#line 1098 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5321 tmpMeta[0+0] = _ty1;
5322#line 1098 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5323 tmpMeta[0+1] = omc_NFOperator_makeDiv(threadData, _ty1);
5324#line 5324 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5325 goto tmp3_done;
5326 }
5327 }
5328 goto tmp3_end;
5329 tmp3_end: ;
5330 }
5331 goto goto_2;
5332 goto_2:;
5333 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5334 goto tmp3_done;
5335 tmp3_done:;
5336 }
5337 }
5338 _resultType = tmpMeta[0+0];
5339 _op = tmpMeta[0+1];
5340
5341#line 1102 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5342 tmpMeta[0] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, _op, _e2);
5343#line 1102 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5344 _binaryExp = tmpMeta[0];
5345#line 5345 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5346
5347#line 1104 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5348 if((!_valid))
5349#line 1104 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5350 {
5351#line 1105 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5352 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
5353#line 1105 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5354 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _binaryExp, tmpMeta[0], _info, 1);
5355#line 5355 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5356 }
5357 _return: OMC_LABEL_UNUSED__attribute__((unused))
5358 if (out_resultType) { *out_resultType = _resultType; }
5359 return _binaryExp;
5360}
5361modelica_metatype boxptr_NFTypeCheck_checkBinaryOperationDiv(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _info, modelica_metatype _isElementWise, modelica_metatype *out_resultType)
5362{
5363 modelica_integer tmp1;
5364 modelica_metatype _binaryExp = NULL((void*)0);
5365 tmp1 = mmc_unbox_integer(_isElementWise)(((mmc_sint_t) (_isElementWise)) >> 1);
5366 _binaryExp = omc_NFTypeCheck_checkBinaryOperationDiv(threadData, _exp1, _type1, _exp2, _type2, _info, tmp1, out_resultType);
5367 /* skip box _binaryExp; NFExpression */
5368 /* skip box _resultType; NFType */
5369 return _binaryExp;
5370}
5371
5372DLLExport
5373modelica_metatype omc_NFTypeCheck_checkBinaryOperationMul(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _info, modelica_metatype *out_resultType)
5374{
5375 modelica_metatype _binaryExp = NULL((void*)0);
5376 modelica_metatype _resultType = NULL((void*)0);
5377 modelica_metatype _e1 = NULL((void*)0);
5378 modelica_metatype _e2 = NULL((void*)0);
5379 modelica_metatype _ty1 = NULL((void*)0);
5380 modelica_metatype _ty2 = NULL((void*)0);
5381 modelica_metatype _dims1 = NULL((void*)0);
5382 modelica_metatype _dims2 = NULL((void*)0);
5383 modelica_metatype _dim11 = NULL((void*)0);
5384 modelica_metatype _dim12 = NULL((void*)0);
5385 modelica_metatype _dim21 = NULL((void*)0);
5386 modelica_metatype _dim22 = NULL((void*)0);
5387 modelica_integer _mk;
5388 modelica_integer _op;
5389 modelica_boolean _valid;
5390 modelica_boolean tmp1 = 0;
5391 modelica_integer tmp5_c1 __attribute__((unused)) = 0;
5392 modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
5393 MMC_SO()mmc_check_stackoverflow(threadData);
5394 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5395 // _binaryExp has no default value.
5396 // _resultType has no default value.
5397 // _e1 has no default value.
5398 // _e2 has no default value.
5399 // _ty1 has no default value.
5400 // _ty2 has no default value.
5401 // _dims1 has no default value.
5402 // _dims2 has no default value.
5403 // _dim11 has no default value.
5404 // _dim12 has no default value.
5405 // _dim21 has no default value.
5406 // _dim22 has no default value.
5407 // _mk has no default value.
5408 // _op has no default value.
5409 // _valid has no default value.
5410#line 989 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5411 _ty1 = omc_NFType_arrayElementType(threadData, _type1);
5412#line 5412 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5413
5414#line 990 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5415 _ty2 = omc_NFType_arrayElementType(threadData, _type2);
5416#line 5416 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5417
5418#line 991 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5419 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _ty1, _exp2, _ty2, 1 ,&_e2 ,&_resultType ,&_mk);
5420#line 5420 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5421
5422#line 992 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5423 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
5424#line 5424 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5425
5426#line 5426 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5427 { /* match expression */
5428 modelica_metatype tmp4_1;
5429 tmp4_1 = _resultType;
5430 {
5431 int tmp4;
5432 {
5433 switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) >> 2
) & 255))
) {
5434 case 3: {
5435
5436 /* Pattern matching succeeded */
5437#line 995 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5438 tmp1 = _valid;
5439#line 5439 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5440 goto tmp3_done;
5441 }
5442 case 4: {
5443
5444 /* Pattern matching succeeded */
5445#line 996 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5446 tmp1 = _valid;
5447#line 5447 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5448 goto tmp3_done;
5449 }
5450 default:
5451 tmp3_default: OMC_LABEL_UNUSED__attribute__((unused)); {
5452
5453 /* Pattern matching succeeded */
5454#line 997 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5455 tmp1 = 0;
5456#line 5456 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5457 goto tmp3_done;
5458 }
5459 }
5460 goto tmp3_end;
5461 tmp3_end: ;
5462 }
5463 goto goto_2;
5464 goto_2:;
5465 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5466 goto tmp3_done;
5467 tmp3_done:;
5468 }
5469 }
5470 _valid = tmp1;
5471
5472#line 1000 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5473 _dims1 = omc_NFType_arrayDims(threadData, _type1);
5474#line 5474 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5475
5476#line 1001 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5477 _dims2 = omc_NFType_arrayDims(threadData, _type2);
5478#line 5478 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5479
5480#line 1003 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5481
5482#line 1003 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5483
5484#line 5484 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5485 { /* match expression */
5486 modelica_metatype tmp8_1;modelica_metatype tmp8_2;
5487 tmp8_1 = _dims1;
5488 tmp8_2 = _dims2;
5489 {
5490 volatile mmc_switch_type tmp8;
5491 int tmp9;
5492 tmp8 = 0;
5493 for (; tmp8 < 8; tmp8++) {
5494 switch (MMC_SWITCH_CAST(tmp8)(tmp8)) {
5495 case 0: {
5496 if (!listEmpty(tmp8_1)((*(mmc_uint_t*)((void*)((char*)(tmp8_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5497 if (!listEmpty(tmp8_2)((*(mmc_uint_t*)((void*)((char*)(tmp8_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5498 /* Pattern matching succeeded */
5499#line 1005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5500 tmpMeta[0+0] = _resultType;
5501#line 1005 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5502 tmp5_c1 = 3;
5503#line 5503 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5504 goto tmp7_done;
5505 }
5506 case 1: {
5507 if (!listEmpty(tmp8_1)((*(mmc_uint_t*)((void*)((char*)(tmp8_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5508
5509 /* Pattern matching succeeded */
5510#line 1007 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5511 tmpMeta[2] = mmc_mk_box3(10, &NFType_ARRAY__desc, _resultType, _dims2);
5512#line 1007 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5513 tmpMeta[0+0] = tmpMeta[2];
5514#line 1007 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5515 tmp5_c1 = 15;
5516#line 5516 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5517 goto tmp7_done;
5518 }
5519 case 2: {
5520 if (!listEmpty(tmp8_2)((*(mmc_uint_t*)((void*)((char*)(tmp8_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5521
5522 /* Pattern matching succeeded */
5523#line 1009 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5524 tmpMeta[2] = mmc_mk_box3(10, &NFType_ARRAY__desc, _resultType, _dims1);
5525#line 1009 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5526 tmpMeta[0+0] = tmpMeta[2];
5527#line 1009 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5528 tmp5_c1 = 16;
5529#line 5529 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5530 goto tmp7_done;
5531 }
5532 case 3: {
5533 if (listEmpty(tmp8_1)((*(mmc_uint_t*)((void*)((char*)(tmp8_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5534 tmpMeta[2] = MMC_CAR(tmp8_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_1) - 3))) +
(1)))))
;
5535 tmpMeta[3] = MMC_CDR(tmp8_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_1) - 3))) +
(2)))))
;
5536 if (!listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5537 if (listEmpty(tmp8_2)((*(mmc_uint_t*)((void*)((char*)(tmp8_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5538 tmpMeta[4] = MMC_CAR(tmp8_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_2) - 3))) +
(1)))))
;
5539 tmpMeta[5] = MMC_CDR(tmp8_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_2) - 3))) +
(2)))))
;
5540 if (!listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5541 _dim11 = tmpMeta[2];
5542 _dim21 = tmpMeta[4];
5543 /* Pattern matching succeeded */
5544#line 1013 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5545 _valid = omc_NFDimension_isEqual(threadData, _dim11, _dim21);
5546#line 5546 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5547#line 1014 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5548 tmpMeta[0+0] = _resultType;
5549#line 1014 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5550 tmp5_c1 = 19;
5551#line 5551 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5552 goto tmp7_done;
5553 }
5554 case 4: {
5555 if (listEmpty(tmp8_1)((*(mmc_uint_t*)((void*)((char*)(tmp8_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5556 tmpMeta[2] = MMC_CAR(tmp8_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_1) - 3))) +
(1)))))
;
5557 tmpMeta[3] = MMC_CDR(tmp8_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_1) - 3))) +
(2)))))
;
5558 if (!listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5559 if (listEmpty(tmp8_2)((*(mmc_uint_t*)((void*)((char*)(tmp8_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5560 tmpMeta[4] = MMC_CAR(tmp8_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_2) - 3))) +
(1)))))
;
5561 tmpMeta[5] = MMC_CDR(tmp8_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_2) - 3))) +
(2)))))
;
5562 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5563 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
5564 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
5565 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5566 _dim11 = tmpMeta[2];
5567 _dim21 = tmpMeta[4];
5568 _dim22 = tmpMeta[6];
5569 /* Pattern matching succeeded */
5570#line 1020 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5571 _valid = omc_NFDimension_isEqual(threadData, _dim11, _dim21);
5572#line 5572 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5573#line 1021 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5574 tmpMeta[2] = mmc_mk_cons(_dim22, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
5575#line 1021 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5576 tmpMeta[3] = mmc_mk_box3(10, &NFType_ARRAY__desc, _resultType, tmpMeta[2]);
5577#line 1021 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5578 tmpMeta[0+0] = tmpMeta[3];
5579#line 1021 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5580 tmp5_c1 = 17;
5581#line 5581 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5582 goto tmp7_done;
5583 }
5584 case 5: {
5585 if (listEmpty(tmp8_2)((*(mmc_uint_t*)((void*)((char*)(tmp8_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5586 tmpMeta[2] = MMC_CAR(tmp8_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_2) - 3))) +
(1)))))
;
5587 tmpMeta[3] = MMC_CDR(tmp8_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_2) - 3))) +
(2)))))
;
5588 if (!listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5589 if (listEmpty(tmp8_1)((*(mmc_uint_t*)((void*)((char*)(tmp8_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5590 tmpMeta[4] = MMC_CAR(tmp8_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_1) - 3))) +
(1)))))
;
5591 tmpMeta[5] = MMC_CDR(tmp8_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_1) - 3))) +
(2)))))
;
5592 if (listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5593 tmpMeta[6] = MMC_CAR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (1)))))
;
5594 tmpMeta[7] = MMC_CDR(tmpMeta[5])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[5]) - 3
))) + (2)))))
;
5595 if (!listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5596 _dim21 = tmpMeta[2];
5597 _dim11 = tmpMeta[4];
5598 _dim12 = tmpMeta[6];
5599 /* Pattern matching succeeded */
5600#line 1027 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5601 _valid = omc_NFDimension_isEqual(threadData, _dim12, _dim21);
5602#line 5602 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5603#line 1028 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5604 tmpMeta[2] = mmc_mk_cons(_dim11, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
5605#line 1028 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5606 tmpMeta[3] = mmc_mk_box3(10, &NFType_ARRAY__desc, _resultType, tmpMeta[2]);
5607#line 1028 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5608 tmpMeta[0+0] = tmpMeta[3];
5609#line 1028 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5610 tmp5_c1 = 18;
5611#line 5611 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5612 goto tmp7_done;
5613 }
5614 case 6: {
5615 if (listEmpty(tmp8_1)((*(mmc_uint_t*)((void*)((char*)(tmp8_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5616 tmpMeta[2] = MMC_CAR(tmp8_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_1) - 3))) +
(1)))))
;
5617 tmpMeta[3] = MMC_CDR(tmp8_1)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_1) - 3))) +
(2)))))
;
5618 if (listEmpty(tmpMeta[3])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[3]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5619 tmpMeta[4] = MMC_CAR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (1)))))
;
5620 tmpMeta[5] = MMC_CDR(tmpMeta[3])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (2)))))
;
5621 if (!listEmpty(tmpMeta[5])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[5]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5622 if (listEmpty(tmp8_2)((*(mmc_uint_t*)((void*)((char*)(tmp8_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5623 tmpMeta[6] = MMC_CAR(tmp8_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_2) - 3))) +
(1)))))
;
5624 tmpMeta[7] = MMC_CDR(tmp8_2)(*(void**)(((void*)((void**)(((void*)((char*)(tmp8_2) - 3))) +
(2)))))
;
5625 if (listEmpty(tmpMeta[7])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[7]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5626 tmpMeta[8] = MMC_CAR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (1)))))
;
5627 tmpMeta[9] = MMC_CDR(tmpMeta[7])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[7]) - 3
))) + (2)))))
;
5628 if (!listEmpty(tmpMeta[9])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[9]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5629 _dim11 = tmpMeta[2];
5630 _dim12 = tmpMeta[4];
5631 _dim21 = tmpMeta[6];
5632 _dim22 = tmpMeta[8];
5633 /* Pattern matching succeeded */
5634#line 1034 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5635 _valid = omc_NFDimension_isEqual(threadData, _dim12, _dim21);
5636#line 5636 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5637#line 1035 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5638 tmpMeta[2] = mmc_mk_cons(_dim11, mmc_mk_cons(_dim22, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
5639#line 1035 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5640 tmpMeta[3] = mmc_mk_box3(10, &NFType_ARRAY__desc, _resultType, tmpMeta[2]);
5641#line 1035 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5642 tmpMeta[0+0] = tmpMeta[3];
5643#line 1035 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5644 tmp5_c1 = 20;
5645#line 5645 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5646 goto tmp7_done;
5647 }
5648 case 7: {
5649
5650 /* Pattern matching succeeded */
5651#line 1040 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5652 _valid = 0;
5653#line 5653 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5654#line 1041 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5655 tmpMeta[0+0] = _resultType;
5656#line 1041 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5657 tmp5_c1 = 3;
5658#line 5658 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5659 goto tmp7_done;
5660 }
5661 }
5662 goto tmp7_end;
5663 tmp7_end: ;
5664 }
5665 goto goto_6;
5666 goto_6:;
5667 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5668 goto tmp7_done;
5669 tmp7_done:;
5670 }
5671 }
5672 _resultType = tmpMeta[0+0];
5673 _op = tmp5_c1;
5674
5675#line 1045 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5676 tmpMeta[0] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _resultType, mmc_mk_integermmc_mk_icon((modelica_integer)_op));
5677#line 1045 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5678 tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, tmpMeta[0], _e2);
5679#line 1045 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5680 _binaryExp = tmpMeta[1];
5681#line 5681 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5682
5683#line 1047 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5684 if((!_valid))
5685#line 1047 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5686 {
5687#line 1048 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5688 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
5689#line 1048 "/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5690 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _binaryExp, tmpMeta[0], _info, 1);
5691#line 5691 OMC_FILE"/var/lib/jenkins1/ws/ins.slow_JKRT-OMSens-minor-fixes/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5692 }
5693 _return: OMC_LABEL_UNUSED__attribute__((unused))
5694 if (out_resultType) { *out_resultType = _resultType; }
5695 return _binaryExp;
5696}
5697
5698DLLExport
5699modelica_metatype omc_NFTypeCheck_checkBinaryOperationSub(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _info, modelica_metatype *out_resultType)
5700{
5701 modelica_metatype _binaryExp = NULL((void*)0);
5702 modelica_metatype _resultType = NULL((void*)0);
5703 modelica_metatype _e1 = NULL((void*)0);
5704 modelica_metatype _e2 = NULL((void*)0);
5705 modelica_integer _mk;
5706 modelica_boolean _valid;
5707 modelica_boolean tmp1 = 0;
5708 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
5709 MMC_SO()mmc_check_stackoverflow(threadData);
5710 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5711 // _binaryExp has no default value.
5712 // _resultType has no default value.
5713 // _e1 has no default value.
5714 // _e2 has no default value.
5715 // _mk has no default value.
5716 // _valid has no default value.
5717