From 9606f3c9b1ba304999a045d8024fb04ab2207418 Mon Sep 17 00:00:00 2001 From: Tobias Burnus Date: Mon, 27 May 2013 14:32:40 +0200 Subject: [PATCH] expr.c (gfc_build_intrinsic_call): Make symbol as 2013-05-27 Tobias Burnus * expr.c (gfc_build_intrinsic_call): Make symbol as * attr.artificial. * intrinsic.c (gfc_is_intrinsic): Disable std check for those. From-SVN: r199355 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/expr.c | 1 + gcc/fortran/intrinsic.c | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index eccce10ee11..4d5088eb7c1 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2013-05-27 Tobias Burnus + + * expr.c (gfc_build_intrinsic_call): Make symbol as attr.artificial. + * intrinsic.c (gfc_is_intrinsic): Disable std check for those. + 2013-05-22 Tobias Burnus * resolve.c (get_temp_from_expr): Change mangling to diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index ab62c180d3d..3ece2d3b70c 100644 --- a/gcc/fortran/expr.c +++ b/gcc/fortran/expr.c @@ -4657,6 +4657,7 @@ gfc_build_intrinsic_call (gfc_namespace *ns, gfc_isym_id id, const char* name, result->symtree->n.sym->intmod_sym_id = id; result->symtree->n.sym->attr.flavor = FL_PROCEDURE; result->symtree->n.sym->attr.intrinsic = 1; + result->symtree->n.sym->attr.artificial = 1; va_start (ap, numarg); atail = NULL; diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c index 3251ebb558d..c2e1525a268 100644 --- a/gcc/fortran/intrinsic.c +++ b/gcc/fortran/intrinsic.c @@ -1046,7 +1046,8 @@ gfc_is_intrinsic (gfc_symbol* sym, int subroutine_flag, locus loc) return false; /* See if this intrinsic is allowed in the current standard. */ - if (!gfc_check_intrinsic_standard (isym, &symstd, false, loc)) + if (!gfc_check_intrinsic_standard (isym, &symstd, false, loc) + && !sym->attr.artificial) { if (sym->attr.proc == PROC_UNKNOWN && gfc_option.warn_intrinsics_std) -- 2.30.2