PR fortran/83344 Don't set bogus constant value
authorJanne Blomqvist <jb@gcc.gnu.org>
Thu, 28 Dec 2017 18:49:12 +0000 (20:49 +0200)
committerJanne Blomqvist <jb@gcc.gnu.org>
Thu, 28 Dec 2017 18:49:12 +0000 (20:49 +0200)
commit208413c7b4d3a2360ba4864f00ceaf720b4f67c7
tree580b1b983ec82b840b86649b556573849f117aa4
parent9fd8313a89d1c76b3f204b33c854e3cdc4b5a2d7
PR fortran/83344 Don't set bogus constant value

This patch does not fix PR 83344, but merely fixes an error where we
used to set a constant character length value from a non-constant
expression, and thus set it to some bogus value.

As a result of this, I have commented out part of the associate_22.f90
test which otherwise generates a warning message.

Regtested on x86_64-pc-linux-gnu.

gcc/fortran/ChangeLog:

2017-12-28  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/83344
* resolve.c (resolve_assoc_var): Don't set the constant value
unless the target is a constant expression.

gcc/testsuite/ChangeLog:

2017-12-28  Janne Blomqvist  <jb@gcc.gnu.org>

PR fortran/83344
* gfortran.dg/associate_22.f90: Comment out part of test.

From-SVN: r256021
gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/associate_22.f90