On Tue, Sep 11, 2012 at 11:31 AM, Mohamed Abou Samra
<my_abousa...@yahoo.com> wrote:
>  Hi All,
>
> I'm trying to write a small program to check the decimal floating point gcc 
> extension but I encountered some problems
>
> The program just converts a _Decimal64 number to double to print it and I 
> used the function (double __bid_truncdddf (_Decimal64 a) as the gnu online 
> docs show)
>
> #include <stdio.h>
>
> int main ()
> {
>        _Decimal64 d = 12.5DD;
>         printf ("%lf\n",__bid_truncdddf(d) );
>
> return 0;
> }
>
> $ gcc test.c -Wall -g
> test.c: In function ‘main’:
> test.c:23: warning: implicit declaration of function ‘__bid_truncdddf’
> test.c:23: warning: format ‘%lf’ expects type ‘double’, but argument 2 has 
> type ‘int’
>
> $ ./a.out
> 0.000000
>
> I don't know why the result is zero and why the second warning appears 
> although I wrote the function properly!
>
>

,__bid_truncdddf is a libgcc internal function.  Don't ever use it
in user programs.  Just cast DFP to double.

-- 
H.J.

Reply via email to