https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93589
Bug ID: 93589
Summary: Template instantiation creates a conversion warning
when it should not
Product: gcc
Version: 9.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: lokeshjanghel91 at gmail dot com
Target Milestone: ---
Created attachment 47780
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=47780&action=edit
Run the attached file with -Wconversion
When compiling the attached file, a conversion warning is given if the compiler
is GCC. This does not happen with CLANG.
$ g++ -Wconversion example.cpp
example.cpp: In instantiation of ‘void print_byte_order(T) [with T = short
int]’:
example.cpp:12:27: required from here
example.cpp:7:5: warning: conversion to ‘short int’ from ‘int’ may alter its
value [-Wconversion]
val |=( 5 * static_cast<T>(i));
^