In sem_eval.adb, we have an assertion that the type of a "null" literal is an access type. It turns out that this assertion can fail when processing an illegal program, e.g. one that contains something like "Integer'(null)". This leads to differences in the compiler's generated output for such tests depending on whether assertions are/aren't enabled; in particular, the "compilation abandoned due to previous error" message generated in Comperr.Compiler_Abort. In order to avoid these differences, we change the assertion so that it does not fail if errors have already been posted on the given node. Tested on x86_64-pc-linux-gnu, committed on trunk 2019-09-18 Steve Baird gcc/ada/ * sem_eval.adb (Expr_Value): Do not fail "the type of a null literal must be an access type" assertion if errors have already been posted on the given node.