[Bug c/103980] New: -Wdouble-promotion triggers on s390x when it shouldn't.

rmaguire314 at gmail dot com gcc-bugzilla@gcc.gnu.org
Tue Jan 11 20:02:03 GMT 2022


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

            Bug ID: 103980
           Summary: -Wdouble-promotion triggers on s390x when it
                    shouldn't.
           Product: gcc
           Version: 10.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
          Assignee: unassigned at gcc dot gnu.org
          Reporter: rmaguire314 at gmail dot com
  Target Milestone: ---

The file bug.c:

#include <stdio.h>

int main(void)
{
    float x = 1.0F;

    if (x == 0.0F)
        puts("Hi!");

    return 0;
}

Build with:
gcc -Wdouble-promotion bug.c -o test

No errors.

Build with:
gcc -Wdouble-promotion -std=c89 bug.c -o test

Produces:
bug.c: In function 'main':
bug.c:7:11: warning: implicit conversion from 'float' to 'double' to
match other operand of binary expression [-Wdouble-promotion]
    7 |     if (x == 0.0F)

This only occurs on the s390x architecture. arm64 and amd64 work normally.
I'm running Debian 11 s390x version via emulating and chroot (host is amd64).
GCC version:
gcc (Debian 10.2.1-6) 10.2.1 20210110


More information about the Gcc-bugs mailing list