[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Guile-commits] 15/26: Most header files use forward decl for union scm_
From: |
Andy Wingo |
Subject: |
[Guile-commits] 15/26: Most header files use forward decl for union scm_vm_stack_element |
Date: |
Tue, 26 Jun 2018 11:26:13 -0400 (EDT) |
wingo pushed a commit to branch master
in repository guile.
commit 3b6bf20ef5d7d0de34de4fb7ba9777af29ba55ae
Author: Andy Wingo <address@hidden>
Date: Tue Jun 26 10:46:11 2018 +0200
Most header files use forward decl for union scm_vm_stack_element
* libguile.h: Add includes for frames.h and vm.h. Probably need to
revisit these includes.
* libguile/scm.h (struct scm_frame, union scm_vm_stack_element)
(struct scm_vm): Add forward declarations.
* libguile/vm.h: Remove frames.h include.
* libguile/foreign.h:
* libguile/gsubr.h: Remove forward decls of union scm_vm_stack_element.
* libguile/control.c:
* libguile/eval.c:
* libguile/print.c: Add frames.h includes.
* libguile/threads.h: Remove continuations.h.
* libguile/vm.c: Add continuations.h.
* libguile/control.h: Swap vm.h include for scm.h include.
* libguile/continuations.h: Add programs.h include for SCM_PROGRAM_P.
---
libguile.h | 2 ++
libguile/continuations.h | 1 +
libguile/control.c | 1 +
libguile/control.h | 2 +-
libguile/eval.c | 1 +
libguile/foreign.h | 2 --
libguile/gsubr.h | 1 -
libguile/print.c | 1 +
libguile/scm.h | 3 +++
libguile/threads.h | 1 -
libguile/vm.c | 1 +
libguile/vm.h | 1 -
12 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/libguile.h b/libguile.h
index bd61053..53479d8 100644
--- a/libguile.h
+++ b/libguile.h
@@ -58,6 +58,7 @@ extern "C" {
#include "libguile/foreign.h"
#include "libguile/foreign-object.h"
#include "libguile/fports.h"
+#include "libguile/frames.h"
#include "libguile/gc.h"
#include "libguile/generalized-arrays.h"
#include "libguile/generalized-vectors.h"
@@ -116,6 +117,7 @@ extern "C" {
#include "libguile/vectors.h"
#include "libguile/srfi-4.h"
#include "libguile/version.h"
+#include "libguile/vm.h"
#include "libguile/vports.h"
#include "libguile/weak-set.h"
#include "libguile/weak-table.h"
diff --git a/libguile/continuations.h b/libguile/continuations.h
index a7bfa60..a9ab5ea 100644
--- a/libguile/continuations.h
+++ b/libguile/continuations.h
@@ -24,6 +24,7 @@
#include <setjmp.h>
+#include "libguile/programs.h"
#include "libguile/throw.h"
diff --git a/libguile/control.c b/libguile/control.c
index 7605391..287f30f 100644
--- a/libguile/control.c
+++ b/libguile/control.c
@@ -25,6 +25,7 @@
#include "dynstack.h"
#include "extensions.h"
+#include "frames.h"
#include "gsubr.h"
#include "instructions.h"
#include "list.h"
diff --git a/libguile/control.h b/libguile/control.h
index 1b40656..c2bb5b5 100644
--- a/libguile/control.h
+++ b/libguile/control.h
@@ -22,7 +22,7 @@
#include <setjmp.h>
-#include "libguile/vm.h"
+#include "libguile/scm.h"
SCM_INTERNAL SCM scm_i_prompt_pop_abort_args_x (struct scm_vm *vp,
diff --git a/libguile/eval.c b/libguile/eval.c
index 1403a14..c8e7380 100644
--- a/libguile/eval.c
+++ b/libguile/eval.c
@@ -37,6 +37,7 @@
#include "eq.h"
#include "expand.h"
#include "feature.h"
+#include "frames.h"
#include "fluids.h"
#include "goops.h"
#include "gsubr.h"
diff --git a/libguile/foreign.h b/libguile/foreign.h
index 01a1ef8..d2278e8 100644
--- a/libguile/foreign.h
+++ b/libguile/foreign.h
@@ -98,8 +98,6 @@ SCM_INTERNAL SCM scm_pointer_to_string (SCM pointer, SCM
length, SCM encoding);
arguments.
*/
-union scm_vm_stack_element;
-
SCM_API SCM scm_pointer_to_procedure (SCM return_type, SCM func_ptr,
SCM arg_types);
SCM_API SCM scm_pointer_to_procedure_with_errno (SCM return_type, SCM func_ptr,
diff --git a/libguile/gsubr.h b/libguile/gsubr.h
index 963bf48..8407ae5 100644
--- a/libguile/gsubr.h
+++ b/libguile/gsubr.h
@@ -55,7 +55,6 @@
SCM_INTERNAL int scm_i_primitive_code_p (const uint32_t *code);
SCM_INTERNAL uintptr_t scm_i_primitive_call_ip (SCM subr);
-union scm_vm_stack_element;
SCM_INTERNAL SCM scm_apply_subr (union scm_vm_stack_element *sp,
ptrdiff_t nargs);
diff --git a/libguile/print.c b/libguile/print.c
index 86f2b81..b5b5ec6 100644
--- a/libguile/print.c
+++ b/libguile/print.c
@@ -41,6 +41,7 @@
#include "eval.h"
#include "fluids.h"
#include "foreign.h"
+#include "frames.h"
#include "goops.h"
#include "gsubr.h"
#include "hashtab.h"
diff --git a/libguile/scm.h b/libguile/scm.h
index 9dee8fc..9996ec4 100644
--- a/libguile/scm.h
+++ b/libguile/scm.h
@@ -824,6 +824,9 @@ typedef struct scm_dynamic_state scm_t_dynamic_state;
typedef struct scm_print_state scm_print_state;
typedef struct scm_dynstack scm_t_dynstack;
typedef int32_t scm_t_wchar;
+struct scm_frame;
+struct scm_vm;
+union scm_vm_stack_element;
diff --git a/libguile/threads.h b/libguile/threads.h
index 6cbab2a..50d4ba1 100644
--- a/libguile/threads.h
+++ b/libguile/threads.h
@@ -29,7 +29,6 @@
#include "libguile/dynstack.h"
#include "libguile/iselect.h"
#include "libguile/smob.h"
-#include "libguile/continuations.h"
#include "libguile/vm.h"
#if SCM_USE_PTHREAD_THREADS
diff --git a/libguile/vm.c b/libguile/vm.c
index 1a7308c..bafdcf2 100644
--- a/libguile/vm.c
+++ b/libguile/vm.c
@@ -41,6 +41,7 @@
#include "atomics-internal.h"
#include "bdw-gc.h"
#include "cache-internal.h"
+#include "continuations.h"
#include "control.h"
#include "dynwind.h"
#include "eval.h"
diff --git a/libguile/vm.h b/libguile/vm.h
index a018e39..9b97a6a 100644
--- a/libguile/vm.h
+++ b/libguile/vm.h
@@ -21,7 +21,6 @@
#define _SCM_VM_H_
#include <libguile/gc.h>
-#include <libguile/frames.h>
#include <libguile/programs.h>
enum {
- [Guile-commits] 07/26: Eagerly initialize thread VM; remove scm_the_vm, (continued)
- [Guile-commits] 07/26: Eagerly initialize thread VM; remove scm_the_vm, Andy Wingo, 2018/06/26
- [Guile-commits] 06/26: Inline struct scm_vm into struct scm_i_thread, Andy Wingo, 2018/06/26
- [Guile-commits] 03/26: Use ptrdiff_t instead of scm_t_ptrdiff, Andy Wingo, 2018/06/26
- [Guile-commits] 10/26: expand_stack intrinsic takes thread, Andy Wingo, 2018/06/26
- [Guile-commits] 01/26: Start to use C99 stdint in gen-scmconfig, Andy Wingo, 2018/06/26
- [Guile-commits] 08/26: VM gets VP from thread, Andy Wingo, 2018/06/26
- [Guile-commits] 20/26: Add intrinsic for call/cc, Andy Wingo, 2018/06/26
- [Guile-commits] 18/26: Refactor continuation capture in VM, Andy Wingo, 2018/06/26
- [Guile-commits] 17/26: Foreign-call intrinsic boxes errno, Andy Wingo, 2018/06/26
- [Guile-commits] 25/26: Optimize abort-to-prompt to avoid alloca, Andy Wingo, 2018/06/26
- [Guile-commits] 15/26: Most header files use forward decl for union scm_vm_stack_element,
Andy Wingo <=
- [Guile-commits] 14/26: Add intrinsic for foreign-call, Andy Wingo, 2018/06/26
- [Guile-commits] 11/26: Move VM keyword argument parsing to happen via an intrinsic, Andy Wingo, 2018/06/26
- [Guile-commits] 22/26: Add rest-arg-length intrinsic., Andy Wingo, 2018/06/26
- [Guile-commits] 16/26: Reinstating undelimited continuations uses intrinsic, Andy Wingo, 2018/06/26
- [Guile-commits] 24/26: Refactors to abort-to-prompt implementation, Andy Wingo, 2018/06/26
- [Guile-commits] 12/26: Add push-interrupt-frame VM intrinsic, Andy Wingo, 2018/06/26
- [Guile-commits] 13/26: Give multiple-values objects a tc7, Andy Wingo, 2018/06/26
- [Guile-commits] 26/26: Allow abort_to_prompt to avoid a longjmp, Andy Wingo, 2018/06/26
- [Guile-commits] 21/26: compose-continuation uses an intrinsic, Andy Wingo, 2018/06/26
- [Guile-commits] 23/26: abort-to-prompt uses an intrinsic, Andy Wingo, 2018/06/26