Re: [Boost-bugs] [Boost C++ Libraries] #4475: OpenVMS patch for 64 bit support

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4475: OpenVMS patch for 64 bit support
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-01-13 13:33:39


#4475: OpenVMS patch for 64 bit support
----------------------------------+-----------------------------------------
  Reporter: artyomtnk@… | Owner: az_sw_dude
      Type: Patches | Status: new
 Milestone: Boost 1.44.0 | Component: date_time
   Version: Boost 1.44.0 | Severity: Problem
Resolution: | Keywords:
----------------------------------+-----------------------------------------

Comment (by artyomtnk@…):

 The problem is that VMS allows mixed 32 and 64 bit pointers (something
 like DOS's near/far) and some system functions - in this case
 localetime_r, accept only 32 bit pointers while most accept both type of
 pointer.

 What happens is that I need to pass 32 bit pointer to the function to make
 sure
 it works. Result is 64 bit pointer so I can't pass it as is. So I create a
 local variable
 tmp that is placed on stack. And it is promised that stack is always
 placed in 32bit region so I can relate on the fact that the pointer would
 be 32bit pointer.

 And after I get the result I can copy it to the location of 64 bit
 pointer.

 This is quite ugly but that is how OpenVMS works.

 Thanks,
   Artyom

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4475#comment:2>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:05 UTC