This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
The problem here is that we have a return slot and a complex type and nrv has happened so that the complex variable for the return value has already not been consided a gimple variable. So when we inline the function in, we now have a variable which is marked as a gimple variable but is used not as one through IMAG_EXPR/REAL_EXPR use on the lhs. This fixes the problem by marking that variable as a non gimple variable when inlining if we are using it for a return slot and the return value was marked as a non gimple variable. OK? Bootstrapped and tested on x86_64-pc-linux-gnu with no regressions. Thanks, Andrew Pinski ChangeLog: * tree-inline.c (declare_return_variable): If the return variable was marked as a non gimple complex, set the return slot variable to be a non gimple comple variable.
Attachment:
fixPR24365.diff.txt
Description: ASCII C program text
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |