This is the mail archive of the guile@sourceware.cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Regarding recent void * change


Are you sure you know what you're doing?

Note that we'll now have lvalues which are void *.  Is it always safe
to store an arbitrary integer in such a location?

I'm thinking of the following scenario:

Pairs, vectors, objects etc now consist of fields of the type void *.
When dealing with such values, the compiler should be able to make the
assumption that we're dealing with pointers, so it can use registers
in the CPU specialized for holding addresses.

I'm afraid that there might exist architectures where dealing with
values which are invalid as pointers will yield a bus error.

(On the other hand one could have VOIDP_TEST (which should have been
named SCM_VOIDP_TEST) undefined on such architectures...)

Also, the recent SCM_ASWORD change will screw up Guile on Cray, but
this might be simple to fix.

I think we generally should think more about how changes influence
Guile on other architectures than we have done recently.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]