Bug Summary

File:OMCompiler/Compiler/boot/build/NFTypeCheck.c
Warning:line 4499, column 3
Value stored to '_matchedFunctions' is never read

Annotated Source Code

[?] Use j/k keys for keyboard navigation

1#ifdef OMC_BASE_FILE
2 #define OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c" OMC_BASE_FILE
3#else
4 #define OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c" "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/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/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo" "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/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/iodic_Jenkins.slow_omlib-staging/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,1588090879.0)struct mmc_real_lit _OMC_LIT_STRUCT35_6 = {0,(((8/8) <<
10) + 9),1588090879.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(3058))((void*)(((((mmc_uint_t) (3058)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(3058))((void*)(((((mmc_uint_t) (3058)) << 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,1588090879.0)struct mmc_real_lit _OMC_LIT_STRUCT96_6 = {0,(((8/8) <<
10) + 9),1588090879.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(2162))((void*)(((((mmc_uint_t) (2162)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(2162))((void*)(((((mmc_uint_t) (2162)) << 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,1588090879.0)struct mmc_real_lit _OMC_LIT_STRUCT98_6 = {0,(((8/8) <<
10) + 9),1588090879.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(2067))((void*)(((((mmc_uint_t) (2067)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(9))((void*)(((((mmc_uint_t) (9)) << 1)+0))),MMC_IMMEDIATE(MMC_TAGFIXNUM(2067))((void*)(((((mmc_uint_t) (2067)) << 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/* default, do not make protected functions static */
291#if !defined(PROTECTED_FUNCTION_STATIC)
292#define PROTECTED_FUNCTION_STATIC
293#endif
294PROTECTED_FUNCTION_STATIC modelica_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);
295PROTECTED_FUNCTION_STATIC modelica_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);
296static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationEW,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkBinaryOperationEW
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkBinaryOperationEW,0}};
297#define boxvar_NFTypeCheck_checkBinaryOperationEW((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationEW
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationEW)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationEW
).header) + 3))
298PROTECTED_FUNCTION_STATIC modelica_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);
299static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationPowEW,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkBinaryOperationPowEW
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkBinaryOperationPowEWomc_NFTypeCheck_checkBinaryOperationPowEW,0}};
300#define boxvar_NFTypeCheck_checkBinaryOperationPowEW((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationPowEW
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationPowEW)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationPowEW
).header) + 3))
301PROTECTED_FUNCTION_STATIC modelica_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);
302static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationPow,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkBinaryOperationPow
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkBinaryOperationPowomc_NFTypeCheck_checkBinaryOperationPow,0}};
303#define boxvar_NFTypeCheck_checkBinaryOperationPow((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationPow
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationPow)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationPow
).header) + 3))
304PROTECTED_FUNCTION_STATIC modelica_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);
305PROTECTED_FUNCTION_STATIC modelica_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);
306static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationDiv,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkBinaryOperationDiv
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkBinaryOperationDiv,0}};
307#define boxvar_NFTypeCheck_checkBinaryOperationDiv((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationDiv
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationDiv)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationDiv
).header) + 3))
308PROTECTED_FUNCTION_STATIC modelica_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);
309static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationMul,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkBinaryOperationMul
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkBinaryOperationMulomc_NFTypeCheck_checkBinaryOperationMul,0}};
310#define boxvar_NFTypeCheck_checkBinaryOperationMul((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationMul
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationMul)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationMul
).header) + 3))
311PROTECTED_FUNCTION_STATIC modelica_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);
312static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationSub,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkBinaryOperationSub
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkBinaryOperationSubomc_NFTypeCheck_checkBinaryOperationSub,0}};
313#define boxvar_NFTypeCheck_checkBinaryOperationSub((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationSub
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationSub)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationSub
).header) + 3))
314PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_checkBinaryOperationAdd(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _info, modelica_metatype *out_resultType);
315static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationAdd,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkBinaryOperationAdd
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkBinaryOperationAddomc_NFTypeCheck_checkBinaryOperationAdd,0}};
316#define boxvar_NFTypeCheck_checkBinaryOperationAdd((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationAdd
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkBinaryOperationAdd)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkBinaryOperationAdd
).header) + 3))
317PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_implicitConstructAndMatch2(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _exp2, modelica_metatype _paramType1, modelica_metatype _paramInfo1, modelica_metatype _paramType2, modelica_metatype _paramInfo2, modelica_metatype _scope, modelica_metatype _fn, modelica_boolean _reverseArgs, modelica_metatype _D_24in_matchedFns, modelica_boolean *out_matched);
318PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFTypeCheck_implicitConstructAndMatch2(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _exp2, modelica_metatype _paramType1, modelica_metatype _paramInfo1, modelica_metatype _paramType2, modelica_metatype _paramInfo2, modelica_metatype _scope, modelica_metatype _fn, modelica_metatype _reverseArgs, modelica_metatype _D_24in_matchedFns, modelica_metatype *out_matched);
319static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_implicitConstructAndMatch2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_implicitConstructAndMatch2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_implicitConstructAndMatch2,0}};
320#define boxvar_NFTypeCheck_implicitConstructAndMatch2((void*)((char*)(&(boxvar_lit_NFTypeCheck_implicitConstructAndMatch2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_implicitConstructAndMatch2)((void*)((char*)(&(boxvar_lit_NFTypeCheck_implicitConstructAndMatch2
).header) + 3))
321PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_implicitConstructAndMatch(threadData_t *threadData, modelica_metatype _candidates, modelica_metatype _inExp1, modelica_metatype _inType1, modelica_metatype _op, modelica_metatype _inExp2, modelica_metatype _inType2, modelica_metatype _info, modelica_metatype *out_outType);
322static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_implicitConstructAndMatch,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_implicitConstructAndMatch
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_implicitConstructAndMatchomc_NFTypeCheck_implicitConstructAndMatch,0}};
323#define boxvar_NFTypeCheck_implicitConstructAndMatch((void*)((char*)(&(boxvar_lit_NFTypeCheck_implicitConstructAndMatch
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_implicitConstructAndMatch)((void*)((char*)(&(boxvar_lit_NFTypeCheck_implicitConstructAndMatch
).header) + 3))
324PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_checkOverloadedBinaryArrayEW2(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
325PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFTypeCheck_checkOverloadedBinaryArrayEW2(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
326static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayEW2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayEW2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkOverloadedBinaryArrayEW2,0}};
327#define boxvar_NFTypeCheck_checkOverloadedBinaryArrayEW2((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayEW2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayEW2)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayEW2
).header) + 3))
328PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_checkOverloadedBinaryArrayEW(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
329PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFTypeCheck_checkOverloadedBinaryArrayEW(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
330static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayEW,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayEW
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkOverloadedBinaryArrayEW,0}};
331#define boxvar_NFTypeCheck_checkOverloadedBinaryArrayEW((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayEW
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayEW)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayEW
).header) + 3))
332PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_checkOverloadedBinaryArrayDiv(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
333PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFTypeCheck_checkOverloadedBinaryArrayDiv(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
334static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayDiv,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayDiv
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkOverloadedBinaryArrayDiv,0}};
335#define boxvar_NFTypeCheck_checkOverloadedBinaryArrayDiv((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayDiv
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayDiv)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayDiv
).header) + 3))
336PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_checkOverloadedBinaryArrayScalar2(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
337PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFTypeCheck_checkOverloadedBinaryArrayScalar2(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
338static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayScalar2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayScalar2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkOverloadedBinaryArrayScalar2,0}};
339#define boxvar_NFTypeCheck_checkOverloadedBinaryArrayScalar2((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayScalar2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayScalar2)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayScalar2
).header) + 3))
340PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_checkOverloadedBinaryArrayScalar(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
341PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFTypeCheck_checkOverloadedBinaryArrayScalar(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
342static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayScalar,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayScalar
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkOverloadedBinaryArrayScalar,0}};
343#define boxvar_NFTypeCheck_checkOverloadedBinaryArrayScalar((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayScalar
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayScalar)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayScalar
).header) + 3))
344PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_checkOverloadedBinaryScalarArray2(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
345PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFTypeCheck_checkOverloadedBinaryScalarArray2(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
346static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryScalarArray2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkOverloadedBinaryScalarArray2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkOverloadedBinaryScalarArray2,0}};
347#define boxvar_NFTypeCheck_checkOverloadedBinaryScalarArray2((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryScalarArray2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryScalarArray2)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryScalarArray2
).header) + 3))
348PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_checkOverloadedBinaryScalarArray(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
349PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFTypeCheck_checkOverloadedBinaryScalarArray(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
350static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryScalarArray,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkOverloadedBinaryScalarArray
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkOverloadedBinaryScalarArray,0}};
351#define boxvar_NFTypeCheck_checkOverloadedBinaryScalarArray((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryScalarArray
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryScalarArray)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryScalarArray
).header) + 3))
352PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_checkOverloadedBinaryArrayMul(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
353PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFTypeCheck_checkOverloadedBinaryArrayMul(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
354static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayMul,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayMul
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkOverloadedBinaryArrayMul,0}};
355#define boxvar_NFTypeCheck_checkOverloadedBinaryArrayMul((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayMul
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayMul)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayMul
).header) + 3))
356PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_checkOverloadedBinaryArrayAddSub2(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
357PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFTypeCheck_checkOverloadedBinaryArrayAddSub2(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
358static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayAddSub2,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayAddSub2
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkOverloadedBinaryArrayAddSub2,0}};
359#define boxvar_NFTypeCheck_checkOverloadedBinaryArrayAddSub2((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayAddSub2
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayAddSub2)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayAddSub2
).header) + 3))
360PROTECTED_FUNCTION_STATIC modelica_metatype omc_NFTypeCheck_checkOverloadedBinaryArrayAddSub(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_integer _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_integer _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
361PROTECTED_FUNCTION_STATIC modelica_metatype boxptr_NFTypeCheck_checkOverloadedBinaryArrayAddSub(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _type1, modelica_metatype _var1, modelica_metatype _op, modelica_metatype _exp2, modelica_metatype _type2, modelica_metatype _var2, modelica_metatype _candidates, modelica_metatype _info, modelica_metatype *out_outType);
362static const MMC_DEFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayAddSub,2,0)struct { mmc_uint_t header; const void *data[2]; } boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayAddSub
= { (((2) << 10) + (((0) & 255) << 2)),
{(void*) boxptr_NFTypeCheck_checkOverloadedBinaryArrayAddSub,0}};
363#define boxvar_NFTypeCheck_checkOverloadedBinaryArrayAddSub((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayAddSub
).header) + 3))
MMC_REFSTRUCTLIT(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayAddSub)((void*)((char*)(&(boxvar_lit_NFTypeCheck_checkOverloadedBinaryArrayAddSub
).header) + 3))
364
365DLLExport
366modelica_boolean omc_NFTypeCheck_checkSumComplexType(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _exp, modelica_metatype _info)
367{
368 modelica_boolean _valid;
369 modelica_metatype _cls_node = NULL((void*)0);
370 modelica_metatype _op_node = NULL((void*)0);
371 modelica_metatype _cls = NULL((void*)0);
372 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
373 MMC_SO()mmc_check_stackoverflow(threadData);
374 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
375 _valid = 1;
376 // _cls_node has no default value.
377 // _op_node has no default value.
378 // _cls has no default value.
379#line 3188 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
380 /* Pattern-matching assignment */
381#line 3188 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
382 tmpMeta[0] = _ty;
383#line 3188 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
384 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);};
385#line 3188 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
386 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
387#line 3188 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
388 _cls_node = tmpMeta[1];
389#line 389 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
390
391#line 3189 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
392 _cls = omc_NFInstNode_InstNode_getClass(threadData, _cls_node);
393#line 393 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
394
395#line 3191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
396 {
397#line 3191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
398 modelica_metatype _op;
399#line 3191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
400 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)))))
)
401#line 3191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
402 {
403#line 3191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
404 _op = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
405#line 3192 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
406 if((!omc_NFClass_Class_hasOperator(threadData, _op, _cls)))
407#line 3192 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
408 {
409#line 3193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
410 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))))));
411#line 3193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
412 omc_Error_addSourceMessage(threadData, _OMC_LIT4((void*)((char*)(&(_OMC_LIT_STRUCT4).header) + 3)), tmpMeta[1], _info);
413#line 413 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
414
415#line 3195 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
416 _valid = 0;
417#line 417 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
418 }
419 }
420 }
421 _return: OMC_LABEL_UNUSED__attribute__((unused))
422 return _valid;
423}
424modelica_metatype boxptr_NFTypeCheck_checkSumComplexType(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _exp, modelica_metatype _info)
425{
426 modelica_boolean _valid;
427 modelica_metatype out_valid;
428 _valid = omc_NFTypeCheck_checkSumComplexType(threadData, _ty, _exp, _info);
429 out_valid = mmc_mk_icon(_valid);
430 return out_valid;
431}
432
433DLLExport
434void omc_NFTypeCheck_checkReductionType(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _name, modelica_metatype _exp, modelica_metatype _info)
435{
436 modelica_metatype _ety = NULL((void*)0);
437 modelica_string _err = NULL((void*)0);
438 modelica_string tmp1 = 0;
439 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
440 MMC_SO()mmc_check_stackoverflow(threadData);
441 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
442 // _ety has no default value.
443 // _err has no default value.
444#line 444 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
445 { /* match expression */
446 modelica_metatype tmp4_1;
447 tmp4_1 = _name;
448 {
449 volatile mmc_switch_type tmp4;
450 int tmp5;
451 tmp4 = 0;
452 for (; tmp4 < 5; tmp4++) {
453 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
454 case 0: {
455 modelica_string tmp6 = 0;
456 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;
457 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
458 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;
459 /* Pattern matching succeeded */
460#line 460 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
461 { /* match expression */
462 modelica_metatype tmp9_1;
463 tmp9_1 = omc_NFType_arrayElementType(threadData, _ty);
464 {
465 volatile mmc_switch_type tmp9;
466 int tmp10;
467 tmp9 = 0;
468 for (; tmp9 < 4; tmp9++) {
469 switch (MMC_SWITCH_CAST(tmp9)(tmp9)) {
470 case 0: {
471 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;
472 /* Pattern matching succeeded */
473#line 3136 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
474 tmp6 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
475#line 475 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
476 goto tmp8_done;
477 }
478 case 1: {
479 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;
480 /* Pattern matching succeeded */
481#line 3137 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
482 tmp6 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
483#line 483 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
484 goto tmp8_done;
485 }
486 case 2: {
487 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;
488
489 /* Pattern matching succeeded */
490 /* Check guard condition after assignments */
491 if (!omc_NFTypeCheck_checkSumComplexType(threadData, _ty, _exp, _info)) goto tmp8_end;
492#line 3138 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
493 tmp6 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
494#line 494 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
495 goto tmp8_done;
496 }
497 case 3: {
498
499 /* Pattern matching succeeded */
500#line 3139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
501 tmp6 = _OMC_LIT11((void*)((char*)(&(_OMC_LIT_STRUCT11).header) + 3));
502#line 502 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
503 goto tmp8_done;
504 }
505 }
506 goto tmp8_end;
507 tmp8_end: ;
508 }
509 goto goto_7;
510 goto_7:;
511 goto goto_2;
512 goto tmp8_done;
513 tmp8_done:;
514 }
515 }tmp1 = tmp6;
516 goto tmp3_done;
517 }
518 case 1: {
519 modelica_string tmp11 = 0;
520 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;
521 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
522 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;
523 /* Pattern matching succeeded */
524#line 524 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
525 { /* match expression */
526 modelica_metatype tmp14_1;
527 tmp14_1 = _ty;
528 {
529 int tmp14;
530 {
531 switch (MMC_SWITCH_CAST(valueConstructor(tmp14_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp14_1) - 3)))) >>
2) & 255))
) {
532 case 3: {
533
534 /* Pattern matching succeeded */
535#line 3145 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
536 tmp11 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
537#line 537 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
538 goto tmp13_done;
539 }
540 case 4: {
541
542 /* Pattern matching succeeded */
543#line 3146 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
544 tmp11 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
545#line 545 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
546 goto tmp13_done;
547 }
548 default:
549 tmp13_default: OMC_LABEL_UNUSED__attribute__((unused)); {
550
551 /* Pattern matching succeeded */
552#line 3147 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
553 tmp11 = _OMC_LIT12((void*)((char*)(&(_OMC_LIT_STRUCT12).header) + 3));
554#line 554 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
555 goto tmp13_done;
556 }
557 }
558 goto tmp13_end;
559 tmp13_end: ;
560 }
561 goto goto_12;
562 goto_12:;
563 goto goto_2;
564 goto tmp13_done;
565 tmp13_done:;
566 }
567 }tmp1 = tmp11;
568 goto tmp3_done;
569 }
570 case 2: {
571 modelica_string tmp15 = 0;
572 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;
573 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
574 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;
575 /* Pattern matching succeeded */
576#line 576 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
577 { /* match expression */
578 modelica_metatype tmp18_1;
579 tmp18_1 = _ty;
580 {
581 int tmp18;
582 {
583 switch (MMC_SWITCH_CAST(valueConstructor(tmp18_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp18_1) - 3)))) >>
2) & 255))
) {
584 case 3: {
585
586 /* Pattern matching succeeded */
587#line 3153 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
588 tmp15 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
589#line 589 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
590 goto tmp17_done;
591 }
592 case 4: {
593
594 /* Pattern matching succeeded */
595#line 3154 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
596 tmp15 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
597#line 597 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
598 goto tmp17_done;
599 }
600 case 6: {
601
602 /* Pattern matching succeeded */
603#line 3155 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
604 tmp15 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
605#line 605 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
606 goto tmp17_done;
607 }
608 case 8: {
609
610 /* Pattern matching succeeded */
611#line 3156 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
612 tmp15 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
613#line 613 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
614 goto tmp17_done;
615 }
616 default:
617 tmp17_default: OMC_LABEL_UNUSED__attribute__((unused)); {
618
619 /* Pattern matching succeeded */
620#line 3157 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
621 tmp15 = _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3));
622#line 622 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
623 goto tmp17_done;
624 }
625 }
626 goto tmp17_end;
627 tmp17_end: ;
628 }
629 goto goto_16;
630 goto_16:;
631 goto goto_2;
632 goto tmp17_done;
633 tmp17_done:;
634 }
635 }tmp1 = tmp15;
636 goto tmp3_done;
637 }
638 case 3: {
639 modelica_string tmp19 = 0;
640 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;
641 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
642 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;
643 /* Pattern matching succeeded */
644#line 644 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
645 { /* match expression */
646 modelica_metatype tmp22_1;
647 tmp22_1 = _ty;
648 {
649 int tmp22;
650 {
651 switch (MMC_SWITCH_CAST(valueConstructor(tmp22_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp22_1) - 3)))) >>
2) & 255))
) {
652 case 3: {
653
654 /* Pattern matching succeeded */
655#line 3163 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
656 tmp19 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
657#line 657 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
658 goto tmp21_done;
659 }
660 case 4: {
661
662 /* Pattern matching succeeded */
663#line 3164 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
664 tmp19 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
665#line 665 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
666 goto tmp21_done;
667 }
668 case 6: {
669
670 /* Pattern matching succeeded */
671#line 3165 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
672 tmp19 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
673#line 673 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
674 goto tmp21_done;
675 }
676 case 8: {
677
678 /* Pattern matching succeeded */
679#line 3166 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
680 tmp19 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
681#line 681 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
682 goto tmp21_done;
683 }
684 default:
685 tmp21_default: OMC_LABEL_UNUSED__attribute__((unused)); {
686
687 /* Pattern matching succeeded */
688#line 3167 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
689 tmp19 = _OMC_LIT13((void*)((char*)(&(_OMC_LIT_STRUCT13).header) + 3));
690#line 690 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
691 goto tmp21_done;
692 }
693 }
694 goto tmp21_end;
695 tmp21_end: ;
696 }
697 goto goto_20;
698 goto_20:;
699 goto goto_2;
700 goto tmp21_done;
701 tmp21_done:;
702 }
703 }tmp1 = tmp19;
704 goto tmp3_done;
705 }
706 case 4: {
707
708 /* Pattern matching succeeded */
709#line 3170 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
710 tmp1 = _OMC_LIT10((void*)((char*)(&(_OMC_LIT_STRUCT10).header) + 3));
711#line 711 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
712 goto tmp3_done;
713 }
714 }
715 goto tmp3_end;
716 tmp3_end: ;
717 }
718 goto goto_2;
719 goto_2:;
720 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
721 goto tmp3_done;
722 tmp3_done:;
723 }
724 }
725 _err = tmp1;
726
727#line 3173 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
728 if((!(stringLength(_err)(((((*(mmc_uint_t*)((void*)((char*)(_err) - 3)))) >> (3
)) - 8))
== ((modelica_integer) 0))))
729#line 3173 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
730 {
731#line 3174 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
732 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))))));
733#line 3174 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
734 omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT19((void*)((char*)(&(_OMC_LIT_STRUCT19).header) + 3)), tmpMeta[0], _info);
735#line 735 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
736 }
737 _return: OMC_LABEL_UNUSED__attribute__((unused))
738 return;
739}
740
741DLLExport
742void omc_NFTypeCheck_checkDimensionType(threadData_t *threadData, modelica_metatype _exp, modelica_metatype _ty, modelica_metatype _info)
743{
744 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
745 MMC_SO()mmc_check_stackoverflow(threadData);
746 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
747#line 3109 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
748 if((!omc_NFType_isInteger(threadData, _ty)))
749#line 3109 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
750 {
751#line 751 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
752 { /* match expression */
753 modelica_metatype tmp3_1;
754 tmp3_1 = _exp;
755 {
756 volatile mmc_switch_type tmp3;
757 int tmp4;
758 tmp3 = 0;
759 for (; tmp3 < 3; tmp3++) {
760 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
761 case 0: {
762 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;
763 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
764 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;
765 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
766 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;
767
768 /* Pattern matching succeeded */
769#line 769 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
770 goto tmp2_done;
771 }
772 case 1: {
773 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;
774 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
775 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;
776 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
777 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;
778
779 /* Pattern matching succeeded */
780#line 780 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
781 goto tmp2_done;
782 }
783 case 2: {
784
785 /* Pattern matching succeeded */
786#line 3115 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
787 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))));
788#line 3115 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
789 omc_Error_addSourceMessage(threadData, _OMC_LIT23((void*)((char*)(&(_OMC_LIT_STRUCT23).header) + 3)), tmpMeta[0], _info);
790#line 790 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
791#line 3117 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
792 goto goto_1;
793#line 793 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
794 goto tmp2_done;
795 }
796 }
797 goto tmp2_end;
798 tmp2_end: ;
799 }
800 goto goto_1;
801 goto_1:;
802 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
803 goto tmp2_done;
804 tmp2_done:;
805 }
806 }
807 ;
808 }
809 _return: OMC_LABEL_UNUSED__attribute__((unused))
810 return;
811}
812
813DLLExport
814void omc_NFTypeCheck_printBindingTypeError(threadData_t *threadData, modelica_string _name, modelica_metatype _binding, modelica_metatype _componentType, modelica_metatype _bindingType, modelica_metatype _component)
815{
816 modelica_metatype _binding_info = NULL((void*)0);
817 modelica_metatype _comp_info = NULL((void*)0);
818 modelica_string _bind_ty_str = NULL((void*)0);
819 modelica_string _comp_ty_str = NULL((void*)0);
820 modelica_integer _mk;
821 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
822 MMC_SO()mmc_check_stackoverflow(threadData);
823 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
824 // _binding_info has no default value.
825 // _comp_info has no default value.
826 // _bind_ty_str has no default value.
827 // _comp_ty_str has no default value.
828 // _mk has no default value.
829#line 3075 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
830 _binding_info = omc_NFBinding_Binding_getInfo(threadData, _binding);
831#line 831 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
832
833#line 3076 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
834 _comp_info = omc_NFInstNode_InstNode_info(threadData, _component);
835#line 835 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
836
837#line 3078 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
838 if((omc_NFType_isScalar(threadData, _bindingType) && omc_NFType_isArray(threadData, _componentType)))
839#line 3078 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
840 {
841#line 3079 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
842 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))));
843#line 3079 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
844 tmpMeta[1] = mmc_mk_cons(_binding_info, mmc_mk_cons(_comp_info, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
845#line 3079 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
846 omc_Error_addMultiSourceMessage(threadData, _OMC_LIT32((void*)((char*)(&(_OMC_LIT_STRUCT32).header) + 3)), tmpMeta[0], tmpMeta[1]);
847#line 847 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
848 }
849 else
850 {
851#line 3082 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
852 tmpMeta[0] = mmc_mk_box2(31, &NFExpression_EMPTY__desc, _bindingType);
853#line 3082 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
854 omc_NFTypeCheck_matchTypes(threadData, omc_NFType_arrayElementType(threadData, _bindingType), omc_NFType_arrayElementType(threadData, _componentType), tmpMeta[0], 1 ,NULL((void*)0) ,&_mk);
855#line 855 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
856
857#line 3086 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
858 if((!omc_Config_getGraphicsExpMode(threadData)))
859#line 3086 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
860 {
861#line 3087 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
862 if(omc_NFTypeCheck_isValidAssignmentMatch(threadData, (modelica_integer)_mk))
863#line 3087 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
864 {
865#line 3088 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
866 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))))));
867#line 3088 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
868 tmpMeta[1] = mmc_mk_cons(_binding_info, mmc_mk_cons(_comp_info, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
869#line 3088 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
870 omc_Error_addMultiSourceMessage(threadData, _OMC_LIT29((void*)((char*)(&(_OMC_LIT_STRUCT29).header) + 3)), tmpMeta[0], tmpMeta[1]);
871#line 871 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
872 }
873 else
874 {
875#line 3094 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
876 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))))));
877#line 3094 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
878 tmpMeta[1] = mmc_mk_cons(_binding_info, mmc_mk_cons(_comp_info, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
879#line 3094 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
880 omc_Error_addMultiSourceMessage(threadData, _OMC_LIT26((void*)((char*)(&(_OMC_LIT_STRUCT26).header) + 3)), tmpMeta[0], tmpMeta[1]);
881#line 881 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
882 }
883 }
884 }
885 _return: OMC_LABEL_UNUSED__attribute__((unused))
886 return;
887}
888
889DLLExport
890modelica_metatype omc_NFTypeCheck_matchBinding(threadData_t *threadData, modelica_metatype _D_24in_binding, modelica_metatype _componentType, modelica_string _name, modelica_metatype _component)
891{
892 modelica_metatype _binding = NULL((void*)0);
893 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
894 MMC_SO()mmc_check_stackoverflow(threadData);
895 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
896 _binding = _D_24in_binding;
897#line 897 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
898 { /* match expression */
899 modelica_metatype tmp3_1;
900 tmp3_1 = _binding;
901 {
902 modelica_integer _ty_match;
903 modelica_metatype _exp = NULL((void*)0);
904 modelica_metatype _ty = NULL((void*)0);
905 modelica_metatype _exp_ty = NULL((void*)0);
906 modelica_metatype _comp_ty = NULL((void*)0);
907 modelica_metatype _dims = NULL((void*)0);
908 int tmp3;
909 // _ty_match has no default value.
910 // _exp has no default value.
911 // _ty has no default value.
912 // _exp_ty has no default value.
913 // _comp_ty has no default value.
914 // _dims has no default value.
915 {
916 switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) >> 2
) & 255))
) {
917 case 6: {
918 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;
919 tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
920
921 _exp = tmpMeta[0];
922 /* Pattern matching succeeded */
923#line 3032 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
924
925#line 3032 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
926
927#line 927 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
928 { /* match expression */
929 modelica_metatype tmp7_1;
930 tmp7_1 = _exp;
931 {
932 volatile mmc_switch_type tmp7;
933 int tmp8;
934 tmp7 = 0;
935 for (; tmp7 < 2; tmp7++) {
936 switch (MMC_SWITCH_CAST(tmp7)(tmp7)) {
937 case 0: {
938 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;
939
940 /* Pattern matching succeeded */
941 /* Check guard condition after assignments */
942 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;
943#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
944 {
945#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
946 modelica_metatype _D_24tmpVar1;
947#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
948 modelica_metatype* tmp9;
949#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
950 modelica_metatype _D_24tmpVar0;
951#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
952 int tmp10;
953#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
954 modelica_metatype _p_loopVar = 0;
955#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
956 modelica_metatype _p;
957#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
958 _p_loopVar = listRest((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))))boxptr_listRest(threadData,((*(void**)(((void*)((void**)(((void
*)((char*)(_exp) - 3))) + (5)))))))
;
959#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
960 tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
961#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
962 _D_24tmpVar1 = tmpMeta[3]; /* defaultValue */
963#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
964 tmp9 = &_D_24tmpVar1;
965#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
966 while(1) {
967#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
968 tmp10 = 1;
969#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
970 if (!listEmpty(_p_loopVar)((*(mmc_uint_t*)((void*)((char*)(_p_loopVar) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) {
971#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
972 _p = MMC_CAR(_p_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_p_loopVar) - 3
))) + (1)))))
;
973#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
974 _p_loopVar = MMC_CDR(_p_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_p_loopVar) - 3
))) + (2)))))
;
975#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
976 tmp10--;
977#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
978 }
979#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
980 if (tmp10 == 0) {
981#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
982 _D_24tmpVar0 = omc_NFType_arrayDims(threadData, omc_NFInstNode_InstNode_getType(threadData, _p));
983#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
984 *tmp9 = mmc_mk_cons(_D_24tmpVar0,0);
985#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
986 tmp9 = &MMC_CDR(*tmp9)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp9) - 3))) +
(2)))))
;
987#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
988 } else if (tmp10 == 1) {
989#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
990 break;
991#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
992 } else {
993#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
994 goto goto_5;
995#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
996 }
997#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
998 }
999#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1000 *tmp9 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
1001#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1002 tmpMeta[2] = _D_24tmpVar1;
1003#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1004 }
1005#line 3035 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1006 _dims = tmpMeta[2];
1007#line 1007 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1008#line 3036 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1009 tmpMeta[0+0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_exp) - 3))) + (
3)))))
);
1010#line 3036 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1011 tmpMeta[0+1] = omc_NFType_liftArrayLeftList(threadData, _componentType, omc_List_flattenReverse(threadData, _dims));
1012#line 1012 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1013 goto tmp6_done;
1014 }
1015 case 1: {
1016
1017 /* Pattern matching succeeded */
1018#line 3039 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1019 tmpMeta[0+0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_binding), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_binding) - 3))
) + (3)))))
);
1020#line 3039 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1021 tmpMeta[0+1] = _componentType;
1022#line 1022 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1023 goto tmp6_done;
1024 }
1025 }
1026 goto tmp6_end;
1027 tmp6_end: ;
1028 }
1029 goto goto_5;
1030 goto_5:;
1031 goto goto_1;
1032 goto tmp6_done;
1033 tmp6_done:;
1034 }
1035 }
1036 _exp_ty = tmpMeta[0+0];
1037 _comp_ty = tmpMeta[0+1];
1038
1039#line 3042 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1040 _exp = omc_NFTypeCheck_matchTypes(threadData, _exp_ty, _comp_ty, _exp, 1 ,&_ty ,&_ty_match);
1041#line 1041 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1042
1043#line 3044 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1044 if((!omc_NFTypeCheck_isValidAssignmentMatch(threadData, (modelica_integer)_ty_match)))
1045#line 3044 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1046 {
1047#line 3045 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1048 omc_NFTypeCheck_printBindingTypeError(threadData, _name, _binding, _comp_ty, _exp_ty, _component);
1049#line 1049 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1050
1051#line 3046 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1052 goto goto_1;
1053#line 1053 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1054 }
1055 else
1056 {
1057 if(omc_NFTypeCheck_isCastMatch(threadData, (modelica_integer)_ty_match))
1058 {
1059#line 3048 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1060 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)))))
));
1061#line 3048 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1062 _binding = tmpMeta[0];
1063#line 1063 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1064 }
1065 }
1066#line 1066 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1067 goto tmp2_done;
1068 }
1069 case 3: {
1070
1071 /* Pattern matching succeeded */
1072#line 1072 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1073 goto tmp2_done;
1074 }
1075 default:
1076 tmp2_default: OMC_LABEL_UNUSED__attribute__((unused)); {
1077
1078 /* Pattern matching succeeded */
1079#line 3058 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1080 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))));
1081#line 3058 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1082 omc_Error_assertion(threadData, 0, tmpMeta[0], _OMC_LIT35((void*)((char*)(&(_OMC_LIT_STRUCT35).header) + 3)));
1083#line 1083 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1084#line 3059 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1085 goto goto_1;
1086#line 1086 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1087 goto tmp2_done;
1088 }
1089 }
1090 goto tmp2_end;
1091 tmp2_end: ;
1092 }
1093 goto goto_1;
1094 goto_1:;
1095 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1096 goto tmp2_done;
1097 tmp2_done:;
1098 }
1099 }
1100 ;
1101 _return: OMC_LABEL_UNUSED__attribute__((unused))
1102 return _binding;
1103}
1104
1105DLLExport
1106modelica_metatype omc_NFTypeCheck_getRangeTypeEnum(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stopExp)
1107{
1108 modelica_metatype _dim = NULL((void*)0);
1109 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
1110 MMC_SO()mmc_check_stackoverflow(threadData);
1111 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1112 // _dim has no default value.
1113#line 1113 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1114 { /* match expression */
1115 modelica_metatype tmp3_1;modelica_metatype tmp3_2;
1116 tmp3_1 = _startExp;
1117 tmp3_2 = _stopExp;
1118 {
1119 modelica_metatype _dim_exp = NULL((void*)0);
1120 modelica_integer _var;
1121 volatile mmc_switch_type tmp3;
1122 int tmp4;
1123 // _dim_exp has no default value.
1124 // _var has no default value.
1125 tmp3 = 0;
1126 for (; tmp3 < 3; tmp3++) {
1127 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1128 case 0: {
1129 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;
1130 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;
1131
1132 /* Pattern matching succeeded */
1133#line 2985 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1134 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);
1135#line 1135 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1136 goto tmp2_done;
1137 }
1138 case 1: {
1139 modelica_integer tmp5;
1140 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;
1141 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(4)))))
;
1142 tmp5 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
1143 if (1 != tmp5) goto tmp2_end;
1144
1145 /* Pattern matching succeeded */
1146#line 2988 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1147 tmpMeta[0] = omc_NFDimension_fromExp(threadData, _stopExp, omc_NFExpression_variability(threadData, _stopExp));
1148#line 1148 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1149 goto tmp2_done;
1150 }
1151 case 2: {
1152
1153 /* Pattern matching succeeded */
1154#line 2992 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1155 if(omc_NFExpression_isEqual(threadData, _startExp, _stopExp))
1156#line 2992 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1157 {
1158#line 2993 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1159 _dim = omc_NFDimension_fromInteger(threadData, ((modelica_integer) 1), 1);
1160#line 1160 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1161 }
1162 else
1163 {
1164#line 2995 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1165 _var = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, _startExp), omc_NFExpression_variability(threadData, _stopExp));
1166#line 1166 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1167
1168#line 2998 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1169 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));
1170#line 2998 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1171 _dim_exp = tmpMeta[1];
1172#line 1172 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1173
1174#line 3003 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1175 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)));
1176#line 3003 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1177 _dim_exp = tmpMeta[1];
1178#line 1178 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1179
1180#line 3008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1181 _dim_exp = omc_NFSimplifyExp_simplify(threadData, _dim_exp);
1182#line 1182 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1183
1184#line 3009 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1185 _dim = omc_NFDimension_fromExp(threadData, _dim_exp, (modelica_integer)_var);
1186#line 1186 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1187 }
1188#line 3011 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1189 tmpMeta[0] = _dim;
1190#line 1190 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1191 goto tmp2_done;
1192 }
1193 }
1194 goto tmp2_end;
1195 tmp2_end: ;
1196 }
1197 goto goto_1;
1198 goto_1:;
1199 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1200 goto tmp2_done;
1201 tmp2_done:;
1202 }
1203 }
1204 _dim = tmpMeta[0];
1205 _return: OMC_LABEL_UNUSED__attribute__((unused))
1206 return _dim;
1207}
1208
1209DLLExport
1210modelica_metatype omc_NFTypeCheck_getRangeTypeBool(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stopExp)
1211{
1212 modelica_metatype _dim = NULL((void*)0);
1213 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
1214 MMC_SO()mmc_check_stackoverflow(threadData);
1215 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1216 // _dim has no default value.
1217#line 1217 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1218 { /* match expression */
1219 modelica_metatype tmp3_1;modelica_metatype tmp3_2;
1220 tmp3_1 = _startExp;
1221 tmp3_2 = _stopExp;
1222 {
1223 modelica_integer _sz;
1224 modelica_metatype _dim_exp = NULL((void*)0);
1225 modelica_integer _var;
1226 volatile mmc_switch_type tmp3;
1227 int tmp4;
1228 // _sz has no default value.
1229 // _dim_exp has no default value.
1230 // _var has no default value.
1231 tmp3 = 0;
1232 for (; tmp3 < 2; tmp3++) {
1233 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1234 case 0: {
1235 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;
1236 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;
1237
1238 /* Pattern matching succeeded */
1239#line 2944 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1240 _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)));
1241#line 1241 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1242#line 2947 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1243 tmpMeta[0] = omc_NFDimension_fromInteger(threadData, _sz, 1);
1244#line 1244 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1245 goto tmp2_done;
1246 }
1247 case 1: {
1248
1249 /* Pattern matching succeeded */
1250#line 2952 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1251 if(omc_NFExpression_isEqual(threadData, _startExp, _stopExp))
1252#line 2952 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1253 {
1254#line 2953 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1255 _dim = omc_NFDimension_fromInteger(threadData, ((modelica_integer) 1), 1);
1256#line 1256 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1257 }
1258 else
1259 {
1260#line 2955 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1261 _var = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, _startExp), omc_NFExpression_variability(threadData, _stopExp));
1262#line 1262 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1263
1264#line 2957 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1265 tmpMeta[1] = mmc_mk_box4(22, &NFExpression_RELATION__desc, _startExp, omc_NFOperator_makeEqual(threadData, _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3))), _stopExp);
1266#line 2957 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1267 tmpMeta[2] = mmc_mk_box4(22, &NFExpression_RELATION__desc, _startExp, omc_NFOperator_makeLess(threadData, _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3))), _stopExp);
1268#line 2957 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1269 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)));
1270#line 2957 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1271 tmpMeta[4] = mmc_mk_box4(23, &NFExpression_IF__desc, tmpMeta[1], _OMC_LIT37((void*)((char*)(&(_OMC_LIT_STRUCT37).header) + 3)), tmpMeta[3]);
1272#line 2957 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1273 _dim_exp = tmpMeta[4];
1274#line 1274 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1275
1276#line 2965 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1277 _dim_exp = omc_NFSimplifyExp_simplify(threadData, _dim_exp);
1278#line 1278 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1279
1280#line 2966 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1281 _dim = omc_NFDimension_fromExp(threadData, _dim_exp, (modelica_integer)_var);
1282#line 1282 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1283 }
1284#line 2968 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1285 tmpMeta[0] = _dim;
1286#line 1286 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1287 goto tmp2_done;
1288 }
1289 }
1290 goto tmp2_end;
1291 tmp2_end: ;
1292 }
1293 goto goto_1;
1294 goto_1:;
1295 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1296 goto tmp2_done;
1297 tmp2_done:;
1298 }
1299 }
1300 _dim = tmpMeta[0];
1301 _return: OMC_LABEL_UNUSED__attribute__((unused))
1302 return _dim;
1303}
1304
1305DLLExport
1306modelica_metatype omc_NFTypeCheck_getRangeTypeReal(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stepExp, modelica_metatype _stopExp, modelica_metatype _info)
1307{
1308 modelica_metatype _dim = NULL((void*)0);
1309 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
1310 MMC_SO()mmc_check_stackoverflow(threadData);
1311 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1312 // _dim has no default value.
1313#line 1313 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1314 { /* match expression */
1315 modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
1316 tmp3_1 = _startExp;
1317 tmp3_2 = _stepExp;
1318 tmp3_3 = _stopExp;
1319 {
1320 modelica_real _start;
1321 modelica_real _step;
1322 modelica_metatype _dim_exp = NULL((void*)0);
1323 modelica_metatype _step_exp = NULL((void*)0);
1324 modelica_integer _var;
1325 volatile mmc_switch_type tmp3;
1326 int tmp4;
1327 // _start has no default value.
1328 // _step has no default value.
1329 // _dim_exp has no default value.
1330 // _step_exp has no default value.
1331 // _var has no default value.
1332 tmp3 = 0;
1333 for (; tmp3 < 4; tmp3++) {
1334 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1335 case 0: {
1336 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;
1337 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;
1338 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;
1339
1340 /* Pattern matching succeeded */
1341#line 2892 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1342 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);
1343#line 1343 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1344 goto tmp2_done;
1345 }
1346 case 1: {
1347 modelica_real tmp5;
1348 modelica_real tmp6;
1349 modelica_string tmp7;
1350 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;
1351 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
1352 tmp5 = mmc_unbox_real(tmpMeta[1])mmc_prim_get_real(tmpMeta[1]);
1353 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;
1354 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;
1355 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
1356 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;
1357 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1358 tmp6 = mmc_unbox_real(tmpMeta[3])mmc_prim_get_real(tmpMeta[3]);
1359 _start = tmp5 /* pattern as ty=Real */;
1360 _step = tmp6 /* pattern as ty=Real */;
1361 /* Pattern matching succeeded */
1362#line 2898 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1363 if((_start == _start + _step))
1364#line 2898 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1365 {
1366#line 2899 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1367 tmp7 = modelica_real_to_modelica_string(_step, ((modelica_integer) 6), ((modelica_integer) 0), 1);
1368#line 2899 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1369 tmpMeta[1] = mmc_mk_cons(tmp7, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1370#line 2899 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1371 omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT43((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3)), tmpMeta[1], _info);
1372#line 1372 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1373 }
1374#line 2901 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1375 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);
1376#line 1376 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1377 goto tmp2_done;
1378 }
1379 case 2: {
1380 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;
1381
1382 /* Pattern matching succeeded */
1383 /* Check guard condition after assignments */
1384 if (!omc_NFExpression_isEqual(threadData, _startExp, _stopExp)) goto tmp2_end;
1385#line 2906 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1386 tmpMeta[0] = omc_NFDimension_fromInteger(threadData, ((modelica_integer) 1), 1);
1387#line 1387 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1388 goto tmp2_done;
1389 }
1390 case 3: {
1391
1392 /* Pattern matching succeeded */
1393#line 2910 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1394 tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _stopExp, omc_NFOperator_makeSub(threadData, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _startExp);
1395#line 2910 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1396 _dim_exp = tmpMeta[1];
1397#line 1397 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1398
1399#line 2911 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1400 _var = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, _stopExp), omc_NFExpression_variability(threadData, _startExp));
1401#line 1401 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1402
1403#line 2914 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1404 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)
)
1405#line 2914 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1406 {
1407#line 2915 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1408 /* Pattern-matching assignment */
1409#line 2915 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1410 tmpMeta[1] = _stepExp;
1411#line 2915 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1412 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;
1413#line 2915 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1414 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
1415#line 2915 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1416 _step_exp = tmpMeta[2];
1417#line 1417 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1418
1419#line 2916 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1420 _var = omc_NFPrefixes_variabilityMax(threadData, (modelica_integer)_var, omc_NFExpression_variability(threadData, _step_exp));
1421#line 1421 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1422
1423#line 2917 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1424 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);
1425#line 2917 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1426 _dim_exp = tmpMeta[1];
1427#line 1427 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1428
1429#line 2918 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1430 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)));
1431#line 2918 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1432 _dim_exp = tmpMeta[1];
1433#line 1433 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1434 }
1435
1436#line 2921 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1437 tmpMeta[1] = mmc_mk_cons(_dim_exp, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1438#line 2921 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1439 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)))))
)));
1440#line 2921 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1441 _dim_exp = tmpMeta[2];
1442#line 1442 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1443
1444#line 2922 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1445 tmpMeta[1] = mmc_mk_cons(_dim_exp, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1446#line 2922 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1447 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)))))
)));
1448#line 2922 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1449 _dim_exp = tmpMeta[2];
1450#line 1450 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1451
1452#line 2923 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1453 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)));
1454#line 2923 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1455 _dim_exp = tmpMeta[1];
1456#line 1456 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1457
1458#line 2924 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1459 _dim_exp = omc_NFSimplifyExp_simplify(threadData, _dim_exp);
1460#line 1460 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1461#line 2925 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1462 tmpMeta[0] = omc_NFDimension_fromExp(threadData, _dim_exp, (modelica_integer)_var);
1463#line 1463 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1464 goto tmp2_done;
1465 }
1466 }
1467 goto tmp2_end;
1468 tmp2_end: ;
1469 }
1470 goto goto_1;
1471 goto_1:;
1472 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1473 goto tmp2_done;
1474 tmp2_done:;
1475 }
1476 }
1477 _dim = tmpMeta[0];
1478 _return: OMC_LABEL_UNUSED__attribute__((unused))
1479 return _dim;
1480}
1481
1482DLLExport
1483modelica_metatype omc_NFTypeCheck_getRangeTypeInt(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stepExp, modelica_metatype _stopExp, modelica_metatype _info)
1484{
1485 modelica_metatype _dim = NULL((void*)0);
1486 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
1487 MMC_SO()mmc_check_stackoverflow(threadData);
1488 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1489 // _dim has no default value.
1490#line 1490 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1491 { /* match expression */
1492 modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
1493 tmp3_1 = _startExp;
1494 tmp3_2 = _stepExp;
1495 tmp3_3 = _stopExp;
1496 {
1497 modelica_integer _step;
1498 modelica_metatype _step_exp = NULL((void*)0);
1499 modelica_metatype _dim_exp = NULL((void*)0);
1500 modelica_integer _var;
1501 volatile mmc_switch_type tmp3;
1502 int tmp4;
1503 // _step has no default value.
1504 // _step_exp has no default value.
1505 // _dim_exp has no default value.
1506 // _var has no default value.
1507 tmp3 = 0;
1508 for (; tmp3 < 5; tmp3++) {
1509 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
1510 case 0: {
1511 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;
1512 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;
1513 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;
1514
1515 /* Pattern matching succeeded */
1516#line 2832 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1517 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);
1518#line 1518 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1519 goto tmp2_done;
1520 }
1521 case 1: {
1522 modelica_integer tmp5;
1523 modelica_string tmp6;
1524 modelica_integer tmp7;
1525 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;
1526 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;
1527 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;
1528 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(1)))))
;
1529 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;
1530 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
1531 tmp5 = mmc_unbox_integer(tmpMeta[2])(((mmc_sint_t) (tmpMeta[2])) >> 1);
1532 _step = tmp5 /* pattern as ty=Integer */;
1533 /* Pattern matching succeeded */
1534#line 2837 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1535 if((_step == ((modelica_integer) 0)))
1536#line 2837 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1537 {
1538#line 2838 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1539 tmp6 = modelica_integer_to_modelica_string(_step, ((modelica_integer) 0), 1);
1540#line 2838 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1541 tmpMeta[1] = mmc_mk_cons(tmp6, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1542#line 2838 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1543 omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT43((void*)((char*)(&(_OMC_LIT_STRUCT43).header) + 3)), tmpMeta[1], _info);
1544#line 1544 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1545 }
1546#line 2840 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1547 tmp7 = _step;
1548#line 2840 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1549 if (tmp7 == 0) {goto goto_1;}
1550#line 2840 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1551 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);
1552#line 1552 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1553 goto tmp2_done;
1554 }
1555 case 2: {
1556 modelica_integer tmp8;
1557 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;
1558 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;
1559 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
1560 tmp8 = mmc_unbox_integer(tmpMeta[1])(((mmc_sint_t) (tmpMeta[1])) >> 1);
1561 if (1 != tmp8) goto tmp2_end;
1562
1563 /* Pattern matching succeeded */
1564#line 2846 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1565 _dim_exp = omc_NFSimplifyExp_simplify(threadData, _stopExp);
1566#line 1566 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1567#line 2847 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1568 tmpMeta[0] = omc_NFDimension_fromExp(threadData, _dim_exp, omc_NFExpression_variability(threadData, _dim_exp));
1569#line 1569 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1570 goto tmp2_done;
1571 }
1572 case 3: {
1573 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;
1574
1575 /* Pattern matching succeeded */
1576 /* Check guard condition after assignments */
1577 if (!omc_NFExpression_isEqual(threadData, _startExp, _stopExp)) goto tmp2_end;
1578#line 2853 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1579 tmpMeta[0] = omc_NFDimension_fromInteger(threadData, ((modelica_integer) 1), 1);
1580#line 1580 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1581 goto tmp2_done;
1582 }
1583 case 4: {
1584
1585 /* Pattern matching succeeded */
1586#line 2859 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1587 tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _stopExp, omc_NFOperator_makeSub(threadData, _OMC_LIT36((void*)((char*)(&(_OMC_LIT_STRUCT36).header) + 3))), _startExp);
1588#line 2859 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1589 _dim_exp = tmpMeta[1];
1590#line 1590 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1591
1592#line 2860 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1593 _var = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, _stopExp), omc_NFExpression_variability(threadData, _startExp));
1594#line 1594 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1595
1596#line 2863 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1597 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)
)
1598#line 2863 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1599 {
1600#line 2864 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1601 /* Pattern-matching assignment */
1602#line 2864 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1603 tmpMeta[1] = _stepExp;
1604#line 2864 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1605 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;
1606#line 2864 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1607 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
1608#line 2864 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1609 _step_exp = tmpMeta[2];
1610#line 1610 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1611
1612#line 2865 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1613 _var = omc_NFPrefixes_variabilityMax(threadData, (modelica_integer)_var, omc_NFExpression_variability(threadData, _step_exp));
1614#line 1614 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1615
1616#line 2866 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1617 tmpMeta[1] = mmc_mk_cons(_dim_exp, mmc_mk_cons(_step_exp, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
1618#line 2866 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1619 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)))))
)));
1620#line 2866 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1621 _dim_exp = tmpMeta[2];
1622#line 1622 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1623 }
1624
1625#line 2869 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1626 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)));
1627#line 2869 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1628 _dim_exp = tmpMeta[1];
1629#line 1629 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1630
1631#line 2870 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1632 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))));
1633#line 2870 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1634 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)))))
)));
1635#line 2870 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1636 _dim_exp = tmpMeta[2];
1637#line 1637 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1638
1639#line 2871 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1640 _dim_exp = omc_NFSimplifyExp_simplify(threadData, _dim_exp);
1641#line 1641 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1642#line 2872 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1643 tmpMeta[0] = omc_NFDimension_fromExp(threadData, _dim_exp, (modelica_integer)_var);
1644#line 1644 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1645 goto tmp2_done;
1646 }
1647 }
1648 goto tmp2_end;
1649 tmp2_end: ;
1650 }
1651 goto goto_1;
1652 goto_1:;
1653 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1654 goto tmp2_done;
1655 tmp2_done:;
1656 }
1657 }
1658 _dim = tmpMeta[0];
1659 _return: OMC_LABEL_UNUSED__attribute__((unused))
1660 return _dim;
1661}
1662
1663DLLExport
1664modelica_metatype omc_NFTypeCheck_getRangeType(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stepExp, modelica_metatype _stopExp, modelica_metatype _rangeElemType, modelica_metatype _info)
1665{
1666 modelica_metatype _rangeType = NULL((void*)0);
1667 modelica_metatype _step_exp = NULL((void*)0);
1668 modelica_metatype _dim = NULL((void*)0);
1669 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
1670 MMC_SO()mmc_check_stackoverflow(threadData);
1671 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1672 // _rangeType has no default value.
1673 // _step_exp has no default value.
1674 // _dim has no default value.
1675#line 1675 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1676 { /* match expression */
1677 modelica_metatype tmp3_1;
1678 tmp3_1 = _rangeElemType;
1679 {
1680 int tmp3;
1681 {
1682 switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) >> 2
) & 255))
) {
1683 case 3: {
1684
1685 /* Pattern matching succeeded */
1686#line 2786 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1687 tmpMeta[0] = omc_NFTypeCheck_getRangeTypeInt(threadData, _startExp, _stepExp, _stopExp, _info);
1688#line 1688 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1689 goto tmp2_done;
1690 }
1691 case 4: {
1692
1693 /* Pattern matching succeeded */
1694#line 2787 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1695 tmpMeta[0] = omc_NFTypeCheck_getRangeTypeReal(threadData, _startExp, _stepExp, _stopExp, _info);
1696#line 1696 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1697 goto tmp2_done;
1698 }
1699 case 6: {
1700
1701 /* Pattern matching succeeded */
1702#line 2791 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1703 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)
)
1704#line 2791 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1705 {
1706#line 2792 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1707 tmpMeta[1] = mmc_mk_cons(omc_NFType_toString(threadData, _rangeElemType), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1708#line 2792 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1709 omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT84((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3)), tmpMeta[1], _info);
1710#line 1710 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1711 }
1712#line 2795 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1713 tmpMeta[0] = omc_NFTypeCheck_getRangeTypeBool(threadData, _startExp, _stopExp);
1714#line 1714 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1715 goto tmp2_done;
1716 }
1717 case 8: {
1718
1719 /* Pattern matching succeeded */
1720#line 2800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1721 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)
)
1722#line 2800 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1723 {
1724#line 2801 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1725 tmpMeta[1] = mmc_mk_cons(omc_NFType_toString(threadData, _rangeElemType), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1726#line 2801 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1727 omc_Error_addSourceMessageAndFail(threadData, _OMC_LIT84((void*)((char*)(&(_OMC_LIT_STRUCT84).header) + 3)), tmpMeta[1], _info);
1728#line 1728 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1729 }
1730#line 2804 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1731 tmpMeta[0] = omc_NFTypeCheck_getRangeTypeEnum(threadData, _startExp, _stopExp);
1732#line 1732 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1733 goto tmp2_done;
1734 }
1735 default:
1736 tmp2_default: OMC_LABEL_UNUSED__attribute__((unused)); {
1737
1738 /* Pattern matching succeeded */
1739#line 2809 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1740 tmpMeta[1] = mmc_mk_cons(omc_NFType_toString(threadData, _rangeElemType), MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1741#line 2809 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1742 omc_Error_addSourceMessage(threadData, _OMC_LIT87((void*)((char*)(&(_OMC_LIT_STRUCT87).header) + 3)), tmpMeta[1], _info);
1743#line 1743 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1744#line 2811 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1745 goto goto_1;
1746#line 1746 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1747 goto tmp2_done;
1748 }
1749 }
1750 goto tmp2_end;
1751 tmp2_end: ;
1752 }
1753 goto goto_1;
1754 goto_1:;
1755 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
1756 goto tmp2_done;
1757 tmp2_done:;
1758 }
1759 }
1760 _dim = tmpMeta[0];
1761
1762#line 2815 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1763 tmpMeta[0] = mmc_mk_cons(_dim, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
1764#line 2815 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1765 tmpMeta[1] = mmc_mk_box3(10, &NFType_ARRAY__desc, _rangeElemType, tmpMeta[0]);
1766#line 2815 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1767 _rangeType = tmpMeta[1];
1768#line 1768 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1769 _return: OMC_LABEL_UNUSED__attribute__((unused))
1770 return _rangeType;
1771}
1772
1773DLLExport
1774modelica_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)
1775{
1776 modelica_metatype _expression = NULL((void*)0);
1777 modelica_metatype _compatibleType = NULL((void*)0);
1778 modelica_integer _matchKind;
1779 modelica_integer tmp1_c1 __attribute__((unused)) = 0;
1780 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
1781 MMC_SO()mmc_check_stackoverflow(threadData);
1782 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
1783 _expression = _D_24in_expression;
1784 // _compatibleType has no default value.
1785 // _matchKind has no default value.
1786#line 2692 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1787
1788#line 2692 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1789
1790#line 1790 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1791 { /* match expression */
1792 modelica_metatype tmp4_1;modelica_metatype tmp4_2;
1793 tmp4_1 = _actualType;
1794 tmp4_2 = _expectedType;
1795 {
1796 volatile mmc_switch_type tmp4;
1797 int tmp5;
1798 tmp4 = 0;
1799 for (; tmp4 < 11; tmp4++) {
1800 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
1801 case 0: {
1802 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;
1803 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;
1804 /* Pattern matching succeeded */
1805#line 2696 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1806 _expression = omc_NFExpression_typeCast(threadData, _expression, _expectedType);
1807#line 1807 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1808#line 2697 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1809 tmpMeta[0+0] = _expectedType;
1810#line 2697 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1811 tmp1_c1 = 2;
1812#line 1812 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1813 goto tmp3_done;
1814 }
1815 case 1: {
1816 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;
1817 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;
1818 /* Pattern matching succeeded */
1819#line 2704 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1820 tmpMeta[0+0] = _actualType;
1821#line 2704 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1822 tmp1_c1 = 2;
1823#line 1823 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1824 goto tmp3_done;
1825 }
1826 case 2: {
1827 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;
1828 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_1) - 3))) +
(2)))))
;
1829 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
1830 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
1831 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
1832
1833 /* Pattern matching succeeded */
1834#line 2711 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1835 _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);
1836#line 1836 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1837
1838#line 2714 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1839 if(omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_matchKind))
1840#line 2714 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1841 {
1842#line 1842 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1843 { /* match expression */
1844 modelica_metatype tmp8_1;
1845 tmp8_1 = _expression;
1846 {
1847 volatile mmc_switch_type tmp8;
1848 int tmp9;
1849 tmp8 = 0;
1850 for (; tmp8 < 2; tmp8++) {
1851 switch (MMC_SWITCH_CAST(tmp8)(tmp8)) {
1852 case 0: {
1853 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;
1854
1855 /* Pattern matching succeeded */
1856#line 2716 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1857 tmpMeta[2] = listHead((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_expression), 3))))boxptr_listHead(threadData,((*(void**)(((void*)((void**)(((void
*)((char*)(_expression) - 3))) + (3)))))))
;
1858#line 1858 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1859 goto tmp7_done;
1860 }
1861 case 1: {
1862
1863 /* Pattern matching succeeded */
1864#line 2717 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1865 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));
1866#line 2717 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1867 tmpMeta[2] = tmpMeta[3];
1868#line 1868 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1869 goto tmp7_done;
1870 }
1871 }
1872 goto tmp7_end;
1873 tmp7_end: ;
1874 }
1875 goto goto_6;
1876 goto_6:;
1877 goto goto_2;
1878 goto tmp7_done;
1879 tmp7_done:;
1880 }
1881 }
1882 _expression = tmpMeta[2];
1883
1884#line 2721 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1885 _matchKind = 2;
1886#line 1886 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1887 }
1888#line 2723 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1889 tmpMeta[0+0] = _compatibleType;
1890#line 2723 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1891 tmp1_c1 = (modelica_integer)_matchKind;
1892#line 1892 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1893 goto tmp3_done;
1894 }
1895 case 3: {
1896 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;
1897
1898 /* Pattern matching succeeded */
1899#line 2728 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1900 tmpMeta[0+0] = _expectedType;
1901#line 2728 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1902 tmp1_c1 = (_allowUnknown?4:7);
1903#line 1903 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1904 goto tmp3_done;
1905 }
1906 case 4: {
1907 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;
1908
1909 /* Pattern matching succeeded */
1910#line 2732 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1911 tmpMeta[0+0] = _actualType;
1912#line 2732 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1913 tmp1_c1 = (_allowUnknown?3:7);
1914#line 1914 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1915 goto tmp3_done;
1916 }
1917 case 5: {
1918 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;
1919
1920 /* Pattern matching succeeded */
1921#line 2737 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1922 _expression = omc_NFExpression_unbox(threadData, _expression);
1923#line 1923 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1924
1925#line 2738 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1926 _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);
1927#line 1927 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1928#line 2740 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1929 tmpMeta[0+0] = _compatibleType;
1930#line 2740 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1931 tmp1_c1 = (omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_matchKind)?2:(modelica_integer)_matchKind);
1932#line 1932 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1933 goto tmp3_done;
1934 }
1935 case 6: {
1936 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;
1937
1938 /* Pattern matching succeeded */
1939#line 2745 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1940 _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);
1941#line 1941 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1942
1943#line 2747 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1944 _expression = omc_NFExpression_box(threadData, _expression);
1945#line 1945 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1946
1947#line 2748 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1948 _compatibleType = omc_NFType_box(threadData, _compatibleType);
1949#line 1949 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1950#line 2749 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1951 tmpMeta[0+0] = _compatibleType;
1952#line 2749 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1953 tmp1_c1 = (omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_matchKind)?2:(modelica_integer)_matchKind);
1954#line 1954 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1955 goto tmp3_done;
1956 }
1957 case 7: {
1958 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;
1959
1960 /* Pattern matching succeeded */
1961#line 2754 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1962 tmpMeta[2] = mmc_mk_box2(29, &NFExpression_BOX__desc, _expression);
1963#line 2754 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1964 _expression = tmpMeta[2];
1965#line 1965 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1966#line 2756 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1967 tmpMeta[2] = mmc_mk_box2(16, &NFType_METABOXED__desc, _actualType);
1968#line 2756 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1969 tmpMeta[0+0] = tmpMeta[2];
1970#line 2756 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1971 tmp1_c1 = 5;
1972#line 1972 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1973 goto tmp3_done;
1974 }
1975 case 8: {
1976 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;
1977
1978 /* Pattern matching succeeded */
1979#line 2763 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1980 tmpMeta[0+0] = _expectedType;
1981#line 2763 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1982 tmp1_c1 = 5;
1983#line 1983 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1984 goto tmp3_done;
1985 }
1986 case 9: {
1987 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;
1988
1989 /* Pattern matching succeeded */
1990#line 2767 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1991 tmpMeta[0+0] = _expectedType;
1992#line 2767 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
1993 tmp1_c1 = 1;
1994#line 1994 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
1995 goto tmp3_done;
1996 }
1997 case 10: {
1998
1999 /* Pattern matching succeeded */
2000#line 2770 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2001 tmpMeta[0+0] = _OMC_LIT88((void*)((char*)(&(_OMC_LIT_STRUCT88).header) + 3));
2002#line 2770 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2003 tmp1_c1 = 7;
2004#line 2004 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2005 goto tmp3_done;
2006 }
2007 }
2008 goto tmp3_end;
2009 tmp3_end: ;
2010 }
2011 goto goto_2;
2012 goto_2:;
2013 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
2014 goto tmp3_done;
2015 tmp3_done:;
2016 }
2017 }
2018 _compatibleType = tmpMeta[0+0];
2019 _matchKind = tmp1_c1;
2020 _return: OMC_LABEL_UNUSED__attribute__((unused))
2021 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
2022 if (out_matchKind) { *out_matchKind = _matchKind; }
2023 return _expression;
2024}
2025modelica_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)
2026{
2027 modelica_integer tmp1;
2028 modelica_integer _matchKind;
2029 modelica_metatype _expression = NULL((void*)0);
2030 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2031 _expression = omc_NFTypeCheck_matchTypes__cast(threadData, _actualType, _expectedType, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
2032 /* skip box _expression; NFExpression */
2033 /* skip box _compatibleType; NFType */
2034 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2035 return _expression;
2036}
2037
2038DLLExport
2039modelica_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)
2040{
2041 modelica_metatype _exp1 = NULL((void*)0);
2042 modelica_metatype _exp2 = NULL((void*)0);
2043 modelica_metatype _compatibleType = NULL((void*)0);
2044 modelica_integer _matchKind;
2045 modelica_metatype _e1 = NULL((void*)0);
2046 modelica_metatype _e2 = NULL((void*)0);
2047 MMC_SO()mmc_check_stackoverflow(threadData);
2048 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2049 _exp1 = _D_24in_exp1;
2050 _exp2 = _D_24in_exp2;
2051 // _compatibleType has no default value.
2052 // _matchKind has no default value.
2053 // _e1 has no default value.
2054 // _e2 has no default value.
2055#line 2670 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2056 _e1 = omc_NFExpression_unbox(threadData, _exp1);
2057#line 2057 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2058
2059#line 2671 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2060 _e2 = omc_NFExpression_unbox(threadData, _exp2);
2061#line 2061 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2062
2063#line 2673 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2064 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _e1, omc_NFType_unbox(threadData, _type1), _e2, omc_NFType_unbox(threadData, _type2), _allowUnknown ,&_e2 ,&_compatibleType ,&_matchKind);
2065#line 2065 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2066
2067#line 2676 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2068 if(omc_NFTypeCheck_isCastMatch(threadData, (modelica_integer)_matchKind))
2069#line 2676 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2070 {
2071#line 2677 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2072 _exp1 = omc_NFExpression_box(threadData, _e1);
2073#line 2073 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2074
2075#line 2678 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2076 _exp2 = omc_NFExpression_box(threadData, _e2);
2077#line 2077 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2078 }
2079
2080#line 2681 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2081 _compatibleType = omc_NFType_box(threadData, _compatibleType);
2082#line 2082 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2083 _return: OMC_LABEL_UNUSED__attribute__((unused))
2084 if (out_exp2) { *out_exp2 = _exp2; }
2085 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
2086 if (out_matchKind) { *out_matchKind = _matchKind; }
2087 return _exp1;
2088}
2089modelica_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)
2090{
2091 modelica_integer tmp1;
2092 modelica_integer _matchKind;
2093 modelica_metatype _exp1 = NULL((void*)0);
2094 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2095 _exp1 = omc_NFTypeCheck_matchBoxedExpressions(threadData, _D_24in_exp1, _type1, _D_24in_exp2, _type2, tmp1, out_exp2, out_compatibleType, &_matchKind);
2096 /* skip box _exp1; NFExpression */
2097 /* skip box _exp2; NFExpression */
2098 /* skip box _compatibleType; NFType */
2099 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2100 return _exp1;
2101}
2102
2103DLLExport
2104modelica_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)
2105{
2106 modelica_metatype _expression = NULL((void*)0);
2107 modelica_metatype _compatibleType = NULL((void*)0);
2108 modelica_integer _matchKind;
2109 modelica_metatype _tyl1 = NULL((void*)0);
2110 modelica_metatype _tyl2 = NULL((void*)0);
2111 modelica_metatype _ty1 = NULL((void*)0);
2112 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
2113 MMC_SO()mmc_check_stackoverflow(threadData);
2114 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2115 _expression = _D_24in_expression;
2116 _compatibleType = _tupleType1;
2117 _matchKind = 1;
2118 // _tyl1 has no default value.
2119 // _tyl2 has no default value.
2120 // _ty1 has no default value.
2121#line 2635 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2122 /* Pattern-matching assignment */
2123#line 2635 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2124 tmpMeta[0] = _tupleType1;
2125#line 2635 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2126 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);};
2127#line 2635 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2128 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2129#line 2635 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2130 _tyl1 = tmpMeta[1];
2131#line 2131 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2132
2133#line 2636 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2134 /* Pattern-matching assignment */
2135#line 2636 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2136 tmpMeta[0] = _tupleType2;
2137#line 2636 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2138 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);};
2139#line 2636 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2140 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2141#line 2636 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2142 _tyl2 = tmpMeta[1];
2143#line 2143 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2144
2145#line 2638 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2146 if((listLength(_tyl1) < listLength(_tyl2)))
2147#line 2638 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2148 {
2149#line 2639 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2150 _matchKind = 7;
2151#line 2151 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2152
2153#line 2640 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2154 goto _return;
2155#line 2155 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2156 }
2157
2158#line 2643 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2159 {
2160#line 2643 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2161 modelica_metatype _ty2;
2162#line 2643 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2163 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)))))
)
2164#line 2643 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2165 {
2166#line 2643 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2167 _ty2 = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2168#line 2644 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2169 /* Pattern-matching assignment */
2170#line 2644 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2171 tmpMeta[1] = _tyl1;
2172#line 2644 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2173 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);};
2174#line 2644 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2175 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2176#line 2644 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2177 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2178#line 2644 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2179 _ty1 = tmpMeta[2];
2180#line 2644 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2181 _tyl1 = tmpMeta[3];
2182#line 2182 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2183
2184#line 2647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2185 if(omc_NFType_isUnknown(threadData, _ty2))
2186#line 2647 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2187 {
2188#line 2648 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2189 continue;
2190#line 2190 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2191 }
2192
2193#line 2651 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2194 omc_NFTypeCheck_matchTypes(threadData, _ty1, _ty2, _expression, _allowUnknown ,NULL((void*)0) ,&_matchKind);
2195#line 2195 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2196
2197#line 2653 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2198 if(((modelica_integer)_matchKind != 1))
2199#line 2653 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2200 {
2201#line 2654 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2202 break;
2203#line 2203 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2204 }
2205 }
2206 }
2207 _return: OMC_LABEL_UNUSED__attribute__((unused))
2208 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
2209 if (out_matchKind) { *out_matchKind = _matchKind; }
2210 return _expression;
2211}
2212modelica_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)
2213{
2214 modelica_integer tmp1;
2215 modelica_integer _matchKind;
2216 modelica_metatype _expression = NULL((void*)0);
2217 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2218 _expression = omc_NFTypeCheck_matchTupleTypes(threadData, _tupleType1, _tupleType2, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
2219 /* skip box _expression; NFExpression */
2220 /* skip box _compatibleType; NFType */
2221 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2222 return _expression;
2223}
2224
2225DLLExport
2226modelica_metatype omc_NFTypeCheck_matchDimensions(threadData_t *threadData, modelica_metatype _dim1, modelica_metatype _dim2, modelica_boolean _allowUnknown, modelica_boolean *out_compatible)
2227{
2228 modelica_metatype _compatibleDim = NULL((void*)0);
2229 modelica_boolean _compatible;
2230 MMC_SO()mmc_check_stackoverflow(threadData);
2231 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2232 // _compatibleDim has no default value.
2233 // _compatible has no default value.
2234#line 2607 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2235 if(omc_NFDimension_isEqual(threadData, _dim1, _dim2))
2236#line 2607 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2237 {
2238#line 2608 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2239 _compatibleDim = _dim1;
2240#line 2240 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2241
2242#line 2609 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2243 _compatible = 1;
2244#line 2244 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2245 }
2246 else
2247 {
2248#line 2611 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2249 if((!omc_NFDimension_isKnown(threadData, _dim1, 0)))
2250#line 2611 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2251 {
2252#line 2612 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2253 _compatibleDim = _dim2;
2254#line 2254 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2255
2256#line 2613 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2257 _compatible = 1;
2258#line 2258 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2259 }
2260 else
2261 {
2262 if((!omc_NFDimension_isKnown(threadData, _dim2, 0)))
2263 {
2264#line 2615 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2265 _compatibleDim = _dim1;
2266#line 2266 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2267
2268#line 2616 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2269 _compatible = 1;
2270#line 2270 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2271 }
2272 else
2273 {
2274#line 2618 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2275 _compatibleDim = _dim1;
2276#line 2276 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2277
2278#line 2619 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2279 _compatible = 0;
2280#line 2280 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2281 }
2282 }
2283 }
2284 _return: OMC_LABEL_UNUSED__attribute__((unused))
2285 if (out_compatible) { *out_compatible = _compatible; }
2286 return _compatibleDim;
2287}
2288modelica_metatype boxptr_NFTypeCheck_matchDimensions(threadData_t *threadData, modelica_metatype _dim1, modelica_metatype _dim2, modelica_metatype _allowUnknown, modelica_metatype *out_compatible)
2289{
2290 modelica_integer tmp1;
2291 modelica_boolean _compatible;
2292 modelica_metatype _compatibleDim = NULL((void*)0);
2293 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2294 _compatibleDim = omc_NFTypeCheck_matchDimensions(threadData, _dim1, _dim2, tmp1, &_compatible);
2295 /* skip box _compatibleDim; NFDimension */
2296 if (out_compatible) { *out_compatible = mmc_mk_icon(_compatible); }
2297 return _compatibleDim;
2298}
2299
2300DLLExport
2301modelica_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)
2302{
2303 modelica_metatype _ty = NULL((void*)0);
2304 modelica_integer _matchKind;
2305 modelica_metatype _rest_dims2 = NULL((void*)0);
2306 modelica_metatype _cdims = NULL((void*)0);
2307 modelica_metatype _dim2 = NULL((void*)0);
2308 modelica_boolean _compat;
2309 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
2310 MMC_SO()mmc_check_stackoverflow(threadData);
2311 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2312 _ty = _D_24in_ty;
2313 _matchKind = (modelica_integer)_D_24in_matchKind;
2314 _rest_dims2 = _dims2;
2315 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
2316 _cdims = tmpMeta[0];
2317 // _dim2 has no default value.
2318 // _compat has no default value.
2319#line 2574 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2320 if((!omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_matchKind)))
2321#line 2574 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2322 {
2323#line 2575 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2324 goto _return;
2325#line 2325 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2326 }
2327
2328#line 2579 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2329 if((listLength(_dims1) != listLength(_dims2)))
2330#line 2579 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2331 {
2332#line 2580 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2333 _matchKind = 7;
2334#line 2334 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2335
2336#line 2581 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2337 goto _return;
2338#line 2338 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2339 }
2340
2341#line 2585 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2342 {
2343#line 2585 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2344 modelica_metatype _dim1;
2345#line 2585 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2346 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)))))
)
2347#line 2585 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2348 {
2349#line 2585 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2350 _dim1 = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2351#line 2586 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2352 /* Pattern-matching assignment */
2353#line 2586 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2354 tmpMeta[2] = _rest_dims2;
2355#line 2586 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2356 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);};
2357#line 2586 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2358 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
2359#line 2586 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2360 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
2361#line 2586 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2362 _dim2 = tmpMeta[3];
2363#line 2586 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2364 _rest_dims2 = tmpMeta[4];
2365#line 2365 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2366
2367#line 2587 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2368 _dim1 = omc_NFTypeCheck_matchDimensions(threadData, _dim1, _dim2, _allowUnknown ,&_compat);
2369#line 2369 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2370
2371#line 2589 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2372 if((!_compat))
2373#line 2589 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2374 {
2375#line 2590 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2376 _matchKind = 7;
2377#line 2377 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2378
2379#line 2591 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2380 break;
2381#line 2381 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2382 }
2383
2384#line 2594 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2385 tmpMeta[2] = mmc_mk_cons(_dim1, _cdims);
2386#line 2594 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2387 _cdims = tmpMeta[2];
2388#line 2388 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2389 }
2390 }
2391
2392#line 2597 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2393 tmpMeta[1] = mmc_mk_box3(10, &NFType_ARRAY__desc, _ty, listReverseInPlace(_cdims));
2394#line 2597 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2395 _ty = tmpMeta[1];
2396#line 2396 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2397 _return: OMC_LABEL_UNUSED__attribute__((unused))
2398 if (out_matchKind) { *out_matchKind = _matchKind; }
2399 return _ty;
2400}
2401modelica_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)
2402{
2403 modelica_integer tmp1;
2404 modelica_integer tmp2;
2405 modelica_integer _matchKind;
2406 modelica_metatype _ty = NULL((void*)0);
2407 tmp1 = mmc_unbox_integer(_D_24in_matchKind)(((mmc_sint_t) (_D_24in_matchKind)) >> 1);
2408 tmp2 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2409 _ty = omc_NFTypeCheck_matchArrayDims(threadData, _dims1, _dims2, _D_24in_ty, tmp1, tmp2, &_matchKind);
2410 /* skip box _ty; NFType */
2411 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2412 return _ty;
2413}
2414
2415DLLExport
2416modelica_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)
2417{
2418 modelica_metatype _expression = NULL((void*)0);
2419 modelica_metatype _compatibleType = NULL((void*)0);
2420 modelica_integer _matchKind;
2421 modelica_metatype _ety1 = NULL((void*)0);
2422 modelica_metatype _ety2 = NULL((void*)0);
2423 modelica_metatype _dims1 = NULL((void*)0);
2424 modelica_metatype _dims2 = NULL((void*)0);
2425 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2426 MMC_SO()mmc_check_stackoverflow(threadData);
2427 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2428 _expression = _D_24in_expression;
2429 // _compatibleType has no default value.
2430 // _matchKind has no default value.
2431 // _ety1 has no default value.
2432 // _ety2 has no default value.
2433 // _dims1 has no default value.
2434 // _dims2 has no default value.
2435#line 2551 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2436 /* Pattern-matching assignment */
2437#line 2551 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2438 tmpMeta[0] = _arrayType1;
2439#line 2551 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2440 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);};
2441#line 2551 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2442 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2443#line 2551 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2444 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2445#line 2551 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2446 _ety1 = tmpMeta[1];
2447#line 2551 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2448 _dims1 = tmpMeta[2];
2449#line 2449 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2450
2451#line 2552 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2452 /* Pattern-matching assignment */
2453#line 2552 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2454 tmpMeta[0] = _arrayType2;
2455#line 2552 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2456 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);};
2457#line 2552 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2458 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2459#line 2552 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2460 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2461#line 2552 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2462 _ety2 = tmpMeta[1];
2463#line 2552 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2464 _dims2 = tmpMeta[2];
2465#line 2465 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2466
2467#line 2555 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2468 _expression = omc_NFTypeCheck_matchTypes(threadData, _ety1, _ety2, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
2469#line 2469 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2470
2471#line 2559 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2472 _compatibleType = omc_NFTypeCheck_matchArrayDims(threadData, _dims1, _dims2, _compatibleType, (modelica_integer)_matchKind, _allowUnknown ,&_matchKind);
2473#line 2473 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2474 _return: OMC_LABEL_UNUSED__attribute__((unused))
2475 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
2476 if (out_matchKind) { *out_matchKind = _matchKind; }
2477 return _expression;
2478}
2479modelica_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)
2480{
2481 modelica_integer tmp1;
2482 modelica_integer _matchKind;
2483 modelica_metatype _expression = NULL((void*)0);
2484 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2485 _expression = omc_NFTypeCheck_matchArrayTypes(threadData, _arrayType1, _arrayType2, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
2486 /* skip box _expression; NFExpression */
2487 /* skip box _compatibleType; NFType */
2488 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2489 return _expression;
2490}
2491
2492DLLExport
2493modelica_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)
2494{
2495 modelica_metatype _exp1 = NULL((void*)0);
2496 modelica_metatype _exp2 = NULL((void*)0);
2497 modelica_metatype _compatibleType = NULL((void*)0);
2498 modelica_integer _matchKind;
2499 modelica_metatype _ety1 = NULL((void*)0);
2500 modelica_metatype _ety2 = NULL((void*)0);
2501 modelica_metatype _dims1 = NULL((void*)0);
2502 modelica_metatype _dims2 = NULL((void*)0);
2503 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2504 MMC_SO()mmc_check_stackoverflow(threadData);
2505 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2506 _exp1 = _D_24in_exp1;
2507 _exp2 = _D_24in_exp2;
2508 // _compatibleType has no default value.
2509 // _matchKind has no default value.
2510 // _ety1 has no default value.
2511 // _ety2 has no default value.
2512 // _dims1 has no default value.
2513 // _dims2 has no default value.
2514#line 2528 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2515 /* Pattern-matching assignment */
2516#line 2528 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2517 tmpMeta[0] = _type1;
2518#line 2528 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2519 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);};
2520#line 2528 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2521 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2522#line 2528 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2523 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2524#line 2528 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2525 _ety1 = tmpMeta[1];
2526#line 2528 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2527 _dims1 = tmpMeta[2];
2528#line 2528 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2529
2530#line 2529 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2531 /* Pattern-matching assignment */
2532#line 2529 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2533 tmpMeta[0] = _type2;
2534#line 2529 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2535 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);};
2536#line 2529 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2537 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2538#line 2529 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2539 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2540#line 2529 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2541 _ety2 = tmpMeta[1];
2542#line 2529 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2543 _dims2 = tmpMeta[2];
2544#line 2544 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2545
2546#line 2532 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2547 _exp1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _ety1, _exp2, _ety2, _allowUnknown ,&_exp2 ,&_compatibleType ,&_matchKind);
2548#line 2548 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2549
2550#line 2536 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2551 _compatibleType = omc_NFTypeCheck_matchArrayDims(threadData, _dims1, _dims2, _compatibleType, (modelica_integer)_matchKind, _allowUnknown ,&_matchKind);
2552#line 2552 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2553 _return: OMC_LABEL_UNUSED__attribute__((unused))
2554 if (out_exp2) { *out_exp2 = _exp2; }
2555 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
2556 if (out_matchKind) { *out_matchKind = _matchKind; }
2557 return _exp1;
2558}
2559modelica_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)
2560{
2561 modelica_integer tmp1;
2562 modelica_integer _matchKind;
2563 modelica_metatype _exp1 = NULL((void*)0);
2564 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2565 _exp1 = omc_NFTypeCheck_matchArrayExpressions(threadData, _D_24in_exp1, _type1, _D_24in_exp2, _type2, tmp1, out_exp2, out_compatibleType, &_matchKind);
2566 /* skip box _exp1; NFExpression */
2567 /* skip box _exp2; NFExpression */
2568 /* skip box _compatibleType; NFType */
2569 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2570 return _exp1;
2571}
2572
2573DLLExport
2574modelica_integer omc_NFTypeCheck_matchEnumerationTypes(threadData_t *threadData, modelica_metatype _type1, modelica_metatype _type2)
2575{
2576 modelica_integer _matchKind;
2577 modelica_metatype _lits1 = NULL((void*)0);
2578 modelica_metatype _lits2 = NULL((void*)0);
2579 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2580 MMC_SO()mmc_check_stackoverflow(threadData);
2581 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2582 // _matchKind has no default value.
2583 // _lits1 has no default value.
2584 // _lits2 has no default value.
2585#line 2509 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2586 /* Pattern-matching assignment */
2587#line 2509 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2588 tmpMeta[0] = _type1;
2589#line 2509 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2590 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);};
2591#line 2509 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2592 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2593#line 2509 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2594 _lits1 = tmpMeta[1];
2595#line 2595 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2596
2597#line 2510 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2598 /* Pattern-matching assignment */
2599#line 2510 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2600 tmpMeta[0] = _type2;
2601#line 2510 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2602 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);};
2603#line 2510 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2604 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (3)))))
;
2605#line 2510 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2606 _lits2 = tmpMeta[1];
2607#line 2607 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2608
2609#line 2512 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2610 _matchKind = (omc_List_isEqualOnTrue(threadData, _lits1, _lits2, boxvar_stringEqual((void*)((char*)(&(boxvar_lit_stringEqual).header) + 3)))?1:7);
2611#line 2611 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2612 _return: OMC_LABEL_UNUSED__attribute__((unused))
2613 return _matchKind;
2614}
2615modelica_metatype boxptr_NFTypeCheck_matchEnumerationTypes(threadData_t *threadData, modelica_metatype _type1, modelica_metatype _type2)
2616{
2617 modelica_integer _matchKind;
2618 modelica_metatype out_matchKind;
2619 _matchKind = omc_NFTypeCheck_matchEnumerationTypes(threadData, _type1, _type2);
2620 out_matchKind = mmc_mk_icon(_matchKind);
2621 return out_matchKind;
2622}
2623
2624DLLExport
2625modelica_boolean omc_NFTypeCheck_matchFunctionParameters(threadData_t *threadData, modelica_metatype _params1, modelica_metatype _params2, modelica_boolean _allowUnknown)
2626{
2627 modelica_boolean _matching;
2628 modelica_metatype _pl1 = NULL((void*)0);
2629 modelica_metatype _pl2 = NULL((void*)0);
2630 modelica_metatype _p1 = NULL((void*)0);
2631 modelica_metatype _dummy = NULL((void*)0);
2632 modelica_integer _mk;
2633 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
2634 MMC_SO()mmc_check_stackoverflow(threadData);
2635 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2636 _matching = 1;
2637 _pl1 = _params1;
2638 _pl2 = _params2;
2639 // _p1 has no default value.
2640 _dummy = _OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3));
2641 // _mk has no default value.
2642#line 2479 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2643 {
2644#line 2479 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2645 modelica_metatype _p2;
2646#line 2479 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2647 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)))))
)
2648#line 2479 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2649 {
2650#line 2479 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2651 _p2 = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2652#line 2480 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2653 if(listEmpty(_pl1)((*(mmc_uint_t*)((void*)((char*)(_pl1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
)
2654#line 2480 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2655 {
2656#line 2481 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2657 _matching = 0;
2658#line 2658 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2659
2660#line 2482 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2661 break;
2662#line 2662 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2663 }
2664
2665#line 2485 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2666 /* Pattern-matching assignment */
2667#line 2485 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2668 tmpMeta[1] = _pl1;
2669#line 2485 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2670 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);};
2671#line 2485 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2672 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2673#line 2485 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2674 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2675#line 2485 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2676 _p1 = tmpMeta[2];
2677#line 2485 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2678 _pl1 = tmpMeta[3];
2679#line 2679 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2680
2681#line 2487 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2682 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)))
))
2683#line 2487 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2684 {
2685#line 2488 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2686 _matching = 0;
2687#line 2687 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2688
2689#line 2489 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2690 break;
2691#line 2691 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2692 }
2693
2694#line 2492 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2695 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);
2696#line 2696 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2697
2698#line 2495 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2699 if(((modelica_integer)_mk != 1))
2700#line 2495 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2701 {
2702#line 2496 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2703 _matching = 0;
2704#line 2704 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2705
2706#line 2497 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2707 break;
2708#line 2708 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2709 }
2710 }
2711 }
2712 _return: OMC_LABEL_UNUSED__attribute__((unused))
2713 return _matching;
2714}
2715modelica_metatype boxptr_NFTypeCheck_matchFunctionParameters(threadData_t *threadData, modelica_metatype _params1, modelica_metatype _params2, modelica_metatype _allowUnknown)
2716{
2717 modelica_integer tmp1;
2718 modelica_boolean _matching;
2719 modelica_metatype out_matching;
2720 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2721 _matching = omc_NFTypeCheck_matchFunctionParameters(threadData, _params1, _params2, tmp1);
2722 out_matching = mmc_mk_icon(_matching);
2723 return out_matching;
2724}
2725
2726DLLExport
2727modelica_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)
2728{
2729 modelica_metatype _expression = NULL((void*)0);
2730 modelica_metatype _compatibleType = NULL((void*)0);
2731 modelica_integer _matchKind;
2732 modelica_metatype _inputs1 = NULL((void*)0);
2733 modelica_metatype _inputs2 = NULL((void*)0);
2734 modelica_metatype _remaining_inputs = NULL((void*)0);
2735 modelica_metatype _outputs1 = NULL((void*)0);
2736 modelica_metatype _outputs2 = NULL((void*)0);
2737 modelica_metatype _slots1 = NULL((void*)0);
2738 modelica_metatype _slots2 = NULL((void*)0);
2739 modelica_metatype _input2 = NULL((void*)0);
2740 modelica_metatype _output2 = NULL((void*)0);
2741 modelica_metatype _slot1 = NULL((void*)0);
2742 modelica_metatype _slot2 = NULL((void*)0);
2743 modelica_boolean _matching;
2744 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
2745 MMC_SO()mmc_check_stackoverflow(threadData);
2746 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2747 _expression = _D_24in_expression;
2748 _compatibleType = _actualType;
2749 _matchKind = 1;
2750 // _inputs1 has no default value.
2751 // _inputs2 has no default value.
2752 // _remaining_inputs has no default value.
2753 // _outputs1 has no default value.
2754 // _outputs2 has no default value.
2755 // _slots1 has no default value.
2756 // _slots2 has no default value.
2757 // _input2 has no default value.
2758 // _output2 has no default value.
2759 // _slot1 has no default value.
2760 // _slot2 has no default value.
2761 // _matching has no default value.
2762#line 2425 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2763 /* Pattern-matching assignment */
2764#line 2425 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2765 tmpMeta[0] = _actualType;
2766#line 2425 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2767 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);};
2768#line 2425 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2769 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2770#line 2425 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2771 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);};
2772#line 2425 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2773 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
2774#line 2425 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2775 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (5)))))
;
2776#line 2425 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2777 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (7)))))
;
2778#line 2425 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2779 _inputs1 = tmpMeta[2];
2780#line 2425 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2781 _outputs1 = tmpMeta[3];
2782#line 2425 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2783 _slots1 = tmpMeta[4];
2784#line 2784 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2785
2786#line 2427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2787 /* Pattern-matching assignment */
2788#line 2427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2789 tmpMeta[0] = _expectedType;
2790#line 2427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2791 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);};
2792#line 2427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2793 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (2)))))
;
2794#line 2427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2795 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);};
2796#line 2427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2797 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
2798#line 2427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2799 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 5))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (5)))))
;
2800#line 2427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2801 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 7))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (7)))))
;
2802#line 2427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2803 _inputs2 = tmpMeta[2];
2804#line 2427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2805 _outputs2 = tmpMeta[3];
2806#line 2427 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2807 _slots2 = tmpMeta[4];
2808#line 2808 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2809
2810#line 2431 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2811 if((listLength(_outputs1) != listLength(_outputs2)))
2812#line 2431 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2813 {
2814#line 2432 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2815 _matchKind = 7;
2816#line 2816 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2817
2818#line 2433 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2819 goto _return;
2820#line 2820 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2821 }
2822
2823#line 2436 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2824 if((!omc_NFTypeCheck_matchFunctionParameters(threadData, _outputs1, _outputs2, _allowUnknown)))
2825#line 2436 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2826 {
2827#line 2437 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2828 _matchKind = 7;
2829#line 2829 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2830
2831#line 2438 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2832 goto _return;
2833#line 2833 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2834 }
2835
2836#line 2441 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2837 if((!omc_NFTypeCheck_matchFunctionParameters(threadData, _inputs1, _inputs2, _allowUnknown)))
2838#line 2441 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2839 {
2840#line 2442 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2841 _matchKind = 7;
2842#line 2842 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2843
2844#line 2443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2845 goto _return;
2846#line 2846 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2847 }
2848
2849#line 2448 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2850 {
2851#line 2448 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2852 modelica_metatype _i;
2853#line 2448 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2854 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)))))
)
2855#line 2448 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2856 {
2857#line 2448 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2858 _i = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2859#line 2449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2860 /* Pattern-matching assignment */
2861#line 2449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2862 tmpMeta[1] = _slots1;
2863#line 2449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2864 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);};
2865#line 2449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2866 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2867#line 2449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2868 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2869#line 2449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2870 _slot1 = tmpMeta[2];
2871#line 2449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2872 _slots1 = tmpMeta[3];
2873#line 2873 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2874
2875#line 2450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2876 /* Pattern-matching assignment */
2877#line 2450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2878 tmpMeta[1] = _slots2;
2879#line 2450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2880 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);};
2881#line 2450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2882 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2883#line 2450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2884 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2885#line 2450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2886 _slot2 = tmpMeta[2];
2887#line 2450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2888 _slots2 = tmpMeta[3];
2889#line 2889 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2890
2891#line 2452 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2892 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)
)))
2893#line 2452 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2894 {
2895#line 2453 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2896 _matchKind = 7;
2897#line 2897 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2898
2899#line 2454 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2900 goto _return;
2901#line 2901 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2902 }
2903 }
2904 }
2905
2906#line 2460 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2907 {
2908#line 2460 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2909 modelica_metatype _slot;
2910#line 2460 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2911 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)))))
)
2912#line 2460 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2913 {
2914#line 2460 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2915 _slot = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2916#line 2461 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2917 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)
))
2918#line 2461 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2919 {
2920#line 2462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2921 _matchKind = 7;
2922#line 2922 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2923
2924#line 2463 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2925 goto _return;
2926#line 2926 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2927 }
2928 }
2929 }
2930 _return: OMC_LABEL_UNUSED__attribute__((unused))
2931 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
2932 if (out_matchKind) { *out_matchKind = _matchKind; }
2933 return _expression;
2934}
2935modelica_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)
2936{
2937 modelica_integer tmp1;
2938 modelica_integer _matchKind;
2939 modelica_metatype _expression = NULL((void*)0);
2940 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
2941 _expression = omc_NFTypeCheck_matchFunctionTypes(threadData, _actualType, _expectedType, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
2942 /* skip box _expression; NFExpression */
2943 /* skip box _compatibleType; NFType */
2944 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
2945 return _expression;
2946}
2947
2948DLLExport
2949modelica_integer omc_NFTypeCheck_matchComponentList(threadData_t *threadData, modelica_metatype _comps1, modelica_metatype _comps2, modelica_boolean _allowUnknown)
2950{
2951 modelica_integer _matchKind;
2952 modelica_metatype _c2 = NULL((void*)0);
2953 modelica_metatype _rest_c2 = NULL((void*)0);
2954 modelica_metatype _dummy = NULL((void*)0);
2955 modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
2956 MMC_SO()mmc_check_stackoverflow(threadData);
2957 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
2958 // _matchKind has no default value.
2959 // _c2 has no default value.
2960 _rest_c2 = _comps2;
2961 _dummy = _OMC_LIT40((void*)((char*)(&(_OMC_LIT_STRUCT40).header) + 3));
2962#line 2389 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2963 if((listLength(_comps1) != listLength(_comps2)))
2964#line 2389 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2965 {
2966#line 2390 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2967 _matchKind = 7;
2968#line 2968 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2969 }
2970 else
2971 {
2972#line 2392 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2973 {
2974#line 2392 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2975 modelica_metatype _c1;
2976#line 2392 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2977 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)))))
)
2978#line 2392 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2979 {
2980#line 2392 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2981 _c1 = MMC_CAR(tmpMeta[0])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[0]) - 3
))) + (1)))))
;
2982#line 2393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2983 /* Pattern-matching assignment */
2984#line 2393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2985 tmpMeta[1] = _rest_c2;
2986#line 2393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2987 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);};
2988#line 2393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2989 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
2990#line 2393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2991 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
2992#line 2393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2993 _c2 = tmpMeta[2];
2994#line 2393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2995 _rest_c2 = tmpMeta[3];
2996#line 2996 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
2997
2998#line 2395 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
2999 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)))
))
3000#line 2395 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3001 {
3002#line 2396 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3003 _matchKind = 7;
3004#line 3004 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3005
3006#line 2397 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3007 goto _return;
3008#line 3008 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3009 }
3010
3011#line 2400 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3012 omc_NFTypeCheck_matchTypes(threadData, omc_NFInstNode_InstNode_getType(threadData, _c1), omc_NFInstNode_InstNode_getType(threadData, _c2), _dummy, _allowUnknown ,NULL((void*)0) ,&_matchKind);
3013#line 3013 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3014
3015#line 2402 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3016 if(((modelica_integer)_matchKind == 7))
3017#line 2402 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3018 {
3019#line 2403 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3020 goto _return;
3021#line 3021 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3022 }
3023 }
3024 }
3025 }
3026
3027#line 2408 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3028 _matchKind = 6;
3029#line 3029 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3030 _return: OMC_LABEL_UNUSED__attribute__((unused))
3031 return _matchKind;
3032}
3033modelica_metatype boxptr_NFTypeCheck_matchComponentList(threadData_t *threadData, modelica_metatype _comps1, modelica_metatype _comps2, modelica_metatype _allowUnknown)
3034{
3035 modelica_integer tmp1;
3036 modelica_integer _matchKind;
3037 modelica_metatype out_matchKind;
3038 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
3039 _matchKind = omc_NFTypeCheck_matchComponentList(threadData, _comps1, _comps2, tmp1);
3040 out_matchKind = mmc_mk_icon(_matchKind);
3041 return out_matchKind;
3042}
3043
3044DLLExport
3045modelica_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)
3046{
3047 modelica_metatype _expression = NULL((void*)0);
3048 modelica_metatype _compatibleType = NULL((void*)0);
3049 modelica_integer _matchKind;
3050 modelica_metatype _cls1 = NULL((void*)0);
3051 modelica_metatype _cls2 = NULL((void*)0);
3052 modelica_metatype _anode = NULL((void*)0);
3053 modelica_metatype _enode = NULL((void*)0);
3054 modelica_metatype _comps1 = NULL((void*)0);
3055 modelica_metatype _comps2 = NULL((void*)0);
3056 modelica_metatype _path = NULL((void*)0);
3057 modelica_metatype _ty = NULL((void*)0);
3058 modelica_metatype _cty1 = NULL((void*)0);
3059 modelica_metatype _cty2 = NULL((void*)0);
3060 modelica_metatype _e = NULL((void*)0);
3061 modelica_metatype _elements = NULL((void*)0);
3062 modelica_metatype _matched_elements = NULL((void*)0);
3063 modelica_integer _mk;
3064 modelica_metatype _comp1 = NULL((void*)0);
3065 modelica_metatype _comp2 = NULL((void*)0);
3066 modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
3067 MMC_SO()mmc_check_stackoverflow(threadData);
3068 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3069 _expression = _D_24in_expression;
3070 _compatibleType = _actualType;
3071 _matchKind = 7;
3072 // _cls1 has no default value.
3073 // _cls2 has no default value.
3074 // _anode has no default value.
3075 // _enode has no default value.
3076 // _comps1 has no default value.
3077 // _comps2 has no default value.
3078 // _path has no default value.
3079 // _ty has no default value.
3080 // _cty1 has no default value.
3081 // _cty2 has no default value.
3082 // _e has no default value.
3083 // _elements has no default value.
3084 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
3085 _matched_elements = tmpMeta[0];
3086 // _mk has no default value.
3087 // _comp1 has no default value.
3088 // _comp2 has no default value.
3089#line 2279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3090 /* Pattern-matching assignment */
3091#line 2279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3092 tmpMeta[1] = _actualType;
3093#line 2279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3094 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);};
3095#line 2279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3096 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3097#line 2279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3098 _anode = tmpMeta[2];
3099#line 3099 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3100
3101#line 2280 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3102 /* Pattern-matching assignment */
3103#line 2280 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3104 tmpMeta[1] = _expectedType;
3105#line 2280 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3106 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);};
3107#line 2280 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3108 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3109#line 2280 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3110 _enode = tmpMeta[2];
3111#line 3111 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3112
3113#line 2283 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3114 if(omc_NFInstNode_InstNode_isSame(threadData, _anode, _enode))
3115#line 2283 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3116 {
3117#line 2284 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3118 _matchKind = 1;
3119#line 3119 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3120
3121#line 2285 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3122 goto _return;
3123#line 3123 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3124 }
3125
3126#line 2288 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3127 _cls1 = omc_NFInstNode_InstNode_getClass(threadData, _anode);
3128#line 3128 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3129
3130#line 2289 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3131 _cls2 = omc_NFInstNode_InstNode_getClass(threadData, _enode);
3132#line 3132 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3133
3134#line 3134 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3135 { /* match expression */
3136 modelica_metatype tmp3_1;modelica_metatype tmp3_2;modelica_metatype tmp3_3;
3137 tmp3_1 = _cls1;
3138 tmp3_2 = _cls2;
3139 tmp3_3 = _expression;
3140 {
3141 volatile mmc_switch_type tmp3;
3142 int tmp4;
3143 tmp3 = 0;
3144 for (; tmp3 < 4; tmp3++) {
3145 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
3146 case 0: {
3147 modelica_integer tmp5;
3148 modelica_integer tmp6;
3149 modelica_integer tmp7;
3150 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;
3151 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_3), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_3) - 3))) +
(4)))))
;
3152 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;
3153 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
3154 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;
3155 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (4)))))
;
3156 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;
3157 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(3)))))
;
3158 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;
3159 tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[4]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[4]) - 3
))) + (4)))))
;
3160
3161 _elements = tmpMeta[1];
3162 _comps1 = tmpMeta[3];
3163 _comps2 = tmpMeta[5];
3164 /* Pattern matching succeeded */
3165#line 2297 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3166 _matchKind = 6;
3167#line 3167 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3168
3169#line 2299 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3170 if(((arrayLength(_comps1) != arrayLength(_comps2)) || (arrayLength(_comps1) != listLength(_elements))))
3171#line 2299 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3172 {
3173#line 2301 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3174 _matchKind = 7;
3175#line 3175 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3176 }
3177 else
3178 {
3179#line 2303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3180 tmp5 = ((modelica_integer) 1); tmp6 = 1; tmp7 = arrayLength(_comps1);
3181#line 2303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3182 if(!(((tmp6 > 0) && (tmp5 > tmp7)) || ((tmp6 < 0) && (tmp5 < tmp7))))
3183#line 2303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3184 {
3185#line 2303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3186 modelica_integer _i;
3187#line 2303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3188 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp5, tmp7); _i += tmp6)
3189#line 2303 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3190 {
3191#line 2304 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3192 /* Pattern-matching assignment */
3193#line 2304 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3194 tmpMeta[1] = _elements;
3195#line 2304 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3196 if (listEmpty(tmpMeta[1])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[1]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto goto_1;
3197#line 2304 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3198 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
3199#line 2304 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3200 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
3201#line 2304 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3202 _e = tmpMeta[2];
3203#line 2304 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3204 _elements = tmpMeta[3];
3205#line 3205 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3206
3207#line 2305 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3208 _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);
3209#line 3209 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3210
3211#line 2306 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3212 tmpMeta[1] = mmc_mk_cons(_e, _matched_elements);
3213#line 2306 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3214 _matched_elements = tmpMeta[1];
3215#line 3215 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3216
3217#line 2308 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3218 if(((modelica_integer)_mk == 2))
3219#line 2308 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3220 {
3221#line 2309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3222 _matchKind = (modelica_integer)_mk;
3223#line 3223 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3224 }
3225 else
3226 {
3227 if((!omc_NFTypeCheck_isValidPlugCompatibleMatch(threadData, (modelica_integer)_mk)))
3228 {
3229#line 2311 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3230 _matchKind = 7;
3231#line 3231 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3232
3233#line 2312 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3234 break;
3235#line 3235 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3236 }
3237 }
3238 }
3239 }
3240
3241#line 2316 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3242 if(((modelica_integer)_matchKind == 2))
3243#line 2316 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3244 {
3245#line 2317 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3246 tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(5))((void*)((char*)(mmc_alloc_words(5)) + 3));
3247#line 2317 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3248 memcpy(MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)), MMC_UNTAGPTR(_expression)((void*)((char*)(_expression) - 3)), 5*sizeof(modelica_metatype));
3249#line 2317 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3250 ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1])((void*)((char*)(tmpMeta[1]) - 3)))[4] = listReverse(_matched_elements);
3251#line 2317 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3252 _expression = tmpMeta[1];
3253#line 3253 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3254 }
3255 }
3256
3257#line 2321 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3258 if(((modelica_integer)_matchKind != 7))
3259#line 2321 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3260 {
3261#line 2322 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3262 _matchKind = 6;
3263#line 3263 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3264 }
3265#line 3265 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3266 goto tmp2_done;
3267 }
3268 case 1: {
3269 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;
3270 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(2)))))
;
3271 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;
3272 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (3)))))
;
3273 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;
3274 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;
3275 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(2)))))
;
3276 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;
3277 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (3)))))
;
3278 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;
3279
3280 _cty1 = tmpMeta[2];
3281 _cty2 = tmpMeta[4];
3282 /* Pattern matching succeeded */
3283#line 2331 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3284 _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);
3285#line 3285 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3286
3287#line 2332 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3288 if(((modelica_integer)_matchKind != 7))
3289#line 2332 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3290 {
3291#line 2333 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3292 _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);
3293#line 3293 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3294
3295#line 2334 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3296 if(((modelica_integer)_matchKind != 7))
3297#line 2334 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3298 {
3299#line 2335 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3300 _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);
3301#line 3301 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3302 }
3303 }
3304
3305#line 2339 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3306 if(((modelica_integer)_matchKind != 7))
3307#line 2339 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3308 {
3309#line 2340 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3310 _matchKind = 6;
3311#line 3311 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3312 }
3313#line 3313 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3314 goto tmp2_done;
3315 }
3316 case 2: {
3317 modelica_integer tmp8;
3318 modelica_integer tmp9;
3319 modelica_integer tmp10;
3320 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;
3321 tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_1) - 3))) +
(3)))))
;
3322 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;
3323 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (4)))))
;
3324 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;
3325 tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 3))(*(void**)(((void*)((void**)(((void*)((char*)(tmp3_2) - 3))) +
(3)))))
;
3326 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;
3327 tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[3]), 4))(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[3]) - 3
))) + (4)))))
;
3328
3329 _comps1 = tmpMeta[2];
3330 _comps2 = tmpMeta[4];
3331 /* Pattern matching succeeded */
3332#line 2348 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3333 _matchKind = 6;
3334#line 3334 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3335
3336#line 2350 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3337 if((arrayLength(_comps1) != arrayLength(_comps2)))
3338#line 2350 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3339 {
3340#line 2351 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3341 _matchKind = 7;
3342#line 3342 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3343 }
3344 else
3345 {
3346#line 2353 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3347 tmp8 = ((modelica_integer) 1); tmp9 = 1; tmp10 = arrayLength(_comps1);
3348#line 2353 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3349 if(!(((tmp9 > 0) && (tmp8 > tmp10)) || ((tmp9 < 0) && (tmp8 < tmp10))))
3350#line 2353 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3351 {
3352#line 2353 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3353 modelica_integer _i;
3354#line 2353 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3355 for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp8, tmp10); _i += tmp9)
3356#line 2353 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3357 {
3358#line 2354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3359 _comp1 = omc_NFInstNode_InstNode_component(threadData, arrayGet(_comps1,_i)nobox_arrayGet(threadData,_comps1,_i) /* DAE.ASUB */);
3360#line 3360 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3361
3362#line 2355 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3363 _comp2 = omc_NFInstNode_InstNode_component(threadData, arrayGet(_comps2,_i)nobox_arrayGet(threadData,_comps2,_i) /* DAE.ASUB */);
3364#line 3364 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3365
3366#line 2357 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3367 if(omc_NFComponent_Component_isTyped(threadData, _comp2))
3368#line 2357 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3369 {
3370#line 2358 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3371 omc_NFTypeCheck_matchTypes(threadData, omc_NFComponent_Component_getType(threadData, _comp1), omc_NFComponent_Component_getType(threadData, _comp2), _expression, _allowUnknown ,NULL((void*)0) ,&_mk);
3372#line 3372 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3373
3374#line 2360 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3375 if((!omc_NFTypeCheck_isValidPlugCompatibleMatch(threadData, (modelica_integer)_mk)))
3376#line 2360 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3377 {
3378#line 2361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3379 _matchKind = 7;
3380#line 3380 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3381
3382#line 2362 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3383 break;
3384#line 3384 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3385 }
3386 }
3387 }
3388 }
3389 }
3390#line 3390 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3391 goto tmp2_done;
3392 }
3393 case 3: {
3394
3395 /* Pattern matching succeeded */
3396#line 2372 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3397 _matchKind = 7;
3398#line 3398 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3399#line 3399 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3400 goto tmp2_done;
3401 }
3402 }
3403 goto tmp2_end;
3404 tmp2_end: ;
3405 }
3406 goto goto_1;
3407 goto_1:;
3408 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3409 goto tmp2_done;
3410 tmp2_done:;
3411 }
3412 }
3413 ;
3414 _return: OMC_LABEL_UNUSED__attribute__((unused))
3415 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
3416 if (out_matchKind) { *out_matchKind = _matchKind; }
3417 return _expression;
3418}
3419modelica_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)
3420{
3421 modelica_integer tmp1;
3422 modelica_integer _matchKind;
3423 modelica_metatype _expression = NULL((void*)0);
3424 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
3425 _expression = omc_NFTypeCheck_matchComplexTypes(threadData, _actualType, _expectedType, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
3426 /* skip box _expression; NFExpression */
3427 /* skip box _compatibleType; NFType */
3428 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
3429 return _expression;
3430}
3431
3432DLLExport
3433modelica_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)
3434{
3435 modelica_metatype _exp1 = NULL((void*)0);
3436 modelica_metatype _exp2 = NULL((void*)0);
3437 modelica_metatype _compatibleType = NULL((void*)0);
3438 modelica_integer _matchKind;
3439 modelica_integer tmp1_c1 __attribute__((unused)) = 0;
3440 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
3441 MMC_SO()mmc_check_stackoverflow(threadData);
3442 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3443 _exp1 = _D_24in_exp1;
3444 _exp2 = _D_24in_exp2;
3445 // _compatibleType has no default value.
3446 // _matchKind has no default value.
3447#line 2178 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3448
3449#line 2178 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3450
3451#line 3451 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3452 { /* match expression */
3453 modelica_metatype tmp4_1;modelica_metatype tmp4_2;
3454 tmp4_1 = _type1;
3455 tmp4_2 = _type2;
3456 {
3457 volatile mmc_switch_type tmp4;
3458 int tmp5;
3459 tmp4 = 0;
3460 for (; tmp4 < 12; tmp4++) {
3461 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
3462 case 0: {
3463 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;
3464 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;
3465 /* Pattern matching succeeded */
3466#line 2182 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3467 _exp1 = omc_NFExpression_typeCast(threadData, _exp1, _type2);
3468#line 3468 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3469#line 2183 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3470 tmpMeta[0+0] = _type2;
3471#line 2183 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3472 tmp1_c1 = 2;
3473#line 3473 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3474 goto tmp3_done;
3475 }
3476 case 1: {
3477 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;
3478 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;
3479 /* Pattern matching succeeded */
3480#line 2188 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3481 _exp2 = omc_NFExpression_typeCast(threadData, _exp2, _type1);
3482#line 3482 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3483#line 2189 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3484 tmpMeta[0+0] = _type1;
3485#line 2189 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3486 tmp1_c1 = 2;
3487#line 3487 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3488 goto tmp3_done;
3489 }
3490 case 2: {
3491 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;
3492 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;
3493 /* Pattern matching succeeded */
3494 /* Check guard condition after assignments */
3495 if (!omc_Flags_isSet(threadData, _OMC_LIT94((void*)((char*)(&(_OMC_LIT_STRUCT94).header) + 3)))) goto tmp3_end;
3496#line 2196 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3497 tmpMeta[2] = stringAppend(_OMC_LIT89((void*)((char*)(&(_OMC_LIT_STRUCT89).header) + 3)),omc_NFExpression_toString(threadData, _exp1));
3498#line 2196 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3499 tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT90((void*)((char*)(&(_OMC_LIT_STRUCT90).header) + 3)));
3500#line 2196 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3501 omc_Error_addCompilerWarning(threadData, tmpMeta[3]);
3502#line 3502 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3503
3504#line 2197 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3505 _exp1 = omc_NFExpression_typeCast(threadData, _exp1, _type2);
3506#line 3506 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3507#line 2198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3508 tmpMeta[0+0] = _type2;
3509#line 2198 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3510 tmp1_c1 = 2;
3511#line 3511 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3512 goto tmp3_done;
3513 }
3514 case 3: {
3515 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;
3516 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;
3517 /* Pattern matching succeeded */
3518 /* Check guard condition after assignments */
3519 if (!omc_Flags_isSet(threadData, _OMC_LIT94((void*)((char*)(&(_OMC_LIT_STRUCT94).header) + 3)))) goto tmp3_end;
3520#line 2203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3521 tmpMeta[2] = stringAppend(_OMC_LIT89((void*)((char*)(&(_OMC_LIT_STRUCT89).header) + 3)),omc_NFExpression_toString(threadData, _exp2));
3522#line 2203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3523 tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT90((void*)((char*)(&(_OMC_LIT_STRUCT90).header) + 3)));
3524#line 2203 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3525 omc_Error_addCompilerWarning(threadData, tmpMeta[3]);
3526#line 3526 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3527
3528#line 2204 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3529 _exp2 = omc_NFExpression_typeCast(threadData, _exp2, _type1);
3530#line 3530 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3531#line 2205 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3532 tmpMeta[0+0] = _type1;
3533#line 2205 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3534 tmp1_c1 = 2;
3535#line 3535 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3536 goto tmp3_done;
3537 }
3538 case 4: {
3539 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;
3540 tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2))(*(void**)(((void*)((void**)(((void*)((char*)(tmp4_2) - 3))) +
(2)))))
;
3541 if (listEmpty(tmpMeta[2])((*(mmc_uint_t*)((void*)((char*)(tmpMeta[2]) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp3_end;
3542 tmpMeta[3] = MMC_CAR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (1)))))
;
3543 tmpMeta[4] = MMC_CDR(tmpMeta[2])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[2]) - 3
))) + (2)))))
;
3544
3545 _compatibleType = tmpMeta[3];
3546 /* Pattern matching succeeded */
3547#line 2214 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3548 _exp2 = omc_NFExpression_tupleElement(threadData, _exp2, _compatibleType, ((modelica_integer) 1));
3549#line 3549 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3550
3551#line 2215 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3552 _exp2 = omc_NFTypeCheck_matchTypes(threadData, _compatibleType, _type1, _exp2, _allowUnknown ,&_compatibleType ,&_matchKind);
3553#line 3553 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3554
3555#line 2218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3556 if(omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_matchKind))
3557#line 2218 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3558 {
3559#line 2219 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3560 _matchKind = 2;
3561#line 3561 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3562 }
3563#line 2221 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3564 tmpMeta[0+0] = _compatibleType;
3565#line 2221 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3566 tmp1_c1 = (modelica_integer)_matchKind;
3567#line 3567 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3568 goto tmp3_done;
3569 }
3570 case 5: {
3571 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;
3572
3573 /* Pattern matching succeeded */
3574#line 2225 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3575 tmpMeta[0+0] = _type2;
3576#line 2225 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3577 tmp1_c1 = (_allowUnknown?1:7);
3578#line 3578 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3579 goto tmp3_done;
3580 }
3581 case 6: {
3582 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;
3583
3584 /* Pattern matching succeeded */
3585#line 2228 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3586 tmpMeta[0+0] = _type1;
3587#line 2228 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3588 tmp1_c1 = (_allowUnknown?1:7);
3589#line 3589 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3590 goto tmp3_done;
3591 }
3592 case 7: {
3593 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;
3594
3595 /* Pattern matching succeeded */
3596#line 2232 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3597 _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);
3598#line 3598 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3599#line 2234 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3600 tmpMeta[0+0] = _compatibleType;
3601#line 2234 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3602 tmp1_c1 = (modelica_integer)_matchKind;
3603#line 3603 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3604 goto tmp3_done;
3605 }
3606 case 8: {
3607 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;
3608
3609 /* Pattern matching succeeded */
3610#line 2239 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3611 _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);
3612#line 3612 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3613#line 2241 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3614 tmpMeta[0+0] = _compatibleType;
3615#line 2241 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3616 tmp1_c1 = (modelica_integer)_matchKind;
3617#line 3617 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3618 goto tmp3_done;
3619 }
3620 case 9: {
3621 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;
3622
3623 /* Pattern matching succeeded */
3624#line 2246 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3625 _exp1 = omc_NFExpression_box(threadData, _exp1);
3626#line 3626 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3627#line 2247 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3628 tmpMeta[0+0] = omc_NFType_box(threadData, _type1);
3629#line 2247 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3630 tmp1_c1 = 5;
3631#line 3631 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3632 goto tmp3_done;
3633 }
3634 case 10: {
3635 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;
3636
3637 /* Pattern matching succeeded */
3638#line 2252 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3639 _exp2 = omc_NFExpression_box(threadData, _exp2);
3640#line 3640 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3641#line 2253 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3642 tmpMeta[0+0] = omc_NFType_box(threadData, _type2);
3643#line 2253 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3644 tmp1_c1 = 5;
3645#line 3645 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3646 goto tmp3_done;
3647 }
3648 case 11: {
3649
3650 /* Pattern matching succeeded */
3651#line 2256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3652 tmpMeta[0+0] = _OMC_LIT88((void*)((char*)(&(_OMC_LIT_STRUCT88).header) + 3));
3653#line 2256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3654 tmp1_c1 = 7;
3655#line 3655 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3656 goto tmp3_done;
3657 }
3658 }
3659 goto tmp3_end;
3660 tmp3_end: ;
3661 }
3662 goto goto_2;
3663 goto_2:;
3664 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3665 goto tmp3_done;
3666 tmp3_done:;
3667 }
3668 }
3669 _compatibleType = tmpMeta[0+0];
3670 _matchKind = tmp1_c1;
3671 _return: OMC_LABEL_UNUSED__attribute__((unused))
3672 if (out_exp2) { *out_exp2 = _exp2; }
3673 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
3674 if (out_matchKind) { *out_matchKind = _matchKind; }
3675 return _exp1;
3676}
3677modelica_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)
3678{
3679 modelica_integer tmp1;
3680 modelica_integer _matchKind;
3681 modelica_metatype _exp1 = NULL((void*)0);
3682 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
3683 _exp1 = omc_NFTypeCheck_matchExpressions__cast(threadData, _D_24in_exp1, _type1, _D_24in_exp2, _type2, tmp1, out_exp2, out_compatibleType, &_matchKind);
3684 /* skip box _exp1; NFExpression */
3685 /* skip box _exp2; NFExpression */
3686 /* skip box _compatibleType; NFType */
3687 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
3688 return _exp1;
3689}
3690
3691DLLExport
3692modelica_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)
3693{
3694 modelica_metatype _expression = NULL((void*)0);
3695 modelica_metatype _compatibleType = NULL((void*)0);
3696 modelica_integer _matchKind;
3697 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
3698 MMC_SO()mmc_check_stackoverflow(threadData);
3699 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3700 _expression = _D_24in_expression;
3701 // _compatibleType has no default value.
3702 // _matchKind has no default value.
3703#line 2085 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3704 if(referenceEq(_actualType, _expectedType)((_actualType) == (_expectedType)))
3705#line 2085 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3706 {
3707#line 2086 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3708 _compatibleType = _actualType;
3709#line 3709 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3710
3711#line 2087 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3712 _matchKind = 1;
3713#line 3713 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3714
3715#line 2088 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3716 goto _return;
3717#line 3717 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3718 }
3719
3720#line 2092 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3721 if((valueConstructor(_actualType)((((*(mmc_uint_t*)((void*)((char*)(_actualType) - 3)))) >>
2) & 255)
!= valueConstructor(_expectedType)((((*(mmc_uint_t*)((void*)((char*)(_expectedType) - 3)))) >>
2) & 255)
))
3722#line 2092 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3723 {
3724#line 2095 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3725 _expression = omc_NFTypeCheck_matchTypes__cast(threadData, _actualType, _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
3726#line 3726 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3727
3728#line 2097 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3729 goto _return;
3730#line 3730 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3731 }
3732
3733#line 2101 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3734 _matchKind = 1;
3735#line 3735 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3736
3737#line 3737 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3738 { /* match expression */
3739 modelica_metatype tmp3_1;
3740 tmp3_1 = _actualType;
3741 {
3742 int tmp3;
3743 {
3744 switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) >> 2
) & 255))
) {
3745 case 3: {
3746
3747 /* Pattern matching succeeded */
3748#line 2103 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3749 tmpMeta[0] = _actualType;
3750#line 3750 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3751 goto tmp2_done;
3752 }
3753 case 4: {
3754
3755 /* Pattern matching succeeded */
3756#line 2104 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3757 tmpMeta[0] = _actualType;
3758#line 3758 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3759 goto tmp2_done;
3760 }
3761 case 5: {
3762
3763 /* Pattern matching succeeded */
3764#line 2105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3765 tmpMeta[0] = _actualType;
3766#line 3766 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3767 goto tmp2_done;
3768 }
3769 case 6: {
3770
3771 /* Pattern matching succeeded */
3772#line 2106 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3773 tmpMeta[0] = _actualType;
3774#line 3774 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3775 goto tmp2_done;
3776 }
3777 case 7: {
3778
3779 /* Pattern matching succeeded */
3780#line 2107 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3781 tmpMeta[0] = _actualType;
3782#line 3782 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3783 goto tmp2_done;
3784 }
3785 case 8: {
3786
3787 /* Pattern matching succeeded */
3788#line 2111 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3789 _matchKind = omc_NFTypeCheck_matchEnumerationTypes(threadData, _actualType, _expectedType);
3790#line 3790 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3791#line 2112 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3792 tmpMeta[0] = _actualType;
3793#line 3793 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3794 goto tmp2_done;
3795 }
3796 case 9: {
3797
3798 /* Pattern matching succeeded */
3799#line 2115 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3800 tmpMeta[0] = _actualType;
3801#line 3801 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3802 goto tmp2_done;
3803 }
3804 case 10: {
3805
3806 /* Pattern matching succeeded */
3807#line 2119 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3808 _expression = omc_NFTypeCheck_matchArrayTypes(threadData, _actualType, _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
3809#line 3809 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3810#line 2121 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3811 tmpMeta[0] = _compatibleType;
3812#line 3812 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3813 goto tmp2_done;
3814 }
3815 case 11: {
3816
3817 /* Pattern matching succeeded */
3818#line 2126 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3819 _expression = omc_NFTypeCheck_matchTupleTypes(threadData, _actualType, _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
3820#line 3820 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3821#line 2128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3822 tmpMeta[0] = _compatibleType;
3823#line 3823 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3824 goto tmp2_done;
3825 }
3826 case 13: {
3827
3828 /* Pattern matching succeeded */
3829#line 2133 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3830 _matchKind = (_allowUnknown?1:7);
3831#line 3831 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3832#line 2134 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3833 tmpMeta[0] = _actualType;
3834#line 3834 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3835 goto tmp2_done;
3836 }
3837 case 14: {
3838
3839 /* Pattern matching succeeded */
3840#line 2139 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3841 _expression = omc_NFTypeCheck_matchComplexTypes(threadData, _actualType, _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
3842#line 3842 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3843#line 2141 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3844 tmpMeta[0] = _compatibleType;
3845#line 3845 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3846 goto tmp2_done;
3847 }
3848 case 15: {
3849
3850 /* Pattern matching succeeded */
3851#line 2146 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3852 _expression = omc_NFTypeCheck_matchFunctionTypes(threadData, _actualType, _expectedType, _expression, _allowUnknown ,&_compatibleType ,&_matchKind);
3853#line 3853 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3854#line 2148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3855 tmpMeta[0] = _compatibleType;
3856#line 3856 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3857 goto tmp2_done;
3858 }
3859 case 16: {
3860
3861 /* Pattern matching succeeded */
3862#line 2153 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3863 _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);
3864#line 3864 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3865
3866#line 2155 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3867 _expression = omc_NFExpression_box(threadData, _expression);
3868#line 3868 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3869#line 2156 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3870 tmpMeta[0] = omc_NFType_box(threadData, _compatibleType);
3871#line 3871 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3872 goto tmp2_done;
3873 }
3874 default:
3875 tmp2_default: OMC_LABEL_UNUSED__attribute__((unused)); {
3876
3877 /* Pattern matching succeeded */
3878#line 2162 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3879 omc_Error_assertion(threadData, 0, _OMC_LIT95((void*)((char*)(&(_OMC_LIT_STRUCT95).header) + 3)), _OMC_LIT96((void*)((char*)(&(_OMC_LIT_STRUCT96).header) + 3)));
3880#line 3880 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3881#line 2163 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3882 goto goto_1;
3883#line 3883 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3884 goto tmp2_done;
3885 }
3886 }
3887 goto tmp2_end;
3888 tmp2_end: ;
3889 }
3890 goto goto_1;
3891 goto_1:;
3892 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
3893 goto tmp2_done;
3894 tmp2_done:;
3895 }
3896 }
3897 _compatibleType = tmpMeta[0];
3898 _return: OMC_LABEL_UNUSED__attribute__((unused))
3899 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
3900 if (out_matchKind) { *out_matchKind = _matchKind; }
3901 return _expression;
3902}
3903modelica_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)
3904{
3905 modelica_integer tmp1;
3906 modelica_integer _matchKind;
3907 modelica_metatype _expression = NULL((void*)0);
3908 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
3909 _expression = omc_NFTypeCheck_matchTypes(threadData, _actualType, _expectedType, _D_24in_expression, tmp1, out_compatibleType, &_matchKind);
3910 /* skip box _expression; NFExpression */
3911 /* skip box _compatibleType; NFType */
3912 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
3913 return _expression;
3914}
3915
3916DLLExport
3917modelica_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)
3918{
3919 modelica_metatype _exp1 = NULL((void*)0);
3920 modelica_metatype _exp2 = NULL((void*)0);
3921 modelica_metatype _compatibleType = NULL((void*)0);
3922 modelica_integer _matchKind;
3923 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
3924 MMC_SO()mmc_check_stackoverflow(threadData);
3925 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
3926 _exp1 = _D_24in_exp1;
3927 _exp2 = _D_24in_exp2;
3928 // _compatibleType has no default value.
3929 // _matchKind has no default value.
3930#line 1998 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3931 if(referenceEq(_type1, _type2)((_type1) == (_type2)))
3932#line 1998 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3933 {
3934#line 1999 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3935 _compatibleType = _type1;
3936#line 3936 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3937
3938#line 2000 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3939 _matchKind = 1;
3940#line 3940 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3941
3942#line 2001 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3943 goto _return;
3944#line 3944 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3945 }
3946
3947#line 2005 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3948 if((valueConstructor(_type1)((((*(mmc_uint_t*)((void*)((char*)(_type1) - 3)))) >> 2
) & 255)
!= valueConstructor(_type2)((((*(mmc_uint_t*)((void*)((char*)(_type2) - 3)))) >> 2
) & 255)
))
3949#line 2005 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3950 {
3951#line 2008 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3952 _exp1 = omc_NFTypeCheck_matchExpressions__cast(threadData, _exp1, _type1, _exp2, _type2, _allowUnknown ,&_exp2 ,&_compatibleType ,&_matchKind);
3953#line 3953 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3954
3955#line 2010 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3956 goto _return;
3957#line 3957 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3958 }
3959
3960#line 2014 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3961 _matchKind = 1;
3962#line 3962 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3963
3964#line 3964 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3965 { /* match expression */
3966 modelica_metatype tmp3_1;
3967 tmp3_1 = _type1;
3968 {
3969 int tmp3;
3970 {
3971 switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp3_1) - 3)))) >> 2
) & 255))
) {
3972 case 3: {
3973
3974 /* Pattern matching succeeded */
3975#line 2016 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3976 tmpMeta[0] = _type1;
3977#line 3977 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3978 goto tmp2_done;
3979 }
3980 case 4: {
3981
3982 /* Pattern matching succeeded */
3983#line 2017 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3984 tmpMeta[0] = _type1;
3985#line 3985 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3986 goto tmp2_done;
3987 }
3988 case 5: {
3989
3990 /* Pattern matching succeeded */
3991#line 2018 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
3992 tmpMeta[0] = _type1;
3993#line 3993 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
3994 goto tmp2_done;
3995 }
3996 case 6: {
3997
3998 /* Pattern matching succeeded */
3999#line 2019 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4000 tmpMeta[0] = _type1;
4001#line 4001 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4002 goto tmp2_done;
4003 }
4004 case 7: {
4005
4006 /* Pattern matching succeeded */
4007#line 2020 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4008 tmpMeta[0] = _type1;
4009#line 4009 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4010 goto tmp2_done;
4011 }
4012 case 8: {
4013
4014 /* Pattern matching succeeded */
4015#line 2024 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4016 _matchKind = omc_NFTypeCheck_matchEnumerationTypes(threadData, _type1, _type2);
4017#line 4017 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4018#line 2025 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4019 tmpMeta[0] = _type1;
4020#line 4020 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4021 goto tmp2_done;
4022 }
4023 case 9: {
4024
4025 /* Pattern matching succeeded */
4026#line 2028 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4027 tmpMeta[0] = _type1;
4028#line 4028 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4029 goto tmp2_done;
4030 }
4031 case 10: {
4032
4033 /* Pattern matching succeeded */
4034#line 2032 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4035 _exp1 = omc_NFTypeCheck_matchArrayExpressions(threadData, _exp1, _type1, _exp2, _type2, _allowUnknown ,&_exp2 ,&_compatibleType ,&_matchKind);
4036#line 4036 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4037#line 2034 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4038 tmpMeta[0] = _compatibleType;
4039#line 4039 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4040 goto tmp2_done;
4041 }
4042 case 11: {
4043
4044 /* Pattern matching succeeded */
4045#line 2039 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4046 _exp2 = omc_NFTypeCheck_matchTupleTypes(threadData, _type2, _type1, _exp2, _allowUnknown ,&_compatibleType ,&_matchKind);
4047#line 4047 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4048#line 2041 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4049 tmpMeta[0] = _compatibleType;
4050#line 4050 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4051 goto tmp2_done;
4052 }
4053 case 13: {
4054
4055 /* Pattern matching succeeded */
4056#line 2046 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4057 _matchKind = (_allowUnknown?1:7);
4058#line 4058 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4059#line 2047 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4060 tmpMeta[0] = _type1;
4061#line 4061 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4062 goto tmp2_done;
4063 }
4064 case 14: {
4065
4066 /* Pattern matching succeeded */
4067#line 2053 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4068 _exp1 = omc_NFTypeCheck_matchComplexTypes(threadData, _type1, _type2, _exp1, _allowUnknown ,&_compatibleType ,&_matchKind);
4069#line 4069 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4070#line 2055 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4071 tmpMeta[0] = _compatibleType;
4072#line 4072 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4073 goto tmp2_done;
4074 }
4075 case 16: {
4076
4077 /* Pattern matching succeeded */
4078#line 2060 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4079 _exp1 = omc_NFTypeCheck_matchBoxedExpressions(threadData, _exp1, _type1, _exp2, _type2, _allowUnknown ,&_exp2 ,&_compatibleType ,&_matchKind);
4080#line 4080 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4081#line 2062 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4082 tmpMeta[0] = _compatibleType;
4083#line 4083 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4084 goto tmp2_done;
4085 }
4086 default:
4087 tmp2_default: OMC_LABEL_UNUSED__attribute__((unused)); {
4088
4089 /* Pattern matching succeeded */
4090#line 2067 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4091 omc_Error_assertion(threadData, 0, _OMC_LIT97((void*)((char*)(&(_OMC_LIT_STRUCT97).header) + 3)), _OMC_LIT98((void*)((char*)(&(_OMC_LIT_STRUCT98).header) + 3)));
4092#line 4092 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4093#line 2068 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4094 goto goto_1;
4095#line 4095 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4096 goto tmp2_done;
4097 }
4098 }
4099 goto tmp2_end;
4100 tmp2_end: ;
4101 }
4102 goto goto_1;
4103 goto_1:;
4104 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4105 goto tmp2_done;
4106 tmp2_done:;
4107 }
4108 }
4109 _compatibleType = tmpMeta[0];
4110 _return: OMC_LABEL_UNUSED__attribute__((unused))
4111 if (out_exp2) { *out_exp2 = _exp2; }
4112 if (out_compatibleType) { *out_compatibleType = _compatibleType; }
4113 if (out_matchKind) { *out_matchKind = _matchKind; }
4114 return _exp1;
4115}
4116modelica_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)
4117{
4118 modelica_integer tmp1;
4119 modelica_integer _matchKind;
4120 modelica_metatype _exp1 = NULL((void*)0);
4121 tmp1 = mmc_unbox_integer(_allowUnknown)(((mmc_sint_t) (_allowUnknown)) >> 1);
4122 _exp1 = omc_NFTypeCheck_matchExpressions(threadData, _D_24in_exp1, _type1, _D_24in_exp2, _type2, tmp1, out_exp2, out_compatibleType, &_matchKind);
4123 /* skip box _exp1; NFExpression */
4124 /* skip box _exp2; NFExpression */
4125 /* skip box _compatibleType; NFType */
4126 if (out_matchKind) { *out_matchKind = mmc_mk_icon(_matchKind); }
4127 return _exp1;
4128}
4129
4130DLLExport
4131void omc_NFTypeCheck_printUnresolvableTypeError(threadData_t *threadData, modelica_metatype _exp, modelica_metatype _types, modelica_metatype _info, modelica_boolean _printError)
4132{
4133 modelica_string _exp_str = NULL((void*)0);
4134 modelica_string _ty_str = NULL((void*)0);
4135 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4136 MMC_SO()mmc_check_stackoverflow(threadData);
4137 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4138 // _exp_str has no default value.
4139 // _ty_str has no default value.
4140#line 1486 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4141 if(_printError)
4142#line 1486 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4143 {
4144#line 1487 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4145 _exp_str = omc_NFExpression_toString(threadData, _exp);
4146#line 4146 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4147
4148#line 1488 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4149 _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);
4150#line 4150 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4151
4152#line 1489 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4153 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)))));
4154#line 1489 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4155 omc_Error_addSourceMessage(threadData, _OMC_LIT102((void*)((char*)(&(_OMC_LIT_STRUCT102).header) + 3)), tmpMeta[0], _info);
4156#line 4156 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4157 }
4158
4159#line 1492 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4160 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4161#line 4161 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4162 _return: OMC_LABEL_UNUSED__attribute__((unused))
4163 return;
4164}
4165void boxptr_NFTypeCheck_printUnresolvableTypeError(threadData_t *threadData, modelica_metatype _exp, modelica_metatype _types, modelica_metatype _info, modelica_metatype _printError)
4166{
4167 modelica_integer tmp1;
4168 tmp1 = mmc_unbox_integer(_printError)(((mmc_sint_t) (_printError)) >> 1);
4169 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _exp, _types, _info, tmp1);
4170 return;
4171}
4172
4173DLLExport
4174modelica_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)
4175{
4176 modelica_metatype _outExp = NULL((void*)0);
4177 modelica_metatype _resultType = NULL((void*)0);
4178 modelica_metatype _e1 = NULL((void*)0);
4179 modelica_metatype _e2 = NULL((void*)0);
4180 modelica_metatype _ty = NULL((void*)0);
4181 modelica_integer _mk;
4182 modelica_boolean _valid;
4183 modelica_integer _o;
4184 modelica_boolean tmp1 = 0;
4185 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4186 MMC_SO()mmc_check_stackoverflow(threadData);
4187 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4188 // _outExp has no default value.
4189 // _resultType has no default value.
4190 // _e1 has no default value.
4191 // _e2 has no default value.
4192 // _ty has no default value.
4193 // _mk has no default value.
4194 // _valid has no default value.
4195 // _o has no default value.
4196#line 1443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4197 if((omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type1)) || omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type2))))
4198#line 1443 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4199 {
4200#line 1445 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4201 _outExp = omc_NFTypeCheck_checkOverloadedBinaryOperator(threadData, _exp1, _type1, (modelica_integer)_var1, _operator, _exp2, _type2, (modelica_integer)_var2, _info ,&_resultType);
4202#line 4202 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4203
4204#line 1446 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4205 goto _return;
4206#line 4206 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4207 }
4208
4209#line 1449 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4210 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _type1, _exp2, _type2, 0 ,&_e2 ,&_ty ,&_mk);
4211#line 4211 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4212
4213#line 1450 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4214 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
4215#line 4215 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4216
4217#line 1452 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4218 _resultType = _OMC_LIT38((void*)((char*)(&(_OMC_LIT_STRUCT38).header) + 3));
4219#line 4219 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4220
4221#line 1453 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4222 tmpMeta[0] = mmc_mk_box4(22, &NFExpression_RELATION__desc, _e1, omc_NFOperator_setType(threadData, _ty, _operator), _e2);
4223#line 1453 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4224 _outExp = tmpMeta[0];
4225#line 4225 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4226
4227#line 4227 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4228 { /* match expression */
4229 modelica_metatype tmp4_1;
4230 tmp4_1 = _ty;
4231 {
4232 int tmp4;
4233 {
4234 switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) >> 2
) & 255))
) {
4235 case 3: {
4236
4237 /* Pattern matching succeeded */
4238#line 1456 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4239 tmp1 = _valid;
4240#line 4240 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4241 goto tmp3_done;
4242 }
4243 case 4: {
4244
4245 /* Pattern matching succeeded */
4246#line 1460 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4247 _o = mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_operator), 3))))(((mmc_sint_t) (((*(void**)(((void*)((void**)(((void*)((char*
)(_operator) - 3))) + (3)))))))) >> 1)
;
4248#line 4248 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4249
4250#line 1461 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4251 if((omc_NFTyping_ExpOrigin_flagNotSet(threadData, _origin, ((modelica_integer) 1)) && (((modelica_integer)_o == 34) || ((modelica_integer)_o == 35))))
4252#line 1461 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4253 {
4254#line 1462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4255 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))));
4256#line 1462 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4257 omc_Error_addStrictMessage(threadData, _OMC_LIT107((void*)((char*)(&(_OMC_LIT_STRUCT107).header) + 3)), tmpMeta[0], _info);
4258#line 4258 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4259 }
4260#line 1465 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4261 tmp1 = _valid;
4262#line 4262 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4263 goto tmp3_done;
4264 }
4265 case 5: {
4266
4267 /* Pattern matching succeeded */
4268#line 1467 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4269 tmp1 = _valid;
4270#line 4270 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4271 goto tmp3_done;
4272 }
4273 case 6: {
4274
4275 /* Pattern matching succeeded */
4276#line 1468 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4277 tmp1 = _valid;
4278#line 4278 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4279 goto tmp3_done;
4280 }
4281 case 8: {
4282
4283 /* Pattern matching succeeded */
4284#line 1469 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4285 tmp1 = _valid;
4286#line 4286 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4287 goto tmp3_done;
4288 }
4289 default:
4290 tmp3_default: OMC_LABEL_UNUSED__attribute__((unused)); {
4291
4292 /* Pattern matching succeeded */
4293#line 1470 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4294 tmp1 = 0;
4295#line 4295 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4296 goto tmp3_done;
4297 }
4298 }
4299 goto tmp3_end;
4300 tmp3_end: ;
4301 }
4302 goto goto_2;
4303 goto_2:;
4304 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4305 goto tmp3_done;
4306 tmp3_done:;
4307 }
4308 }
4309 _valid = tmp1;
4310
4311#line 1473 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4312 if((!_valid))
4313#line 1473 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4314 {
4315#line 1474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4316 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
4317#line 1474 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4318 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _outExp, tmpMeta[0], _info, 1);
4319#line 4319 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4320 }
4321 _return: OMC_LABEL_UNUSED__attribute__((unused))
4322 if (out_resultType) { *out_resultType = _resultType; }
4323 return _outExp;
4324}
4325modelica_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)
4326{
4327 modelica_integer tmp1;
4328 modelica_integer tmp2;
4329 modelica_integer tmp3;
4330 modelica_metatype _outExp = NULL((void*)0);
4331 tmp1 = mmc_unbox_integer(_var1)(((mmc_sint_t) (_var1)) >> 1);
4332 tmp2 = mmc_unbox_integer(_var2)(((mmc_sint_t) (_var2)) >> 1);
4333 tmp3 = mmc_unbox_integer(_origin)(((mmc_sint_t) (_origin)) >> 1);
4334 _outExp = omc_NFTypeCheck_checkRelationOperation(threadData, _exp1, _type1, tmp1, _operator, _exp2, _type2, tmp2, tmp3, _info, out_resultType);
4335 /* skip box _outExp; NFExpression */
4336 /* skip box _resultType; NFType */
4337 return _outExp;
4338}
4339
4340DLLExport
4341modelica_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)
4342{
4343 modelica_metatype _outExp = NULL((void*)0);
4344 modelica_metatype _resultType = NULL((void*)0);
4345 modelica_metatype _e1 = NULL((void*)0);
4346 modelica_metatype _e2 = NULL((void*)0);
4347 modelica_integer _mk;
4348 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4349 MMC_SO()mmc_check_stackoverflow(threadData);
4350 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4351 // _outExp has no default value.
4352 _resultType = _type1;
4353 // _e1 has no default value.
4354 // _e2 has no default value.
4355 // _mk has no default value.
4356#line 1411 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4357 if(omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type1)))
4358#line 1411 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4359 {
4360#line 1412 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4361 _outExp = omc_NFTypeCheck_checkOverloadedUnaryOperator(threadData, _exp1, _type1, (modelica_integer)_var1, _operator, _info ,&_resultType);
4362#line 4362 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4363
4364#line 1413 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4365 goto _return;
4366#line 4366 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4367 }
4368
4369#line 1416 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4370 tmpMeta[0] = mmc_mk_box3(21, &NFExpression_LUNARY__desc, omc_NFOperator_setType(threadData, _type1, _operator), _exp1);
4371#line 1416 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4372 _outExp = tmpMeta[0];
4373#line 4373 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4374
4375#line 1418 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4376 if((!omc_NFType_isBoolean(threadData, omc_NFType_arrayElementType(threadData, _type1))))
4377#line 1418 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4378 {
4379#line 1419 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4380 tmpMeta[0] = mmc_mk_cons(_type1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4381#line 1419 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4382 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _outExp, tmpMeta[0], _info, 1);
4383#line 4383 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4384 }
4385 _return: OMC_LABEL_UNUSED__attribute__((unused))
4386 if (out_resultType) { *out_resultType = _resultType; }
4387 return _outExp;
4388}
4389modelica_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)
4390{
4391 modelica_integer tmp1;
4392 modelica_metatype _outExp = NULL((void*)0);
4393 tmp1 = mmc_unbox_integer(_var1)(((mmc_sint_t) (_var1)) >> 1);
4394 _outExp = omc_NFTypeCheck_checkLogicalUnaryOperation(threadData, _exp1, _type1, tmp1, _operator, _info, out_resultType);
4395 /* skip box _outExp; NFExpression */
4396 /* skip box _resultType; NFType */
4397 return _outExp;
4398}
4399
4400DLLExport
4401modelica_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)
4402{
4403 modelica_metatype _outExp = NULL((void*)0);
4404 modelica_metatype _resultType = NULL((void*)0);
4405 modelica_metatype _e1 = NULL((void*)0);
4406 modelica_metatype _e2 = NULL((void*)0);
4407 modelica_integer _mk;
4408 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4409 MMC_SO()mmc_check_stackoverflow(threadData);
4410 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4411 // _outExp has no default value.
4412 // _resultType has no default value.
4413 // _e1 has no default value.
4414 // _e2 has no default value.
4415 // _mk has no default value.
4416#line 1383 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4417 if((omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type1)) || omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type2))))
4418#line 1383 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4419 {
4420#line 1385 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4421 _outExp = omc_NFTypeCheck_checkOverloadedBinaryOperator(threadData, _exp1, _type1, (modelica_integer)_var1, _operator, _exp2, _type2, (modelica_integer)_var2, _info ,&_resultType);
4422#line 4422 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4423
4424#line 1386 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4425 goto _return;
4426#line 4426 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4427 }
4428
4429#line 1390 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4430 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _type1, _exp2, _type2, 1 ,&_e2 ,&_resultType ,&_mk);
4431#line 4431 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4432
4433#line 1391 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4434 tmpMeta[0] = mmc_mk_box4(20, &NFExpression_LBINARY__desc, _e1, omc_NFOperator_setType(threadData, _resultType, _operator), _e2);
4435#line 1391 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4436 _outExp = tmpMeta[0];
4437#line 4437 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4438
4439#line 1393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4440 if(((!omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk)) || (!omc_NFType_isBoolean(threadData, omc_NFType_arrayElementType(threadData, _resultType)))))
4441#line 1393 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4442 {
4443#line 1395 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4444 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
4445#line 1395 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4446 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _outExp, tmpMeta[0], _info, 1);
4447#line 4447 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4448 }
4449 _return: OMC_LABEL_UNUSED__attribute__((unused))
4450 if (out_resultType) { *out_resultType = _resultType; }
4451 return _outExp;
4452}
4453modelica_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)
4454{
4455 modelica_integer tmp1;
4456 modelica_integer tmp2;
4457 modelica_metatype _outExp = NULL((void*)0);
4458 tmp1 = mmc_unbox_integer(_var1)(((mmc_sint_t) (_var1)) >> 1);
4459 tmp2 = mmc_unbox_integer(_var2)(((mmc_sint_t) (_var2)) >> 1);
4460 _outExp = omc_NFTypeCheck_checkLogicalBinaryOperation(threadData, _exp1, _type1, tmp1, _operator, _exp2, _type2, tmp2, _info, out_resultType);
4461 /* skip box _outExp; NFExpression */
4462 /* skip box _resultType; NFType */
4463 return _outExp;
4464}
4465
4466DLLExport
4467modelica_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)
4468{
4469 modelica_metatype _outExp = NULL((void*)0);
4470 modelica_metatype _outType = NULL((void*)0);
4471 modelica_string _opstr = NULL((void*)0);
4472 modelica_metatype _operfn = NULL((void*)0);
4473 modelica_metatype _node1 = NULL((void*)0);
4474 modelica_metatype _fn_node = NULL((void*)0);
4475 modelica_metatype _fn_ref = NULL((void*)0);
4476 modelica_metatype _candidates = NULL((void*)0);
4477 modelica_boolean _matched;
4478 modelica_metatype _args = NULL((void*)0);
4479 modelica_metatype _matchKind = NULL((void*)0);
4480 modelica_metatype _matchedFunc = NULL((void*)0);
4481 modelica_metatype _matchedFunctions = NULL((void*)0);
4482 modelica_metatype _exactMatches = NULL((void*)0);
4483 modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
4484 MMC_SO()mmc_check_stackoverflow(threadData);
4485 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4486 // _outExp has no default value.
4487 // _outType has no default value.
4488 // _opstr has no default value.
4489 // _operfn has no default value.
4490 // _node1 has no default value.
4491 // _fn_node has no default value.
4492 // _fn_ref has no default value.
4493 // _candidates has no default value.
4494 // _matched has no default value.
4495 // _args has no default value.
4496 // _matchKind has no default value.
4497 // _matchedFunc has no default value.
4498 tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4499 _matchedFunctions = tmpMeta[0];
Value stored to '_matchedFunctions' is never read
4500 // _exactMatches has no default value.
4501#line 1334 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4502 _opstr = omc_NFOperator_symbol(threadData, _inOp, _OMC_LIT108((void*)((char*)(&(_OMC_LIT_STRUCT108).header) + 3)));
4503#line 4503 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4504
4505#line 1335 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4506 _candidates = omc_NFOperatorOverloading_lookupOperatorFunctionsInType(threadData, _opstr, _inType1);
4507#line 4507 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4508
4509#line 1341 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4510 tmpMeta[2] = mmc_mk_box3(0, _inExp1, _inType1, mmc_mk_integermmc_mk_icon((modelica_integer)_var));
4511#line 1341 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4512 tmpMeta[1] = mmc_mk_cons(tmpMeta[2], MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4513#line 1341 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4514 _args = tmpMeta[1];
4515#line 4515 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4516
4517#line 1342 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4518 tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4519#line 1342 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4520 _matchedFunctions = omc_NFFunction_Function_matchFunctionsSilent(threadData, _candidates, _args, tmpMeta[1], _info, 0);
4521#line 4521 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4522
4523#line 1345 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4524 _exactMatches = omc_NFFunction_MatchedFunction_getExactMatches(threadData, _matchedFunctions);
4525#line 4525 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4526
4527#line 1346 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4528 if(listEmpty(_exactMatches)((*(mmc_uint_t*)((void*)((char*)(_exactMatches) - 3))) == (((
0) << 10) + (((0) & 255) << 2)))
)
4529#line 1346 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4530 {
4531#line 1347 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4532 tmpMeta[1] = mmc_mk_box3(19, &NFExpression_UNARY__desc, _inOp, _inExp1);
4533#line 1347 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4534 tmpMeta[2] = mmc_mk_cons(_inType1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4535#line 1347 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4536 omc_NFTypeCheck_printUnresolvableTypeError(threadData, tmpMeta[1], tmpMeta[2], _info, 1);
4537#line 4537 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4538
4539#line 1348 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4540 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4541#line 4541 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4542 }
4543
4544#line 1351 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4545 if((listLength(_exactMatches) == ((modelica_integer) 1)))
4546#line 1351 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4547 {
4548#line 1352 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4549 /* Pattern-matching assignment */
4550#line 1352 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4551 tmpMeta[1] = _exactMatches;
4552#line 1352 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4553 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);};
4554#line 1352 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4555 tmpMeta[2] = MMC_CAR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (1)))))
;
4556#line 1352 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4557 tmpMeta[3] = MMC_CDR(tmpMeta[1])(*(void**)(((void*)((void**)(((void*)((char*)(tmpMeta[1]) - 3
))) + (2)))))
;
4558#line 1352 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4559 _matchedFunc = tmpMeta[2];
4560#line 4560 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4561
4562#line 1353 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4563 _outType = omc_NFFunction_Function_returnType(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_matchedFunc), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_matchedFunc) -
3))) + (2)))))
));
4564#line 4564 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4565
4566#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4567 {
4568#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4569 modelica_metatype _D_24tmpVar3;
4570#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4571 modelica_metatype* tmp1;
4572#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4573 modelica_metatype _D_24tmpVar2;
4574#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4575 int tmp2;
4576#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4577 modelica_metatype _a_loopVar = 0;
4578#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4579 modelica_metatype _a;
4580#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4581 _a_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_matchedFunc), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_matchedFunc) -
3))) + (3)))))
);
4582#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4583 tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4584#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4585 _D_24tmpVar3 = tmpMeta[2]; /* defaultValue */
4586#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4587 tmp1 = &_D_24tmpVar3;
4588#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4589 while(1) {
4590#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4591 tmp2 = 1;
4592#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4593 if (!listEmpty(_a_loopVar)((*(mmc_uint_t*)((void*)((char*)(_a_loopVar) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) {
4594#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4595 _a = MMC_CAR(_a_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_a_loopVar) - 3
))) + (1)))))
;
4596#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4597 _a_loopVar = MMC_CDR(_a_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_a_loopVar) - 3
))) + (2)))))
;
4598#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4599 tmp2--;
4600#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4601 }
4602#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4603 if (tmp2 == 0) {
4604#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4605 _D_24tmpVar2 = omc_Util_tuple31(threadData, _a);
4606#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4607 *tmp1 = mmc_mk_cons(_D_24tmpVar2,0);
4608#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4609 tmp1 = &MMC_CDR(*tmp1)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp1) - 3))) +
(2)))))
;
4610#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4611 } else if (tmp2 == 1) {
4612#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4613 break;
4614#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4615 } else {
4616#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4617 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4618#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4619 }
4620#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4621 }
4622#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4623 *tmp1 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
4624#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4625 tmpMeta[1] = _D_24tmpVar3;
4626#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4627 }
4628#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4629 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));
4630#line 1354 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4631 _outExp = tmpMeta[3];
4632#line 4632 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4633 }
4634 else
4635 {
4636#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4637 tmpMeta[2] = mmc_mk_box3(19, &NFExpression_UNARY__desc, _inOp, _inExp1);
4638#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4639 {
4640#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4641 modelica_metatype _D_24tmpVar7;
4642#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4643 modelica_metatype* tmp3;
4644#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4645 modelica_metatype _D_24tmpVar6;
4646#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4647 int tmp4;
4648#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4649 modelica_metatype _mfn_loopVar = 0;
4650#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4651 modelica_metatype _mfn;
4652#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4653 _mfn_loopVar = _matchedFunctions;
4654#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4655 tmpMeta[4] = MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3));
4656#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4657 _D_24tmpVar7 = tmpMeta[4]; /* defaultValue */
4658#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4659 tmp3 = &_D_24tmpVar7;
4660#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4661 while(1) {
4662#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4663 tmp4 = 1;
4664#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4665 if (!listEmpty(_mfn_loopVar)((*(mmc_uint_t*)((void*)((char*)(_mfn_loopVar) - 3))) == (((0
) << 10) + (((0) & 255) << 2)))
) {
4666#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4667 _mfn = MMC_CAR(_mfn_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_mfn_loopVar) -
3))) + (1)))))
;
4668#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4669 _mfn_loopVar = MMC_CDR(_mfn_loopVar)(*(void**)(((void*)((void**)(((void*)((char*)(_mfn_loopVar) -
3))) + (2)))))
;
4670#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4671 tmp4--;
4672#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4673 }
4674#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4675 if (tmp4 == 0) {
4676#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4677 _D_24tmpVar6 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_mfn), 2))(*(void**)(((void*)((void**)(((void*)((char*)(_mfn) - 3))) + (
2)))))
);
4678#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4679 *tmp3 = mmc_mk_cons(_D_24tmpVar6,0);
4680#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4681 tmp3 = &MMC_CDR(*tmp3)(*(void**)(((void*)((void**)(((void*)((char*)(*tmp3) - 3))) +
(2)))))
;
4682#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4683 } else if (tmp4 == 1) {
4684#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4685 break;
4686#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4687 } else {
4688#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4689 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4690#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4691 }
4692#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4693 }
4694#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4695 *tmp3 = mmc_mk_nil()((void*)((char*)(&(mmc_nil).header) + 3));
4696#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4697 tmpMeta[3] = _D_24tmpVar7;
4698#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4699 }
4700#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4701 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))));
4702#line 1361 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4703 omc_Error_addSourceMessage(threadData, _OMC_LIT111((void*)((char*)(&(_OMC_LIT_STRUCT111).header) + 3)), tmpMeta[1], _info);
4704#line 4704 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4705
4706#line 1364 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4707 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4708#line 4708 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4709 }
4710 _return: OMC_LABEL_UNUSED__attribute__((unused))
4711 if (out_outType) { *out_outType = _outType; }
4712 return _outExp;
4713}
4714modelica_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)
4715{
4716 modelica_integer tmp1;
4717 modelica_metatype _outExp = NULL((void*)0);
4718 tmp1 = mmc_unbox_integer(_var)(((mmc_sint_t) (_var)) >> 1);
4719 _outExp = omc_NFTypeCheck_checkOverloadedUnaryOperator(threadData, _inExp1, _inType1, tmp1, _inOp, _info, out_outType);
4720 /* skip box _outExp; NFExpression */
4721 /* skip box _outType; NFType */
4722 return _outExp;
4723}
4724
4725DLLExport
4726modelica_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)
4727{
4728 modelica_metatype _unaryExp = NULL((void*)0);
4729 modelica_metatype _unaryType = NULL((void*)0);
4730 modelica_boolean _valid;
4731 modelica_metatype _op = NULL((void*)0);
4732 modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4733 MMC_SO()mmc_check_stackoverflow(threadData);
4734 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4735 // _unaryExp has no default value.
4736 // _unaryType has no default value.
4737 _valid = 1;
4738 // _op has no default value.
4739#line 1296 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4740 if(omc_NFType_isComplex(threadData, omc_NFType_arrayElementType(threadData, _type1)))
4741#line 1296 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4742 {
4743#line 1297 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4744 _unaryExp = omc_NFTypeCheck_checkOverloadedUnaryOperator(threadData, _exp1, _type1, (modelica_integer)_var1, _operator, _info ,&_unaryType);
4745#line 4745 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4746
4747#line 1298 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4748 goto _return;
4749#line 4749 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4750 }
4751
4752#line 1301 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4753 _unaryType = _type1;
4754#line 4754 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4755
4756#line 1302 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4757 _op = omc_NFOperator_setType(threadData, _unaryType, _operator);
4758#line 4758 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4759
4760#line 4760 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4761 { /* match expression */
4762 modelica_metatype tmp3_1;
4763 tmp3_1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_operator), 3))(*(void**)(((void*)((void**)(((void*)((char*)(_operator) - 3)
)) + (3)))))
);
4764 {
4765 volatile mmc_switch_type tmp3;
4766 int tmp4;
4767 tmp3 = 0;
4768 for (; tmp3 < 2; tmp3++) {
4769 switch (MMC_SWITCH_CAST(tmp3)(tmp3)) {
4770 case 0: {
4771 modelica_integer tmp5;
4772 tmp5 = mmc_unbox_integer(tmp3_1)(((mmc_sint_t) (tmp3_1)) >> 1);
4773 if (1 != tmp5) goto tmp2_end;
4774 /* Pattern matching succeeded */
4775#line 1305 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4776 tmpMeta[0] = _exp1;
4777#line 4777 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4778 goto tmp2_done;
4779 }
4780 case 1: {
4781
4782 /* Pattern matching succeeded */
4783#line 1306 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4784 tmpMeta[1] = mmc_mk_box3(19, &NFExpression_UNARY__desc, _op, _exp1);
4785#line 1306 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4786 tmpMeta[0] = tmpMeta[1];
4787#line 4787 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4788 goto tmp2_done;
4789 }
4790 }
4791 goto tmp2_end;
4792 tmp2_end: ;
4793 }
4794 goto goto_1;
4795 goto_1:;
4796 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4797 goto tmp2_done;
4798 tmp2_done:;
4799 }
4800 }
4801 _unaryExp = tmpMeta[0];
4802
4803#line 1309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4804 if((!omc_NFType_isNumeric(threadData, _type1)))
4805#line 1309 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4806 {
4807#line 1310 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4808 tmpMeta[0] = mmc_mk_cons(_type1, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3)));
4809#line 1310 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4810 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _unaryExp, tmpMeta[0], _info, 1);
4811#line 4811 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4812 }
4813 _return: OMC_LABEL_UNUSED__attribute__((unused))
4814 if (out_unaryType) { *out_unaryType = _unaryType; }
4815 return _unaryExp;
4816}
4817modelica_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)
4818{
4819 modelica_integer tmp1;
4820 modelica_metatype _unaryExp = NULL((void*)0);
4821 tmp1 = mmc_unbox_integer(_var1)(((mmc_sint_t) (_var1)) >> 1);
4822 _unaryExp = omc_NFTypeCheck_checkUnaryOperation(threadData, _exp1, _type1, tmp1, _operator, _info, out_unaryType);
4823 /* skip box _unaryExp; NFExpression */
4824 /* skip box _unaryType; NFType */
4825 return _unaryExp;
4826}
4827
4828PROTECTED_FUNCTION_STATIC modelica_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)
4829{
4830 modelica_metatype _binaryExp = NULL((void*)0);
4831 modelica_metatype _resultType = NULL((void*)0);
4832 modelica_metatype _e1 = NULL((void*)0);
4833 modelica_metatype _e2 = NULL((void*)0);
4834 modelica_metatype _ty1 = NULL((void*)0);
4835 modelica_metatype _ty2 = NULL((void*)0);
4836 modelica_integer _mk;
4837 modelica_boolean _valid;
4838 modelica_boolean _is_arr1;
4839 modelica_boolean _is_arr2;
4840 modelica_metatype _op = NULL((void*)0);
4841 modelica_boolean tmp1 = 0;
4842 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4843 MMC_SO()mmc_check_stackoverflow(threadData);
4844 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
4845 // _binaryExp has no default value.
4846 // _resultType has no default value.
4847 // _e1 has no default value.
4848 // _e2 has no default value.
4849 // _ty1 has no default value.
4850 // _ty2 has no default value.
4851 // _mk has no default value.
4852 // _valid has no default value.
4853 // _is_arr1 has no default value.
4854 // _is_arr2 has no default value.
4855 // _op has no default value.
4856#line 1233 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4857 _is_arr1 = omc_NFType_isArray(threadData, _type1);
4858#line 4858 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4859
4860#line 1234 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4861 _is_arr2 = omc_NFType_isArray(threadData, _type2);
4862#line 4862 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4863
4864#line 1236 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4865 if((_is_arr1 && _is_arr2))
4866#line 1236 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4867 {
4868#line 1238 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4869 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _type1, _exp2, _type2, 1 ,&_e2 ,&_resultType ,&_mk);
4870#line 4870 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4871 }
4872 else
4873 {
4874#line 1241 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4875 _ty1 = omc_NFType_arrayElementType(threadData, _type1);
4876#line 4876 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4877
4878#line 1242 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4879 _ty2 = omc_NFType_arrayElementType(threadData, _type2);
4880#line 4880 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4881
4882#line 1243 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4883 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _ty1, _exp2, _ty2, 1 ,&_e2 ,&_resultType ,&_mk);
4884#line 4884 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4885 }
4886
4887#line 1246 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4888 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
4889#line 4889 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4890
4891#line 4891 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4892 { /* match expression */
4893 modelica_metatype tmp4_1;modelica_integer tmp4_2;
4894 tmp4_1 = omc_NFType_arrayElementType(threadData, _resultType);
4895 tmp4_2 = (modelica_integer)_elemOp;
4896 {
4897 volatile mmc_switch_type tmp4;
4898 int tmp5;
4899 tmp4 = 0;
4900 for (; tmp4 < 4; tmp4++) {
4901 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
4902 case 0: {
4903 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;
4904
4905 /* Pattern matching succeeded */
4906#line 1250 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4907 tmp1 = _valid;
4908#line 4908 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4909 goto tmp3_done;
4910 }
4911 case 1: {
4912 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;
4913
4914 /* Pattern matching succeeded */
4915#line 1251 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4916 tmp1 = _valid;
4917#line 4917 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4918 goto tmp3_done;
4919 }
4920 case 2: {
4921 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;
4922 if (1 != tmp4_2) goto tmp3_end;
4923 /* Pattern matching succeeded */
4924#line 1252 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4925 tmp1 = _valid;
4926#line 4926 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4927 goto tmp3_done;
4928 }
4929 case 3: {
4930
4931 /* Pattern matching succeeded */
4932#line 1253 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4933 tmp1 = 0;
4934#line 4934 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4935 goto tmp3_done;
4936 }
4937 }
4938 goto tmp3_end;
4939 tmp3_end: ;
4940 }
4941 goto goto_2;
4942 goto_2:;
4943 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
4944 goto tmp3_done;
4945 tmp3_done:;
4946 }
4947 }
4948 _valid = tmp1;
4949
4950#line 1256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4951
4952#line 1256 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4953
4954#line 4954 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4955 { /* match expression */
4956 modelica_boolean tmp9_1;modelica_boolean tmp9_2;
4957 tmp9_1 = _is_arr1;
4958 tmp9_2 = _is_arr2;
4959 {
4960 volatile mmc_switch_type tmp9;
4961 int tmp10;
4962 tmp9 = 0;
4963 for (; tmp9 < 3; tmp9++) {
4964 switch (MMC_SWITCH_CAST(tmp9)(tmp9)) {
4965 case 0: {
4966 if (1 != tmp9_1) goto tmp8_end;
4967 if (0 != tmp9_2) goto tmp8_end;
4968 /* Pattern matching succeeded */
4969#line 1260 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4970 _resultType = omc_NFType_copyDims(threadData, _type1, _resultType);
4971#line 4971 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4972
4973#line 1261 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4974 _op = omc_NFOperator_makeArrayScalar(threadData, _resultType, (modelica_integer)_elemOp);
4975#line 4975 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4976#line 1262 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4977 tmpMeta[0+0] = _resultType;
4978#line 1262 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4979 tmpMeta[0+1] = _op;
4980#line 4980 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4981 goto tmp8_done;
4982 }
4983 case 1: {
4984 if (0 != tmp9_1) goto tmp8_end;
4985 if (1 != tmp9_2) goto tmp8_end;
4986 /* Pattern matching succeeded */
4987#line 1268 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4988 _resultType = omc_NFType_copyDims(threadData, _type2, _resultType);
4989#line 4989 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4990
4991#line 1269 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4992 _op = omc_NFOperator_makeScalarArray(threadData, _resultType, (modelica_integer)_elemOp);
4993#line 4993 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4994#line 1270 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4995 tmpMeta[0+0] = _resultType;
4996#line 1270 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
4997 tmpMeta[0+1] = _op;
4998#line 4998 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
4999 goto tmp8_done;
5000 }
5001 case 2: {
5002
5003 /* Pattern matching succeeded */
5004#line 1274 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5005 tmpMeta[2] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _resultType, mmc_mk_integermmc_mk_icon((modelica_integer)_elemOp));
5006#line 1274 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5007 tmpMeta[0+0] = _resultType;
5008#line 1274 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5009 tmpMeta[0+1] = tmpMeta[2];
5010#line 5010 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5011 goto tmp8_done;
5012 }
5013 }
5014 goto tmp8_end;
5015 tmp8_end: ;
5016 }
5017 goto goto_7;
5018 goto_7:;
5019 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5020 goto tmp8_done;
5021 tmp8_done:;
5022 }
5023 }
5024 _resultType = tmpMeta[0+0];
5025 _op = tmpMeta[0+1];
5026
5027#line 1277 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5028 tmpMeta[0] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, _op, _e2);
5029#line 1277 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5030 _binaryExp = tmpMeta[0];
5031#line 5031 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5032
5033#line 1279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5034 if((!_valid))
5035#line 1279 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5036 {
5037#line 1280 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5038 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
5039#line 1280 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5040 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _binaryExp, tmpMeta[0], _info, 1);
5041#line 5041 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5042 }
5043 _return: OMC_LABEL_UNUSED__attribute__((unused))
5044 if (out_resultType) { *out_resultType = _resultType; }
5045 return _binaryExp;
5046}
5047PROTECTED_FUNCTION_STATIC modelica_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)
5048{
5049 modelica_integer tmp1;
5050 modelica_metatype _binaryExp = NULL((void*)0);
5051 tmp1 = mmc_unbox_integer(_elemOp)(((mmc_sint_t) (_elemOp)) >> 1);
5052 _binaryExp = omc_NFTypeCheck_checkBinaryOperationEW(threadData, _exp1, _type1, _exp2, _type2, tmp1, _info, out_resultType);
5053 /* skip box _binaryExp; NFExpression */
5054 /* skip box _resultType; NFType */
5055 return _binaryExp;
5056}
5057
5058PROTECTED_FUNCTION_STATIC modelica_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)
5059{
5060 modelica_metatype _binaryExp = NULL((void*)0);
5061 modelica_metatype _resultType = NULL((void*)0);
5062 modelica_metatype _e1 = NULL((void*)0);
5063 modelica_metatype _e2 = NULL((void*)0);
5064 modelica_metatype _ty1 = NULL((void*)0);
5065 modelica_metatype _ty2 = NULL((void*)0);
5066 modelica_integer _mk;
5067 modelica_boolean _valid;
5068 modelica_metatype _op = NULL((void*)0);
5069 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
5070 MMC_SO()mmc_check_stackoverflow(threadData);
5071 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5072 // _binaryExp has no default value.
5073 // _resultType has no default value.
5074 // _e1 has no default value.
5075 // _e2 has no default value.
5076 // _ty1 has no default value.
5077 // _ty2 has no default value.
5078 // _mk has no default value.
5079 // _valid has no default value.
5080 // _op has no default value.
5081#line 1188 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5082 _e1 = omc_NFTypeCheck_matchTypes(threadData, _type1, omc_NFType_setArrayElementType(threadData, _type1, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _exp1, 1 ,&_ty1 ,&_mk);
5083#line 5083 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5084
5085#line 1189 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5086 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
5087#line 5087 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5088
5089#line 1190 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5090 _e2 = omc_NFTypeCheck_matchTypes(threadData, _type2, omc_NFType_setArrayElementType(threadData, _type2, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _exp2, 1 ,&_ty2 ,&_mk);
5091#line 5091 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5092
5093#line 1191 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5094 _valid = (_valid && omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk));
5095#line 5095 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5096
5097#line 1193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5098
5099#line 1193 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5100
5101#line 5101 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5102 { /* match expression */
5103 modelica_boolean tmp4_1;modelica_boolean tmp4_2;
5104 tmp4_1 = omc_NFType_isArray(threadData, _ty1);
5105 tmp4_2 = omc_NFType_isArray(threadData, _ty2);
5106 {
5107 volatile mmc_switch_type tmp4;
5108 int tmp5;
5109 tmp4 = 0;
5110 for (; tmp4 < 4; tmp4++) {
5111 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
5112 case 0: {
5113 if (0 != tmp4_1) goto tmp3_end;
5114 if (0 != tmp4_2) goto tmp3_end;
5115 /* Pattern matching succeeded */
5116#line 1195 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5117 tmpMeta[0+0] = _ty1;
5118#line 1195 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5119 tmpMeta[0+1] = omc_NFOperator_makePow(threadData, _ty1);
5120#line 5120 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5121 goto tmp3_done;
5122 }
5123 case 1: {
5124 if (0 != tmp4_2) goto tmp3_end;
5125
5126 /* Pattern matching succeeded */
5127#line 1197 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5128 tmpMeta[2] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _ty1, mmc_mk_integermmc_mk_icon(24));
5129#line 1197 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5130 tmpMeta[0+0] = _ty1;
5131#line 1197 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5132 tmpMeta[0+1] = tmpMeta[2];
5133#line 5133 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5134 goto tmp3_done;
5135 }
5136 case 2: {
5137 if (0 != tmp4_1) goto tmp3_end;
5138
5139 /* Pattern matching succeeded */
5140#line 1199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5141 tmpMeta[2] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _ty2, mmc_mk_integermmc_mk_icon(23));
5142#line 1199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5143 tmpMeta[0+0] = _ty2;
5144#line 1199 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5145 tmpMeta[0+1] = tmpMeta[2];
5146#line 5146 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5147 goto tmp3_done;
5148 }
5149 case 3: {
5150
5151 /* Pattern matching succeeded */
5152#line 1204 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5153 omc_NFTypeCheck_matchArrayTypes(threadData, _ty1, _ty2, _e1, 1 ,NULL((void*)0) ,&_mk);
5154#line 5154 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5155
5156#line 1205 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5157 _valid = (_valid && omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk));
5158#line 5158 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5159#line 1206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5160 tmpMeta[0+0] = _ty1;
5161#line 1206 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5162 tmpMeta[0+1] = omc_NFOperator_makePow(threadData, _ty1);
5163#line 5163 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5164 goto tmp3_done;
5165 }
5166 }
5167 goto tmp3_end;
5168 tmp3_end: ;
5169 }
5170 goto goto_2;
5171 goto_2:;
5172 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5173 goto tmp3_done;
5174 tmp3_done:;
5175 }
5176 }
5177 _resultType = tmpMeta[0+0];
5178 _op = tmpMeta[0+1];
5179
5180#line 1210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5181 tmpMeta[0] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, _op, _e2);
5182#line 1210 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5183 _binaryExp = tmpMeta[0];
5184#line 5184 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5185
5186#line 1212 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5187 if((!_valid))
5188#line 1212 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5189 {
5190#line 1213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5191 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
5192#line 1213 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5193 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _binaryExp, tmpMeta[0], _info, 1);
5194#line 5194 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5195 }
5196 _return: OMC_LABEL_UNUSED__attribute__((unused))
5197 if (out_resultType) { *out_resultType = _resultType; }
5198 return _binaryExp;
5199}
5200
5201PROTECTED_FUNCTION_STATIC modelica_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)
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_integer _mk;
5208 modelica_boolean _valid;
5209 modelica_metatype _op = NULL((void*)0);
5210 modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
5211 MMC_SO()mmc_check_stackoverflow(threadData);
5212 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5213 // _binaryExp has no default value.
5214 // _resultType has no default value.
5215 // _e1 has no default value.
5216 // _e2 has no default value.
5217 // _mk has no default value.
5218 // _valid has no default value.
5219 // _op has no default value.
5220#line 1148 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5221 _e1 = omc_NFTypeCheck_matchTypes(threadData, _type1, omc_NFType_setArrayElementType(threadData, _type1, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _exp1, 1 ,&_resultType ,&_mk);
5222#line 5222 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5223
5224#line 1149 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5225 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
5226#line 5226 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5227
5228#line 1151 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5229 if(omc_NFType_isArray(threadData, _resultType))
5230#line 1151 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5231 {
5232#line 1153 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5233 _valid = (_valid && omc_NFType_isSquareMatrix(threadData, _resultType));
5234#line 5234 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5235
5236#line 1154 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5237 _valid = (_valid && omc_NFType_isInteger(threadData, _type2));
5238#line 5238 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5239
5240#line 1155 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5241 tmpMeta[0] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _resultType, mmc_mk_integermmc_mk_icon(25));
5242#line 1155 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5243 _op = tmpMeta[0];
5244#line 5244 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5245
5246#line 1156 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5247 _e2 = _exp2;
5248#line 5248 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5249 }
5250 else
5251 {
5252#line 1159 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5253 _e2 = omc_NFTypeCheck_matchTypes(threadData, _type2, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3)), _exp2, 1 ,NULL((void*)0) ,&_mk);
5254#line 5254 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5255
5256#line 1160 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5257 _valid = (_valid && omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk));
5258#line 5258 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5259
5260#line 1161 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5261 tmpMeta[0] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _resultType, mmc_mk_integermmc_mk_icon(5));
5262#line 1161 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5263 _op = tmpMeta[0];
5264#line 5264 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5265 }
5266
5267#line 1164 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5268 tmpMeta[0] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, _op, _e2);
5269#line 1164 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5270 _binaryExp = tmpMeta[0];
5271#line 5271 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5272
5273#line 1166 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5274 if((!_valid))
5275#line 1166 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5276 {
5277#line 1167 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5278 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
5279#line 1167 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5280 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _binaryExp, tmpMeta[0], _info, 1);
5281#line 5281 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5282 }
5283 _return: OMC_LABEL_UNUSED__attribute__((unused))
5284 if (out_resultType) { *out_resultType = _resultType; }
5285 return _binaryExp;
5286}
5287
5288PROTECTED_FUNCTION_STATIC modelica_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)
5289{
5290 modelica_metatype _binaryExp = NULL((void*)0);
5291 modelica_metatype _resultType = NULL((void*)0);
5292 modelica_metatype _e1 = NULL((void*)0);
5293 modelica_metatype _e2 = NULL((void*)0);
5294 modelica_metatype _ty1 = NULL((void*)0);
5295 modelica_metatype _ty2 = NULL((void*)0);
5296 modelica_integer _mk;
5297 modelica_boolean _valid;
5298 modelica_metatype _op = NULL((void*)0);
5299 modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
5300 MMC_SO()mmc_check_stackoverflow(threadData);
5301 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5302 // _binaryExp has no default value.
5303 // _resultType has no default value.
5304 // _e1 has no default value.
5305 // _e2 has no default value.
5306 // _ty1 has no default value.
5307 // _ty2 has no default value.
5308 // _mk has no default value.
5309 // _valid has no default value.
5310 // _op has no default value.
5311#line 1094 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5312 _e1 = omc_NFTypeCheck_matchTypes(threadData, _type1, omc_NFType_setArrayElementType(threadData, _type1, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _exp1, 1 ,&_ty1 ,&_mk);
5313#line 5313 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5314
5315#line 1095 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5316 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
5317#line 5317 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5318
5319#line 1096 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5320 _e2 = omc_NFTypeCheck_matchTypes(threadData, _type2, omc_NFType_setArrayElementType(threadData, _type2, _OMC_LIT44((void*)((char*)(&(_OMC_LIT_STRUCT44).header) + 3))), _exp2, 1 ,&_ty2 ,&_mk);
5321#line 5321 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5322
5323#line 1097 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5324 _valid = (_valid && omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk));
5325#line 5325 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5326
5327#line 1101 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5328
5329#line 1101 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5330
5331#line 5331 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5332 { /* match expression */
5333 modelica_boolean tmp4_1;modelica_boolean tmp4_2;modelica_boolean tmp4_3;
5334 tmp4_1 = omc_NFType_isArray(threadData, _ty1);
5335 tmp4_2 = omc_NFType_isArray(threadData, _ty2);
5336 tmp4_3 = _isElementWise;
5337 {
5338 volatile mmc_switch_type tmp4;
5339 int tmp5;
5340 tmp4 = 0;
5341 for (; tmp4 < 5; tmp4++) {
5342 switch (MMC_SWITCH_CAST(tmp4)(tmp4)) {
5343 case 0: {
5344 if (0 != tmp4_1) goto tmp3_end;
5345 if (0 != tmp4_2) goto tmp3_end;
5346
5347 /* Pattern matching succeeded */
5348#line 1103 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5349 tmpMeta[0+0] = _ty1;
5350#line 1103 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5351 tmpMeta[0+1] = omc_NFOperator_makeDiv(threadData, _ty1);
5352#line 5352 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5353 goto tmp3_done;
5354 }
5355 case 1: {
5356 if (0 != tmp4_2) goto tmp3_end;
5357
5358 /* Pattern matching succeeded */
5359#line 1105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5360 tmpMeta[2] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _ty1, mmc_mk_integermmc_mk_icon(22));
5361#line 1105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5362 tmpMeta[0+0] = _ty1;
5363#line 1105 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5364 tmpMeta[0+1] = tmpMeta[2];
5365#line 5365 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5366 goto tmp3_done;
5367 }
5368 case 2: {
5369 if (0 != tmp4_1) goto tmp3_end;
5370 if (1 != tmp4_3) goto tmp3_end;
5371
5372 /* Pattern matching succeeded */
5373#line 1107 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5374 tmpMeta[2] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, _ty2, mmc_mk_integermmc_mk_icon(21));
5375#line 1107 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5376 tmpMeta[0+0] = _ty2;
5377#line 1107 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5378 tmpMeta[0+1] = tmpMeta[2];
5379#line 5379 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5380 goto tmp3_done;
5381 }
5382 case 3: {
5383 if (1 != tmp4_1) goto tmp3_end;
5384 if (1 != tmp4_3) goto tmp3_end;
5385
5386 /* Pattern matching succeeded */
5387#line 1113 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5388 omc_NFTypeCheck_matchArrayTypes(threadData, _ty1, _ty2, _e1, 1 ,NULL((void*)0) ,&_mk);
5389#line 5389 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5390
5391#line 1114 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5392 _valid = (_valid && omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk));
5393#line 5393 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5394#line 1115 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5395 tmpMeta[0+0] = _ty1;
5396#line 1115 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5397 tmpMeta[0+1] = omc_NFOperator_makeDiv(threadData, _ty1);
5398#line 5398 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5399 goto tmp3_done;
5400 }
5401 case 4: {
5402
5403 /* Pattern matching succeeded */
5404#line 1121 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5405 _valid = 0;
5406#line 5406 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5407#line 1122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5408 tmpMeta[0+0] = _ty1;
5409#line 1122 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5410 tmpMeta[0+1] = omc_NFOperator_makeDiv(threadData, _ty1);
5411#line 5411 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5412 goto tmp3_done;
5413 }
5414 }
5415 goto tmp3_end;
5416 tmp3_end: ;
5417 }
5418 goto goto_2;
5419 goto_2:;
5420 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5421 goto tmp3_done;
5422 tmp3_done:;
5423 }
5424 }
5425 _resultType = tmpMeta[0+0];
5426 _op = tmpMeta[0+1];
5427
5428#line 1126 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5429 tmpMeta[0] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, _op, _e2);
5430#line 1126 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5431 _binaryExp = tmpMeta[0];
5432#line 5432 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5433
5434#line 1128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5435 if((!_valid))
5436#line 1128 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5437 {
5438#line 1129 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5439 tmpMeta[0] = mmc_mk_cons(_type1, mmc_mk_cons(_type2, MMC_REFSTRUCTLIT(mmc_nil)((void*)((char*)(&(mmc_nil).header) + 3))));
5440#line 1129 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5441 omc_NFTypeCheck_printUnresolvableTypeError(threadData, _binaryExp, tmpMeta[0], _info, 1);
5442#line 5442 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5443 }
5444 _return: OMC_LABEL_UNUSED__attribute__((unused))
5445 if (out_resultType) { *out_resultType = _resultType; }
5446 return _binaryExp;
5447}
5448PROTECTED_FUNCTION_STATIC modelica_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)
5449{
5450 modelica_integer tmp1;
5451 modelica_metatype _binaryExp = NULL((void*)0);
5452 tmp1 = mmc_unbox_integer(_isElementWise)(((mmc_sint_t) (_isElementWise)) >> 1);
5453 _binaryExp = omc_NFTypeCheck_checkBinaryOperationDiv(threadData, _exp1, _type1, _exp2, _type2, _info, tmp1, out_resultType);
5454 /* skip box _binaryExp; NFExpression */
5455 /* skip box _resultType; NFType */
5456 return _binaryExp;
5457}
5458
5459PROTECTED_FUNCTION_STATIC modelica_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)
5460{
5461 modelica_metatype _binaryExp = NULL((void*)0);
5462 modelica_metatype _resultType = NULL((void*)0);
5463 modelica_metatype _e1 = NULL((void*)0);
5464 modelica_metatype _e2 = NULL((void*)0);
5465 modelica_metatype _ty1 = NULL((void*)0);
5466 modelica_metatype _ty2 = NULL((void*)0);
5467 modelica_metatype _dims1 = NULL((void*)0);
5468 modelica_metatype _dims2 = NULL((void*)0);
5469 modelica_metatype _dim11 = NULL((void*)0);
5470 modelica_metatype _dim12 = NULL((void*)0);
5471 modelica_metatype _dim21 = NULL((void*)0);
5472 modelica_metatype _dim22 = NULL((void*)0);
5473 modelica_integer _mk;
5474 modelica_integer _op;
5475 modelica_boolean _valid;
5476 modelica_boolean tmp1 = 0;
5477 modelica_integer tmp5_c1 __attribute__((unused)) = 0;
5478 modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
5479 MMC_SO()mmc_check_stackoverflow(threadData);
5480 _tailrecursive: OMC_LABEL_UNUSED__attribute__((unused))
5481 // _binaryExp has no default value.
5482 // _resultType has no default value.
5483 // _e1 has no default value.
5484 // _e2 has no default value.
5485 // _ty1 has no default value.
5486 // _ty2 has no default value.
5487 // _dims1 has no default value.
5488 // _dims2 has no default value.
5489 // _dim11 has no default value.
5490 // _dim12 has no default value.
5491 // _dim21 has no default value.
5492 // _dim22 has no default value.
5493 // _mk has no default value.
5494 // _op has no default value.
5495 // _valid has no default value.
5496#line 1013 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5497 _ty1 = omc_NFType_arrayElementType(threadData, _type1);
5498#line 5498 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5499
5500#line 1014 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5501 _ty2 = omc_NFType_arrayElementType(threadData, _type2);
5502#line 5502 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5503
5504#line 1015 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5505 _e1 = omc_NFTypeCheck_matchExpressions(threadData, _exp1, _ty1, _exp2, _ty2, 1 ,&_e2 ,&_resultType ,&_mk);
5506#line 5506 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5507
5508#line 1016 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5509 _valid = omc_NFTypeCheck_isCompatibleMatch(threadData, (modelica_integer)_mk);
5510#line 5510 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5511
5512#line 5512 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5513 { /* match expression */
5514 modelica_metatype tmp4_1;
5515 tmp4_1 = _resultType;
5516 {
5517 int tmp4;
5518 {
5519 switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))(((((*(mmc_uint_t*)((void*)((char*)(tmp4_1) - 3)))) >> 2
) & 255))
) {
5520 case 3: {
5521
5522 /* Pattern matching succeeded */
5523#line 1019 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5524 tmp1 = _valid;
5525#line 5525 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5526 goto tmp3_done;
5527 }
5528 case 4: {
5529
5530 /* Pattern matching succeeded */
5531#line 1020 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5532 tmp1 = _valid;
5533#line 5533 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5534 goto tmp3_done;
5535 }
5536 default:
5537 tmp3_default: OMC_LABEL_UNUSED__attribute__((unused)); {
5538
5539 /* Pattern matching succeeded */
5540#line 1021 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5541 tmp1 = 0;
5542#line 5542 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5543 goto tmp3_done;
5544 }
5545 }
5546 goto tmp3_end;
5547 tmp3_end: ;
5548 }
5549 goto goto_2;
5550 goto_2:;
5551 MMC_THROW_INTERNAL(){longjmp(*threadData->mmc_jumper,1);};
5552 goto tmp3_done;
5553 tmp3_done:;
5554 }
5555 }
5556 _valid = tmp1;
5557
5558#line 1024 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5559 _dims1 = omc_NFType_arrayDims(threadData, _type1);
5560#line 5560 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5561
5562#line 1025 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5563 _dims2 = omc_NFType_arrayDims(threadData, _type2);
5564#line 5564 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5565
5566#line 1027 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5567
5568#line 1027 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5569
5570#line 5570 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5571 { /* match expression */
5572 modelica_metatype tmp8_1;modelica_metatype tmp8_2;
5573 tmp8_1 = _dims1;
5574 tmp8_2 = _dims2;
5575 {
5576 volatile mmc_switch_type tmp8;
5577 int tmp9;
5578 tmp8 = 0;
5579 for (; tmp8 < 8; tmp8++) {
5580 switch (MMC_SWITCH_CAST(tmp8)(tmp8)) {
5581 case 0: {
5582 if (!listEmpty(tmp8_1)((*(mmc_uint_t*)((void*)((char*)(tmp8_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5583 if (!listEmpty(tmp8_2)((*(mmc_uint_t*)((void*)((char*)(tmp8_2) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5584 /* Pattern matching succeeded */
5585#line 1029 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5586 tmpMeta[0+0] = _resultType;
5587#line 1029 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5588 tmp5_c1 = 3;
5589#line 5589 OMC_FILE"/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/boot/build/tmp/NFTypeCheck.c"
5590 goto tmp7_done;
5591 }
5592 case 1: {
5593 if (!listEmpty(tmp8_1)((*(mmc_uint_t*)((void*)((char*)(tmp8_1) - 3))) == (((0) <<
10) + (((0) & 255) << 2)))
) goto tmp7_end;
5594
5595 /* Pattern matching succeeded */
5596#line 1031 "/var/lib/jenkins1/ws/iodic_Jenkins.slow_omlib-staging/OMCompiler/Compiler/NFFrontEnd/NFTypeCheck.mo"
5597 tmpMeta[2] = mmc_mk_box3(10, &NFType_ARRAY__desc, _resultType, _dims2);
5598#line 1031 "/var/lib/jenkins1/ws/iodic_Je