expr.c (gfc_build_intrinsic_call): Make symbol as
authorTobias Burnus <burnus@net-b.de>
Mon, 27 May 2013 12:32:40 +0000 (14:32 +0200)
committerTobias Burnus <burnus@gcc.gnu.org>
Mon, 27 May 2013 12:32:40 +0000 (14:32 +0200)
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

gcc/fortran/ChangeLog
gcc/fortran/expr.c
gcc/fortran/intrinsic.c

index eccce10ee111f2f3b1b7a320ec784e5ae0f25bc3..4d5088eb7c146b566e0c06b17ac1094119e1c108 100644 (file)
@@ -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
index ab62c180d3d93e461aaa91229e9126b54d0ddc88..3ece2d3b70c07fc727808881a0d05e3265347721 100644 (file)
@@ -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;
index 3251ebb558df288d75577f2208d3b1a15e5451e0..c2e1525a26832fd3a3fe3b3b593629cbb39a3193 100644 (file)
@@ -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)