diff options
author | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-01-19 20:22:33 +0000 |
---|---|---|
committer | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-01-19 20:22:33 +0000 |
commit | 799347b4f3a31352a3d3e3797b28abc41580cdf5 (patch) | |
tree | cc369f202dad74838a38b0ba5b1231ab1703666c /gcc | |
parent | 8c1094a62cdc4bf69447af40b0780c6b4ba5492e (diff) | |
download | gcc-799347b4f3a31352a3d3e3797b28abc41580cdf5.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183310 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/expr.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/intrinsic_size_2.f90 | 17 |
4 files changed, 32 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index db01c0cfbe2..c3106a5e1b0 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2012-01-19 Tobias Burnus <burnus@net-b.de> + + PR fortran/51904 + * expr.c (gfc_build_intrinsic_call): Also set the symtree. + 2012-01-18 Paul Thomas <pault@gcc.gnu.org> PR fortran/51634 diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index 8f04c731077..7cea780693d 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) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index ea028e13bbe..eb1663c0e0f 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-01-19 Tobias Burnus <burnus@net-b.de> + + PR fortran/51904 + * gfortran.dg/intrinsic_size_2.f90: New. + 2012-01-19 Jason Merrill <jason@redhat.com> PR c++/51889 diff --git a/gcc/testsuite/gfortran.dg/intrinsic_size_2.f90 b/gcc/testsuite/gfortran.dg/intrinsic_size_2.f90 new file mode 100644 index 00000000000..6070bc21b7d --- /dev/null +++ b/gcc/testsuite/gfortran.dg/intrinsic_size_2.f90 @@ -0,0 +1,17 @@ +! { dg-do compile } +! +! PR fortran/51904 +! +! Contributed by David Sagan. +! + +call qp_draw_polyline_basic([1.0,2.0]) +contains +subroutine qp_draw_polyline_basic (x) + implicit none + real :: x(:), f + integer :: i + f = 0 + print *, size(f*x) +end subroutine +end |