aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/intrinsic.h
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2011-01-07 17:19:29 +0100
committerTobias Burnus <burnus@gcc.gnu.org>2011-01-07 17:19:29 +0100
commiteaf31d823ff3421a12139fec6d7c9788cf456667 (patch)
tree85c2c6458a7dacec5f59009fd496c87e16d7732e /gcc/fortran/intrinsic.h
parent138d831e9bec104b57e9d063f39ae000021c4360 (diff)
downloadgcc-eaf31d823ff3421a12139fec6d7c9788cf456667.zip
gcc-eaf31d823ff3421a12139fec6d7c9788cf456667.tar.gz
gcc-eaf31d823ff3421a12139fec6d7c9788cf456667.tar.bz2
re PR fortran/41580 ([OOP] SAME_TYPE_AS and EXTENDS_TYPE_OF - add compile-time simplifcation)
2011-01-07 Tobias Burnus <burnus@net-b.de> PR fortran/41580 * class.c (gfc_build_class_symbol): Mark __vtab as attr.vtab. * intrinsic.c (add_functions): Use simplify functions for EXTENDS_TYPE_OF and SAME_TYPE_AS. * intrinsic.h (gfc_simplify_extends_type_of, gfc_simplify_same_type_as): New prototypes. * simplify.c (is_last_ref_vtab, gfc_simplify_extends_type_of, gfc_simplify_same_type_as): New functions. 2011-01-07 Tobias Burnus <burnus@net-b.de> PR fortran/41580 * gfortran.dg/extends_type_of_3.f90: New. From-SVN: r168579
Diffstat (limited to 'gcc/fortran/intrinsic.h')
-rw-r--r--gcc/fortran/intrinsic.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/fortran/intrinsic.h b/gcc/fortran/intrinsic.h
index e9574e8..540cc8e 100644
--- a/gcc/fortran/intrinsic.h
+++ b/gcc/fortran/intrinsic.h
@@ -1,7 +1,7 @@
/* Header file for intrinsics check, resolve and simplify function
prototypes.
Copyright (C) 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
- 2010 Free Software Foundation, Inc.
+ 2010, 2011 Free Software Foundation, Inc.
Contributed by Andy Vaught & Katherine Holcomb
This file is part of GCC.
@@ -267,6 +267,7 @@ gfc_expr *gfc_simplify_erfc (gfc_expr *);
gfc_expr *gfc_simplify_erfc_scaled (gfc_expr *);
gfc_expr *gfc_simplify_exp (gfc_expr *);
gfc_expr *gfc_simplify_exponent (gfc_expr *);
+gfc_expr *gfc_simplify_extends_type_of (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_float (gfc_expr *);
gfc_expr *gfc_simplify_floor (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_fraction (gfc_expr *);
@@ -351,6 +352,7 @@ gfc_expr *gfc_simplify_reshape (gfc_expr *, gfc_expr *, gfc_expr *,
gfc_expr *);
gfc_expr *gfc_simplify_rrspacing (gfc_expr *);
gfc_expr *gfc_simplify_rshift (gfc_expr *, gfc_expr *);
+gfc_expr *gfc_simplify_same_type_as (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_scale (gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_scan (gfc_expr *, gfc_expr *, gfc_expr *, gfc_expr *);
gfc_expr *gfc_simplify_selected_char_kind (gfc_expr *);