Duncan Sands wrote:
Hi Robert,

b) better behavior for undefined cases

this is one of the problems with using LLVM with the Ada front-end.  LLVM makes
pretty aggressive deductions when it sees undefined behaviour, which can result
in (for example) validity checks being removed exactly in the cases when they
are most needed.  There are various ways of solving this problem, but I didn't
implement any of them yet.

Validity models are tricky. The model in Ada is importantly different
from the model in C, and indeed a C back end is likely to have troubles
in this area. We have had to step carefully in the gcc back end to get
proper Ada semantics, and there are still some compromises (not ones
that affect functionality, but ones that affect efficiency).

Ciao,

Duncan.

Reply via email to