Menu

#874 isinf can not detect double type properly

v1.0 (example)
open
nobody
None
5
2021-01-21
2021-01-21
罗勇刚
No
x86_64-w64-mingw32-gcc.exe -std=c99 -pedantic -Wall -Werror=all -Wextra -Werror=extra -Wformat-nonliteral \
-Werror=format-nonliteral -Winit-self -Werror=init-self -Werror=conversion -Wsign-conversion \
-Werror=sign-conversion -Wformat-security -Werror=format-security -Wmissing-declarations -Werror=missing-declarations \
 -Wno-attributes -Werror -Wlogical-op -Werror=logical-op -Wno-implicit-fallthrough -Os -DNDEBUG -MD test.c
In file included from test.c:3:
test.c: In function 'main':
test.c:6:17: error: conversion from 'double' to 'float' may change value [-Werror=float-conversion]
    6 |  int t = isinf (y);
      |                 ^
cc1.exe: all warnings being treated as errors

test.c

#include <stdio.h>

#include <math.h>
int main(int argc, const char**argv) {
    double y = 0.0;
    int t = isinf (y);
    printf("%.20le %d %d %p\n", expm1 (7.095e+02), t, argc, (const void*)argv);
}

Discussion


Log in to post a comment.

MongoDB Logo MongoDB