PR 78867 Function returning string ICE with -flto
authorJanne Blomqvist <jb@gcc.gnu.org>
Wed, 21 Dec 2016 09:41:25 +0000 (11:41 +0200)
committerJanne Blomqvist <jb@gcc.gnu.org>
Wed, 21 Dec 2016 09:41:25 +0000 (11:41 +0200)
commitb528e42751b731746d98427fb6d9ec8634a72555
tree40a33129018f1c26c5b431a7a91fa5eb335c0ed2
parentf7db9ebf2b793ee115d572267b8c97362f43575c
PR 78867 Function returning string ICE with -flto

The fix for PR 78757 was slightly too cautious, and covered only the
case of functions returning pointers to characters. By moving the
block above the if statement the DECL_EXPR is created also for
functions returning non-pointer characters.

Regtested on x86_64-pc-linux-gnu.

fortran ChangeLog:

2016-12-21  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/78867
* trans-expr.c (gfc_conv_procedure_call): Emit DECL_EXPR also for
non-pointer character results.

testsuite ChangeLog:

2016-12-21  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/78867
* gfortran.dg/string_length_4.f90: New test.

From-SVN: r243842
gcc/fortran/ChangeLog
gcc/fortran/trans-expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/string_length_4.f90 [new file with mode: 0644]