[Bug c++/103954] New: GCC did not generate correct code for template function with O2
woodhead99 at gmail dot com
gcc-bugzilla@gcc.gnu.org
Sun Jan 9 15:54:27 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103954
Bug ID: 103954
Summary: GCC did not generate correct code for template
function with O2
Product: gcc
Version: unknown
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: woodhead99 at gmail dot com
Target Milestone: ---
Created attachment 52147
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=52147&action=edit
gcc version, command line option, .ii file and a detailed issue description
I have encountered an optimization issue with O2 option.
A variable is expected to change after a function call. but the compiler did
not generate the function correctly, more precisely the function is an inline
function, which calls a template function, but the code for the inner template
function was not generated.
The compiler seems to assume the variable keep unchanged through the call, and
optimized out the template function body.
This issue happens only with O2 option. O0 and O1 are OK.
More information about the Gcc-bugs
mailing list