aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2013-01-03 17:14:54 +0100
committerJanus Weil <janus@gcc.gnu.org>2013-01-03 17:14:54 +0100
commit8988cde62b4b1edc8fa6cdee6e02b09c6c9f15d4 (patch)
treeafefe9f86acc329127bc795a8d892848d8f080d6 /gcc/fortran
parent59fd17e3a69e7b826e4926e44476e7ba08962aa9 (diff)
downloadgcc-8988cde62b4b1edc8fa6cdee6e02b09c6c9f15d4.zip
gcc-8988cde62b4b1edc8fa6cdee6e02b09c6c9f15d4.tar.gz
gcc-8988cde62b4b1edc8fa6cdee6e02b09c6c9f15d4.tar.bz2
re PR fortran/55855 ([OOP] incorrect warning with procedure pointer component on pointer-valued base object)
2013-01-03 Janus Weil <janus@gcc.gnu.org> PR fortran/55855 * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes of rvalue. Correct hyphenation in error message. 2013-01-03 Janus Weil <janus@gcc.gnu.org> PR fortran/55855 * gfortran.dg/assignment_1.f90: Modified. * gfortran.dg/assignment_4.f90: New. From-SVN: r194857
Diffstat (limited to 'gcc/fortran')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/expr.c5
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 1fc88f2..2b050b1 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2013-01-03 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/55855
+ * expr.c (gfc_check_assign): Use 'gfc_expr_attr' to evaluate attributes
+ of rvalue. Correct hyphenation in error message.
+
2013-01-03 Jakub Jelinek <jakub@redhat.com>
* gfortranspec.c (lang_specific_driver): Update copyright notice
diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c
index 5c9ce11..2610784 100644
--- a/gcc/fortran/expr.c
+++ b/gcc/fortran/expr.c
@@ -3151,9 +3151,8 @@ gfc_check_assign (gfc_expr *lvalue, gfc_expr *rvalue, int conform)
/* This is possibly a typo: x = f() instead of x => f(). */
if (gfc_option.warn_surprising
- && rvalue->expr_type == EXPR_FUNCTION
- && rvalue->symtree->n.sym->attr.pointer)
- gfc_warning ("POINTER valued function appears on right-hand side of "
+ && rvalue->expr_type == EXPR_FUNCTION && gfc_expr_attr (rvalue).pointer)
+ gfc_warning ("POINTER-valued function appears on right-hand side of "
"assignment at %L", &rvalue->where);
/* Check size of array assignments. */