https://gcc.gnu.org/bugzilla/show_bug.cgi?id=125928
Bug ID: 125928
Summary: Inconsistent -Wconversion
Product: gcc
Version: 16.1.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: nikita.leontiev at gmail dot com
Target Milestone: ---
-Wconversion is not triggered for the code below when const is used:
int main()
{
unsigned long long num = 1000, div1 = 5;
double res = static_cast<double>(num) / div1;
const unsigned long long div2 = 5;
res = static_cast<double>(num) / div2;
return 0;
}
main.cpp: In function 'int main()':
main.cpp:4:49: warning: conversion from 'long long unsigned int' to 'double'
may change value [-Wconversion]
4 | double res = static_cast<double>(num) / div1;
| ^~~~