1
Fork 0
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:
Ludovic Courtès 2009-12-14 23:11:47 +01:00
parent cd169c5a22
commit 3dbbe28dfd
7 changed files with 36 additions and 20 deletions

View file

@ -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