fixed a bug of not setting the exception variable position in compile_catch()
All checks were successful
continuous-integration/drone/push Build is passing
All checks were successful
continuous-integration/drone/push Build is passing
This commit is contained in:
parent
a2b840f41d
commit
9fd31c9c52
@ -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)
|
||||||
{
|
{
|
||||||
|
2
lib/gc.c
2
lib/gc.c
@ -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 */
|
||||||
|
@ -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
|
||||||
|
@ -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).
|
||||||
## }
|
}
|
||||||
|
|
||||||
## ---------------------------------------------------------------------------------
|
## ---------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user