This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: real.h: REAL_VALUE_TO_TARGET_DOUBLE


On Thu, Oct 2, 2008 at 11:59 PM, Ian Lance Taylor <iant@google.com> wrote:
> "Omar Torres" <gcc.omar@gmail.com> writes:
>
>>  Shouldn't this macro:
>> #define REAL_VALUE_TO_TARGET_DOUBLE(IN, OUT) \
>>   real_to_target (OUT, &(IN), mode_for_size (64, MODE_FLOAT, 0))
>>
>>  be using DOUBLE_TYPE_SIZE instead of the hard coded '64'? Am I missing
>> something here?
>
> That would certainly be more logical.  In order to make that change,
> you would have to consider each use of the macro to confirm that the
> change would be valid.
>
>
>> In the target I am currently working, DOUBLE_TYPE_SIZE is defined as
>> 32-bit, so the hard-coded '64' is causing trouble. I am planning on
>> doing this change on my local source tree, but wanted to discuss with
>> the community to see if there is some implementations details somewhere
>> that I need to consider as well.
>
> As far as I can see, all but one use of this macro is in target
> dependent code.  Are you having trouble from the single target
> independent use?  Or perhaps your target dependent code should just
> use REAL_VALUE_TO_TARGET_SINGLE instead?
>
> Ian
>
 Both.
 Yes, I can use REAL_VALUE_TO_TARGET_SINGLE in the target dependent
files to work around this.
 I do not see a similar solution for the target independent code,
since the size mismatch cause the incorrect format (encode/decode
functions) to be use.

Thanks,
-Omar


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