> This compiles fine as is, however, if I add a semicolon at the end of
> "mpf_set_str((mpf_ptr)$rop, (char *)$str, (int)$base)" the C code that is
> generated by EiffelStudio has a syntax error. It appends ";)" to the
Because it is a function, it is required in the C language to have the return
keyword for specifying what is the return value. However originally before the
ECMA standard, we allowed C inline for function as long as it was a single C
expression and disallowed the return statement. For not breaking the existing
code, i.e. not forcing user to adapt their code to add the missing `return'
statement, we will automatically add `return' if not present, add a cast to the
expected Eiffel type and surround the whole inlining by parenthesizes, which is
what is happening in your case.
The best is to add the return and the semicolon.
Regards,
Manu