mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-01 04:10:18 +02:00
Don't use GCC zero-length arrays.
* libguile/frames.c, libguile/objcodes.c, libguile/programs.c, libguile/vm-engine.c, libguile/vm-i-system.c, libguile/vm.c: Use `SCM_C_OBJCODE_BASE ()' instead of accessing the `base' field of `struct scm_objcode'. * libguile/objcodes.h (struct scm_objcode)[base]: Remove.
This commit is contained in:
parent
cd169c5a22
commit
3dbbe28dfd
7 changed files with 36 additions and 20 deletions
|
@ -111,7 +111,8 @@ SCM_DEFINE (scm_frame_source, "frame-source", 1, 0, 0,
|
|||
bp = SCM_PROGRAM_DATA (SCM_FRAME_PROGRAM (fp));
|
||||
|
||||
return scm_c_program_source (SCM_FRAME_PROGRAM (fp),
|
||||
SCM_VM_FRAME_IP (frame) - bp->base);
|
||||
SCM_VM_FRAME_IP (frame)
|
||||
- SCM_C_OBJCODE_BASE (bp));
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
|
@ -219,10 +220,14 @@ SCM_DEFINE (scm_frame_instruction_pointer, "frame-instruction-pointer", 1, 0, 0,
|
|||
"")
|
||||
#define FUNC_NAME s_scm_frame_instruction_pointer
|
||||
{
|
||||
const struct scm_objcode *c_objcode;
|
||||
|
||||
SCM_VALIDATE_VM_FRAME (1, frame);
|
||||
|
||||
c_objcode = SCM_PROGRAM_DATA (scm_frame_procedure (frame));
|
||||
return scm_from_ulong ((unsigned long)
|
||||
(SCM_VM_FRAME_IP (frame)
|
||||
- SCM_PROGRAM_DATA (scm_frame_procedure (frame))->base));
|
||||
- SCM_C_OBJCODE_BASE (c_objcode)));
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue