PR# 19891 Separate object looses void-safety
Problem Report Summary
Submitter: rosivaldo
Category: Compiler
Priority: Low
Date: 2023/06/13
Class: Bug
Severity: Serious
Number: 19891
Release: 22.12 (22.12.10.6463 - win64)
Confidential: No
Status: Open
Responsible:
Environment: win64
Synopsis: Separate object looses void-safety
Description
Void-safety is ignored when a Void would-be separate object gets controlled.
To Reproduce
- Open and compile the st_implementation_bugs target of (attached) .\main\st_implementation\st_implementation.ecf project. - Three compilation error will be issued, as below. VUTA(2) Target of the Object_call might be void. SEPARATE_VOID_UNSAFETY.reproduce_separate_void_unsafety (bugs) 19, 13 Error code: VUTA(2) (...) Line: 19 do -> s1 := c1.out s2 := c2.out VUTA(3) Separate target of the Object_call is not controlled. SEPARATE_VOID_UNSAFETY.reproduce_separate_void_unsafety (bugs) 20, 10 Error code: VUTA(3) (...) Line: 20 s1 := c1.out -> s2 := c2.out separate c2 as sep_c2 do VUTA(2) Target of the Object_call might be void. SEPARATE_VOID_UNSAFETY.reproduce_separate_void_unsafety (bugs) 20, 13 Error code: VUTA(2) (...) Line: 20 s1 := c1.out -> s2 := c2.out separate c2 as sep_c2 do - Comment out lines 19 and 20 of SEPARATE_VOID_UNSAFETY class. - Compile the project again (F7). - Run the project (F5). - A VOID_TARGET or OPERATING_SYSTEM_SIGNAL_FAILURE exception is raised, as below. VOID_TARGET raised (VOID_TARGET) ******************************** Thread exception ***************************** In thread Root thread 0x0 (thread id) ******************************************************************************* ------------------------------------------------------------------------------- Class / Object Routine Nature of exception Effect ------------------------------------------------------------------------------- SEPARATE_VOID_UNSAFETY reproduce_separate_void_unsafety @2 : <00000000049C0628> Feature call on void target. Fail Segmentation violation: OPERATING_SYSTEM_SIGNAL_FAILURE raised (OPERATING_SYSTEM_SIGNAL_FAILURE) ******************************** Thread exception ***************************** In thread Root thread 0x0 (thread id) ******************************************************************************* ------------------------------------------------------------------------------- Class / Object Routine Nature of exception Effect ------------------------------------------------------------------------------- SEPARATE_VOID_UNSAFETY reproduce_separate_void_unsafety @2 Segmentation violation: