From cefcf73f14525ecae4adc03830fa48d3af3a84ee Mon Sep 17 00:00:00 2001 From: burnus Date: Mon, 27 May 2013 12:32:40 +0000 Subject: 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@199355 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/fortran/ChangeLog | 5 +++++ gcc/fortran/expr.c | 1 + gcc/fortran/intrinsic.c | 3 ++- 3 files changed, 8 insertions(+), 1 deletion(-) (limited to 'gcc/fortran') 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) -- cgit v1.2.1