/*
alphaev68-dec-osf5.1b long double optimization bug with gcc-4.0.0
                                                                              
regression from gcc-3.4.3
                                                                              
% config.guess
alphaev68-dec-osf5.1b
% gcc -v
Using built-in specs.
Target: alphaev68-dec-osf5.1b
Configured with: /usr/local/gcc-4.0.0/src/gcc-4.0.0/configure
--enable-languages=c --prefix=/usr/local/gcc-4.0.0/alpha-OSF1-V5
Thread model: posix
gcc version 4.0.0
%
% gcc -mieee-with-inexact -o foo foo.c
% foo
1
%
% gcc -mieee-with-inexact -O1 -o foo foo.c
% foo
0
%
 
only happens with "long double", not with "double"
 
*/

#include <stdio.h>
 
#define DBL_NAN     ((long double) 0.0/0.0)
 
static int
Isnan_ld (long double d)
{
    int ans;
    long double __x = (d);
    if ((d) != __x)
      ans = 1;
    else
      ans = 0;
    return ans;
}
 
                                                                              
int
main (int argc, char *argv[])
{
  long double d;
 
  d = (long double) DBL_NAN;
  printf("%d\n", Isnan_ld(d));
 
  return 0;
}

-- 
           Summary: alphaev68-dec-osf5.1b long double optimization bug with
                    gcc-4.0.0
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: regression
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: kminola at eng dot umd dot edu
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: alphaev68-dec-osf5.1b
  GCC host triplet: alphaev68-dec-osf5.1b
GCC target triplet: alphaev68-dec-osf5.1b


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21390

Reply via email to