Closed odow closed 11 months ago
All modified and coverable lines are covered by tests :white_check_mark:
Comparison is base (
db2d8e6
) 90.87% compared to head (36bc252
) 90.87%.
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Seems reasonable?
Yeah, a few adjustments got it building for v10. The changes look minor, but there are some failing MOI tests on my mac that I haven't dug into yet.
It looks like some constraints silently fail to be added? Perhaps the CChar change could cause this, this update changes const GRB_LESS_EQUAL = '<'
and friends to const GRB_LESS_EQUAL = Cchar('<')
.
Manually adjusting the character constants (6bdd625) resolved this for me. I don't see an option to fix this in Clang.jl. I guess worst case these symbols can go in the preamble?
Hmm. It'd be nice to know why. You could just do a find-and-replace on the file once it has been built?
Otherwise just a note in the gen.jl
script is okay. It's a very small job that happens infrequently.
I might just add them to the ignore list and preamble. This is a set of symbols that isn't likely to change.
As for why it fails, you may be on the right track with the Char<->[U]Int8 mapping. Evidently this differs by processor type, not by OS? If you happen to have an ARM chip handy that might shed some light on it.
It's a bit worrying that that MOI test seems to only find an issue when it checks the number of constraints in a model though? Makes it seem like an error code check is not being done?
I didn't look into why it failed yet, but it's probably something to do with lines like this: https://github.com/jump-dev/Gurobi.jl/blob/db2d8e6f88599c5b78512fb681f53ea86cb5a22b/src/MOI_wrapper/MOI_wrapper.jl#L1363
The C API calls will convert properly, but
julia> 'B' == Cchar('B')
false
Closes #530
@simonbowly you could try building with this. It has a few tweaks, like using
Cchar
instead ofUInt8