aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorTobias Burnus <burnus@net-b.de>2013-05-27 14:32:40 +0200
committerTobias Burnus <burnus@gcc.gnu.org>2013-05-27 14:32:40 +0200
commit9606f3c9b1ba304999a045d8024fb04ab2207418 (patch)
treeea6d306cc99fa810aa0fbe9d1b3af06b5b6fbf55 /gcc
parent7894bc6be052d30b0c1a68a95b53afe8728cdb9a (diff)
downloadgcc-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/ChangeLog5
-rw-r--r--gcc/fortran/expr.c1
-rw-r--r--gcc/fortran/intrinsic.c3
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)