Opened 14 years ago
Last modified 12 years ago
#1525 closed defect
Calling Integer on enumeration type result in C compilation errors — at Initial Version
Reported by: | Per Östlund | Owned by: | Per Östlund |
---|---|---|---|
Priority: | high | Milestone: | |
Component: | Frontend | Version: | |
Keywords: | Cc: | Per Östlund |
Description
The following model:
type E = enumeration(one, two, three); function fun input E e; output Boolean b; algorithm if Integer(E) == 1 then b := true; else b := false; end if; end fun; model m Boolean b = fun(E.two); end m;
gives the error message:
fun.c:28:13: error: invalid operands to binary == (have 'integer_array' and 'long int')
while instantiating the model.
It's not clear to me if Integer(E) is actually valid Modelica or not, see Modelica issue #551. If it's not valid the Integer call in fun should simply be rejected, otherwise better type checking is required.
Note:
See TracTickets
for help on using tickets.