https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118231

            Bug ID: 118231
           Summary: _Decimal32 datatype fails with 'cannot mix operands',
                    where _Decimal64 and _Decimal128 hold,
           Product: gcc
           Version: 13.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: newbie-02 at gmx dot de
  Target Milestone: ---

hello @ all,  

pls. check if I'm in error ( alas always an option ), or the compile error with
the following snipped belongs to another part of the workbench ( glibc? ).  

The error is noted in the file, my gcc version is: gcc (Debian 13.3.0-6) 13.3.0
.  

```  

#define __STDC_WANT_DEC_FP__
#define __STDC_WANT_IEC_60559_DFP_EXT__

#include <stdio.h>                                                             
        // reg. e.g. printf, 

int main( int argc, char *argv[] ) 
{ 
        volatile _Decimal32 x1D = 1.0D, x2D = 1.0D, x3D = 1.0D; 
        volatile _Decimal64 x1DD = 1.0DD, x2DD = 1.0DD, x3DD = 1.0DD; 
        volatile _Decimal128 x1DL = 1.0DL, x2DL = 1.0DL, x3DL = 1.0DL; 

        printf( "'x1D = 1.0D / x1D;' -> error: cannot mix operands of decimal
floating and other floating types \n" ); 
        printf( "no problem with x3DD = 1.0DD / x1DD and x3DL = 1.0DL / x1DL,
\n" ); 
        x3D = 1.0D / x1D;                                                      
        // uncommenting this line produces compile error, 
        x3DD = 1.0DD / x1DD; 
        x3DL = 1.0DL / x1DL; 

        return 0; 
} 
```  
TIA for any hint, best wishes for next year ...  Bernhard

Reply via email to