Original date:2018-01-06 14:51:09 Edited by: irv Subject: Re: SWITCH question

In be_execute.c, around line 1616 or so, in function analyze_switch():

else if( !IS_ATOM_INT( new_values->base[i] ) || IS_ATOM_INT( second_val ) ){ 
	//c = (0 == compare( new_values->base[i], second_val ) ); -- commenting this out avoids the crash ? 

Anyone else want to make that change and recompile, to see if it fixes the sig 11 crash when interpreted?
In addition, see if you can find anything that breaks due to removing it.

-- test case: 
include std/dll.e  
switch 1 do   
  case C_HANDLE then   
  case C_POINTER, C_HANDLE then   
end switch 

Former results: A machine-level exception occurred during execution of this statement (signal 11)
Current results: duplicate values in a switch: C_HANDLE and C_HANDLE (which is exactly correct)

Not Categorized, Please Help


Quick Links

User menu

Not signed in.

Misc Menu