test_name void-safety-level test_description Different void safety levels produce different results, copy_raw a.e $CLUSTER a.e -- Inheritance checks define NA "--" define NT "" copy_sub test.e $CLUSTER test.e define VOID_SAFETY_A "all" define VOID_SAFETY_TEST "all" copy_sub Ace $TEST Ace compile_melted compile_result validity_error TEST VDRD(2) VDRD(2) abort_compile define VOID_SAFETY_A "none" define VOID_SAFETY_TEST "all" copy_sub Ace $TEST Ace compile_melted compile_result validity_error TEST VUTA(2) VUTA(2) VUTA(2) VEVI abort_compile define VOID_SAFETY_A "all" define VOID_SAFETY_TEST "none" copy_sub Ace $TEST Ace compile_melted compile_result validity_error A VUTA(2) VJAR abort_compile define VOID_SAFETY_A "none" define VOID_SAFETY_TEST "none" copy_sub Ace $TEST Ace compile_melted compile_result ok cleanup_compile -- Conformance and initialization checks define NA "" define NT "--" copy_sub test.e $CLUSTER test.e define VOID_SAFETY_A "all" define VOID_SAFETY_TEST "all" copy_sub Ace $TEST Ace compile_melted compile_result validity_error TEST VUAR(2) VEVI VUTA(2) VUTA(2) VJAR; A VUTA(2) VJAR abort_compile define VOID_SAFETY_A "none" define VOID_SAFETY_TEST "all" copy_sub Ace $TEST Ace compile_melted compile_result validity_error TEST VEVI VUTA(2) VUTA(2) VUTA(2) VJAR VJAR abort_compile define VOID_SAFETY_A "all" define VOID_SAFETY_TEST "none" copy_sub Ace $TEST Ace compile_melted compile_result validity_error A VUTA(2) VJAR abort_compile define VOID_SAFETY_A "none" define VOID_SAFETY_TEST "none" copy_sub Ace $TEST Ace compile_melted compile_result ok cleanup_compile test_end