diff options
author | Tobias Burnus <burnus@net-b.de> | 2012-01-19 21:22:33 +0100 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2012-01-19 21:22:33 +0100 |
commit | 8e19c582b18e18030c172cca406b5607114f80cc (patch) | |
tree | cc369f202dad74838a38b0ba5b1231ab1703666c /gcc/fortran/expr.c | |
parent | 58b3ebf2df0eb71597956f6ac3067fa77f6162b5 (diff) | |
download | gcc-8e19c582b18e18030c172cca406b5607114f80cc.zip gcc-8e19c582b18e18030c172cca406b5607114f80cc.tar.gz gcc-8e19c582b18e18030c172cca406b5607114f80cc.tar.bz2 |
re PR fortran/51904 (ICE on SIZE function evaluation)
2012-01-19 Tobias Burnus <burnus@net-b.de>
PR fortran/51904
* expr.c (gfc_build_intrinsic_call): Also set the symtree.
2012-01-19 Tobias Burnus <burnus@net-b.de>
PR fortran/51904
* gfortran.dg/intrinsic_size_2.f90: New.
From-SVN: r183310
Diffstat (limited to 'gcc/fortran/expr.c')
-rw-r--r-- | gcc/fortran/expr.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index 8f04c73..7cea780 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -4519,6 +4519,11 @@ gfc_build_intrinsic_call (const char* name, locus where, unsigned numarg, ...) result->value.function.name = name; result->value.function.isym = isym; + result->symtree = gfc_find_symtree (gfc_current_ns->sym_root, name); + gcc_assert (result->symtree + && (result->symtree->n.sym->attr.flavor == FL_PROCEDURE + || result->symtree->n.sym->attr.flavor == FL_UNKNOWN)); + va_start (ap, numarg); atail = NULL; for (i = 0; i < numarg; ++i) |