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

            Bug ID: 108285
           Summary: [13 Regression] error: conversion from ‘long double’
                    to ‘double’ may change value
                    [-Werror=float-conversion] since
                    r13-3291-g16ec267063c8ce60
           Product: gcc
           Version: 13.0
            Status: UNCONFIRMED
          Keywords: rejects-valid
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
                CC: jakub at gcc dot gnu.org
  Target Milestone: ---

I noticed libheif package fails due to:

$ cat heif.ii
void lround(double);

void foo(float coeffs) {
  lround(2 * coeffs);
}

$ g++ heif.ii -c -m32 -std=c++14 -Werror=float-conversion 
heif.ii: In function ‘void foo(float)’:
heif.ii:4:12: error: conversion from ‘long double’ to ‘double’ may change value
[-Werror=float-conversion]
    4 |   lround(2 * coeffs);
      |          ~~^~~~~~~~
cc1plus: some warnings being treated as errors

while -m64 is fine:

$ g++ heif.ii -c -std=c++14 -Werror=float-conversion

Reply via email to