[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-janitors] #979: chicken.h wrongly assumes that __x86_64__ i
From: |
Chicken Trac |
Subject: |
Re: [Chicken-janitors] #979: chicken.h wrongly assumes that __x86_64__ implies 64 bits |
Date: |
Mon, 01 Jul 2013 02:07:35 -0000 |
#979: chicken.h wrongly assumes that __x86_64__ implies 64 bits
---------------------------+------------------------------------------------
Reporter: iraikov | Owner:
Type: defect | Status: reopened
Priority: major | Milestone: 4.9.0
Component: build system | Version: 4.8.x
Resolution: | Keywords:
---------------------------+------------------------------------------------
Changes (by iraikov):
* status: closed => reopened
* resolution: wontfix =>
Comment:
OK, we finally have an answer from the Debian developers:
Hi!
Somehow, I did not get the BTS mail, and looking in my mail server's logs,
I
see no matches. Hrm.
> Thank you for the suggestion, but for which platforms is this intended?
At least x32 with gcc and/or clang.
> Is __LP64__ always defined, or is it specific to compiler and platform?
Googling around, I see certain old proprietary compilers use _LP64
instead,
if you care about them.
Windows doesn't have the __LP64__ define, but that's right as win64
doesn't
use the LP64 model but LLP64: sizeof(long) == 4, while sizeof(void*) == 8.
The current check in chicken is inconsistent: on mingw64 before this patch
chicken.h will define SIXTY_FOUR but on MSVC it will not. I'm not sure
whether you care about sizeof(long) or sizeof(void*) here, but it's
obvious
you want one or the other; this patch did not intend to make a change here
but accidentally it makes mingw64 follow MSVC.
I think this covers all modern platforms then.
--
Ticket URL: <http://bugs.call-cc.org/ticket/979#comment:5>
Chicken Scheme <http://www.call-with-current-continuation.org/>
Chicken Scheme is a compiler for the Scheme programming language.