fixed a bug of not setting the exception variable position in compile_catch()
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
hyung-hwan 2024-10-21 01:19:53 +09:00
parent a2b840f41d
commit 9fd31c9c52
4 changed files with 16 additions and 20 deletions

View File

@ -4299,7 +4299,8 @@ static HCL_INLINE int compile_catch (hcl_t* hcl)
} }
/* add the exception variable to the local variable list. increase the number of local variables */ /* add the exception variable to the local variable list. increase the number of local variables */
exarg_offset = hcl->c->tv.s.len + 1; /* when the variable name is added, its offset will be the current length + 1 for a space character added */ exarg_offset = hcl->c->tv.s.len;
if (hcl->c->tv.s.len > 0) exarg_offset++; /* if the variable is not the first, add 1 for a preceding space */
if (hcl->c->funblk.depth > 0) if (hcl->c->funblk.depth > 0)
{ {

View File

@ -662,7 +662,7 @@ static kernel_class_info_t kernel_classes[__KCI_MAX__] =
KCI(KCI_SYSTEM) { KCI(KCI_SYSTEM) {
"System", "System",
KCI_OBJECT, KCI_APEX,
0, 0,
0, 0,
5, /* asyncsg, gcfin_sem, gcfin_should_exit, ossig_pid, shr */ 5, /* asyncsg, gcfin_sem, gcfin_should_exit, ossig_pid, shr */

View File

@ -22,7 +22,8 @@
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/ */
#include "hcl-prv.h" #include <hcl-utl.h>
#include <hcl.h>
/* some naming conventions /* some naming conventions
* bchars, uchars -> pointer and length * bchars, uchars -> pointer and length

View File

@ -136,22 +136,16 @@ class(#char #varying) String: FixedSizedCollection {
## // System logNl: 'xxxxx'. ## // System logNl: 'xxxxx'.
## // System getUint8(ptr,offset) ## // System getUint8(ptr,offset)
## ##
## class System: Apex [ class System: Apex {
## [ var(#class) asyncsg ## async semaphore group
## asyncsg ## async semaphore group var(#class) gcfin_sem ## gc finalization semaphore
## gcfin_sem ## gc finalization semaphore var(#class) gcfin_should_exit
## gcfin_should_exit var(#class) ossig_pid
## ossig_pid var(#class) shr ## signal handler registry
## shr ## signal handler registry
## ] gcfin_should_exit := false
##
## ] {
## ## var(#class) asyncsg.
## ## var(#class) gcfin_sem.
## ## var(#class) gcfin_should_exit := false.
## ## var(#class) ossig_pid.
## ## var(#class) shr. // signal handler registry
##
## ## pooldic Log ## ## pooldic Log
## ## { ## ## {
## ## // ----------------------------------------------------------- ## ## // -----------------------------------------------------------
@ -568,7 +562,7 @@ class(#char #varying) String: FixedSizedCollection {
## ## ## ##
## ## fun(#class,#primitive) getBytes (rawptr, offset, byte_array, offset_in_buffer, len_in_buffer). ## ## fun(#class,#primitive) getBytes (rawptr, offset, byte_array, offset_in_buffer, len_in_buffer).
## ## fun(#class,#primitive) putBytes (rawptr, offset, byte_array, offset_in_buffer, len_in_buffer). ## ## fun(#class,#primitive) putBytes (rawptr, offset, byte_array, offset_in_buffer, len_in_buffer).
## } }
## --------------------------------------------------------------------------------- ## ---------------------------------------------------------------------------------