summaryrefslogtreecommitdiff
path: root/gcc/fortran/expr.c
diff options
context:
space:
mode:
authorkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>2017-05-15 20:43:25 +0000
committerkargl <kargl@138bc75d-0d04-0410-961f-82ee72b054a4>2017-05-15 20:43:25 +0000
commitff4a784fc11c37955a9fe0dddd05e7dfc5268551 (patch)
treedfe5786b02b2fe098fe65782ba24f5f310eb7049 /gcc/fortran/expr.c
parenta3329f8a0caa728cfb83cffeef9bc7837caea7e5 (diff)
2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org>
PR fortran/80752 * expr.c (gfc_generate_initializer): If type conversion fails, check for error and return NULL. 2017-05-15 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/80752 gfortran.dg/pr80752.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@248076 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r--gcc/fortran/expr.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index c8be9513af59..c7d3e549c5b9 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -4395,7 +4395,12 @@ gfc_generate_initializer (gfc_typespec *ts, bool generate)
if ((comp->ts.type != tmp->ts.type
|| comp->ts.kind != tmp->ts.kind)
&& !comp->attr.pointer && !comp->attr.proc_pointer)
- gfc_convert_type_warn (ctor->expr, &comp->ts, 2, false);
+ {
+ bool val;
+ val = gfc_convert_type_warn (ctor->expr, &comp->ts, 1, false);
+ if (val == false)
+ return NULL;
+ }
}
if (comp->attr.allocatable