diff options
author | Tobias Burnus <burnus@net-b.de> | 2013-05-27 14:32:40 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2013-05-27 14:32:40 +0200 |
commit | 9606f3c9b1ba304999a045d8024fb04ab2207418 (patch) | |
tree | ea6d306cc99fa810aa0fbe9d1b3af06b5b6fbf55 /gcc | |
parent | 7894bc6be052d30b0c1a68a95b53afe8728cdb9a (diff) | |
download | gcc-9606f3c9b1ba304999a045d8024fb04ab2207418.zip gcc-9606f3c9b1ba304999a045d8024fb04ab2207418.tar.gz gcc-9606f3c9b1ba304999a045d8024fb04ab2207418.tar.bz2 |
expr.c (gfc_build_intrinsic_call): Make symbol as
2013-05-27 Tobias Burnus <burnus@net-b.de>
* expr.c (gfc_build_intrinsic_call): Make symbol as
* attr.artificial.
* intrinsic.c (gfc_is_intrinsic): Disable std check for those.
From-SVN: r199355
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/fortran/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/fortran/expr.c | 1 | ||||
-rw-r--r-- | gcc/fortran/intrinsic.c | 3 |
3 files changed, 8 insertions, 1 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index eccce10..4d5088e 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,8 @@ +2013-05-27 Tobias Burnus <burnus@net-b.de> + + * 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 <burnus@net-b.de> * resolve.c (get_temp_from_expr): Change mangling to diff --git a/gcc/fortran/expr.c b/gcc/fortran/expr.c index ab62c18..3ece2d3 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 3251ebb..c2e1525 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) |