This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Libiberty]: Handle VMS as a LLP64 platform in splay-tree.h
- From: Tristan Gingold <gingold at adacore dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, Ian Lance Taylor <iant at google dot com>
- Date: Wed, 4 Apr 2012 11:44:50 +0200
- Subject: Re: [Libiberty]: Handle VMS as a LLP64 platform in splay-tree.h
- References: <991EB52A-1080-4EED-8D17-2E73BF8050A0@adacore.com> <4F7C13BC.4040001@redhat.com>
On Apr 4, 2012, at 11:26 AM, Pedro Alves wrote:
> On 04/04/2012 09:55 AM, Tristan Gingold wrote:
>
>> Hi,
>>
>> unfortunately VMS (when 64bit pointers are used - which is nice for gcc) is also an LLP64 platform.
>> So I need to follow to Win64 way in splay-tree.h.
>
>
> Doesn't VMS gcc define __LP64__/__LLP64__?
Unfortunately no (like mingw if I read config files correctly).
This makes even less sense on VMS where 32bit and 64bit can be used at the same time.
> Then we could for example:
>
> #if !(defined (_WIN64) || defined (__LLP64__))
>
> and thus avoid sprinkling __VMS__ checks around.
In fact this is the only place where we need it, so this is under control :-)
Tristan.
>
>>
>> Tested manually by build (and using) gcc on ia64-hp-openvms.
>>
>> Ok for trunk ?
>>
>> Tristan.
>>
>> include/
>> 2012-04-04 Tristan Gingold <gingold@adacore.com>
>>
>> * splay-tree.h: Use LLP64 definitions of libi_shostptr_t and
>> libi_hostptr_t for VMS with 64bit pointers.
>>
>> --- a/include/splay-tree.h
>> +++ b/include/splay-tree.h
>> @@ -37,7 +37,8 @@ extern "C" {
>>
>> #include "ansidecl.h"
>>
>> -#ifndef _WIN64
>> +#if !(defined (_WIN64) \
>> + || (defined (__VMS__) && __INITIAL_POINTER_SIZE == 64))
>> typedef unsigned long int libi_uhostptr_t;
>> typedef long int libi_shostptr_t;
>> #else
>>
>
>
>
> --
> Pedro Alves