guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: MinGW build fixes


From: Ludovic Courtès
Subject: Re: MinGW build fixes
Date: Sat, 27 Jun 2009 02:03:08 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (gnu/linux)

Hello!

Neil Jerram <address@hidden> writes:

> - MinGW can't export/import struct variables from/to a DLL, so wrap
>   the ones needed by inline.h in exported/imported pointer variables.

[...]

> * libguile/gc.h (scm_i_freelist_ptr, scm_i_freelist2_ptr,
>   scm_i_master_freelist_ptr, scm_i_master_freelist2_ptr): New global
>   variable declarations.
>
> * libguile/inline.h (scm_cell): Use scm_i_freelist_ptr and
>   scm_i_master_freelist_ptr instead of scm_i_freelist and
>   scm_i_master_freelist.
>   (scm_double_cell): Use scm_i_freelist2_ptr and
>   scm_i_master_freelist2_ptr instead of scm_i_freelist2 and
>   scm_i_master_freelist2.
>
> * libguile/threads.c (scm_i_freelist_ptr, scm_i_freelist2_ptr): New
>   global variables.

[...]

>  SCM_API struct scm_t_cell_type_statistics scm_i_master_freelist;
> +SCM_API struct scm_t_cell_type_statistics *scm_i_master_freelist_ptr;
>  SCM_API struct scm_t_cell_type_statistics scm_i_master_freelist2;
> +SCM_API struct scm_t_cell_type_statistics *scm_i_master_freelist2_ptr;

I don't understand why this fixes anything, since the `_ptr' variables
are declared as `SCM_API' just like the non-`_ptr' variables.

Also, it adds an indirection, which may impact performance.

Other than that, I think this is good news!

Thanks,
Ludo'.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]