Branch: refs/heads/Cog Home: https://github.com/OpenSmalltalk/opensmalltalk-vm Commit: b7c93957e773a6f1e90f77972d8a3255e78a2698 https://github.com/OpenSmalltalk/opensmalltalk-vm/commit/b7c93957e773a6f1e90... Author: Eliot Miranda eliot.miranda@gmail.com Date: 2021-02-12 (Fri, 12 Feb 2021)
Changed paths: M platforms/Cross/vm/sqMemoryAccess.h M platforms/Mac OS/vm/sqPlatformSpecific.h M platforms/iOS/vm/OSX/sqPlatformSpecific.h M platforms/iOS/vm/iPhone/sqPlatformSpecific.h M platforms/unix/vm/sqPlatformSpecific.h
Log Message: ----------- Fix the circular dependency between sqMemoryAccess.h and sqPlatformSpecific.h which derives from sqPlatformSpecific.h trying to do two different things. First sqPlatformSpecific.h provides platform implementations of prerequisites such as the EXPORT macros. Second sqPlatformSpecific.h defines platform specific support functions which need types declared by sqMemoryAccess.h. But sqMemoryAccess.h needs those platform implementations prerequisites first. So have sqMemoryAccess.h include sqPlatformSpecific.h a second time if it detects that sqPlatformSpecific.h has already been included, and have sqPlatformSpecific.h only declare the support funcitons if it detects that sqMemoryAccess.h has been included.
A better solution would be to cleanly separate the two functions of sqPlatformSpecific.h but this is too much work in teh short term.
vm-dev@lists.squeakfoundation.org