OSDN Git Service

2010-05-02 Tobias Burnus <burnus@net-b.de>
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 2 May 2010 15:13:03 +0000 (15:13 +0000)
committerMasaki Muranaka <monaka@monami-software.com>
Sun, 23 May 2010 05:37:43 +0000 (14:37 +0900)
        PR fortran/18918
        * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_*
        calls for lcobound, ucobound, image_index and this_image.
        * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
        gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
        * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
        gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
        functions.
        (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158974 138bc75d-0d04-0410-961f-82ee72b054a4

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

index e612ebb..085e9fa 100644 (file)
@@ -1,4 +1,16 @@
-2010-04-30  Tobias Burnus  Mburnus@net-b.de>
+2010-05-02  Tobias Burnus  <burnus@net-b.de>
+
+       PR fortran/18918
+       * intrinsic.c (add_functions): Fix GFC_STD and add gfc_resolve_ calls
+       for lcobound, ucobound, image_index and this_image.
+       * intrinsic.h (gfc_resolve_lcobound, gfc_resolve_this_image,
+       gfc_resolve_image_index, gfc_resolve_ucobound): New prototypes.
+       * iresolve.c (gfc_resolve_lcobound, gfc_resolve_this_image,
+       gfc_resolve_image_index, gfc_resolve_ucobound, resolve_bound): New
+       functions.
+       (gfc_resolve_lbound, gfc_resolve_ubound): Use resolve_bound.
+
+2010-04-30  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/18918
        PR fortran/43931
 
        PR fortran/18918
        PR fortran/43931
index c91cf33..ff0049b 100644 (file)
@@ -1783,7 +1783,7 @@ add_functions (void)
   make_generic ("ierrno", GFC_ISYM_IERRNO, GFC_STD_GNU);
 
   add_sym_2 ("image_index", GFC_ISYM_IMAGE_INDEX, CLASS_INQUIRY, ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2008,
   make_generic ("ierrno", GFC_ISYM_IERRNO, GFC_STD_GNU);
 
   add_sym_2 ("image_index", GFC_ISYM_IMAGE_INDEX, CLASS_INQUIRY, ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2008,
-            gfc_check_image_index, gfc_simplify_image_index, NULL,
+            gfc_check_image_index, gfc_simplify_image_index, gfc_resolve_image_index,
             ca, BT_REAL, dr, REQUIRED, sub, BT_INTEGER, ii, REQUIRED);
 
   /* The resolution function for INDEX is called gfc_resolve_index_func
             ca, BT_REAL, dr, REQUIRED, sub, BT_INTEGER, ii, REQUIRED);
 
   /* The resolution function for INDEX is called gfc_resolve_index_func
@@ -1922,12 +1922,12 @@ add_functions (void)
   make_generic ("lbound", GFC_ISYM_LBOUND, GFC_STD_F95);
 
   add_sym_3 ("lcobound", GFC_ISYM_LCOBOUND, CLASS_INQUIRY, ACTUAL_NO,
   make_generic ("lbound", GFC_ISYM_LBOUND, GFC_STD_F95);
 
   add_sym_3 ("lcobound", GFC_ISYM_LCOBOUND, CLASS_INQUIRY, ACTUAL_NO,
-            BT_INTEGER, di, GFC_STD_F95,
-            gfc_check_lcobound, gfc_simplify_lcobound, NULL,
+            BT_INTEGER, di, GFC_STD_F2008,
+            gfc_check_lcobound, gfc_simplify_lcobound, gfc_resolve_lcobound,
             ca, BT_REAL, dr, REQUIRED, dm, BT_INTEGER, ii, OPTIONAL,
             kind, BT_INTEGER, di, OPTIONAL);
 
             ca, BT_REAL, dr, REQUIRED, dm, BT_INTEGER, ii, OPTIONAL,
             kind, BT_INTEGER, di, OPTIONAL);
 
-  make_generic ("lcobound", GFC_ISYM_LCOBOUND, GFC_STD_F95);
+  make_generic ("lcobound", GFC_ISYM_LCOBOUND, GFC_STD_F2008);
 
   add_sym_1 ("leadz", GFC_ISYM_LEADZ, CLASS_ELEMENTAL, ACTUAL_NO,
             BT_INTEGER, di, GFC_STD_F2008,
 
   add_sym_1 ("leadz", GFC_ISYM_LEADZ, CLASS_ELEMENTAL, ACTUAL_NO,
             BT_INTEGER, di, GFC_STD_F2008,
@@ -2537,7 +2537,7 @@ add_functions (void)
   make_generic ("tanh", GFC_ISYM_TANH, GFC_STD_F77);
 
   add_sym_2 ("this_image", GFC_ISYM_THIS_IMAGE, CLASS_INQUIRY, ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2008,
   make_generic ("tanh", GFC_ISYM_TANH, GFC_STD_F77);
 
   add_sym_2 ("this_image", GFC_ISYM_THIS_IMAGE, CLASS_INQUIRY, ACTUAL_NO, BT_INTEGER, di, GFC_STD_F2008,
-            gfc_check_this_image, gfc_simplify_this_image, NULL,
+            gfc_check_this_image, gfc_simplify_this_image, gfc_resolve_this_image,
             ca, BT_REAL, dr, OPTIONAL, dm, BT_INTEGER, ii, OPTIONAL);
 
   add_sym_0 ("time", GFC_ISYM_TIME, NO_CLASS, ACTUAL_NO, BT_INTEGER, di, GFC_STD_GNU, 
             ca, BT_REAL, dr, OPTIONAL, dm, BT_INTEGER, ii, OPTIONAL);
 
   add_sym_0 ("time", GFC_ISYM_TIME, NO_CLASS, ACTUAL_NO, BT_INTEGER, di, GFC_STD_GNU, 
@@ -2597,12 +2597,12 @@ add_functions (void)
   make_generic ("ubound", GFC_ISYM_UBOUND, GFC_STD_F95);
 
   add_sym_3 ("ucobound", GFC_ISYM_UCOBOUND, CLASS_INQUIRY, ACTUAL_NO,
   make_generic ("ubound", GFC_ISYM_UBOUND, GFC_STD_F95);
 
   add_sym_3 ("ucobound", GFC_ISYM_UCOBOUND, CLASS_INQUIRY, ACTUAL_NO,
-            BT_INTEGER, di, GFC_STD_F95,
-            gfc_check_ucobound, gfc_simplify_ucobound, NULL,
+            BT_INTEGER, di, GFC_STD_F2008,
+            gfc_check_ucobound, gfc_simplify_ucobound, gfc_resolve_ucobound,
             ca, BT_REAL, dr, REQUIRED, dm, BT_INTEGER, ii, OPTIONAL,
             kind, BT_INTEGER, di, OPTIONAL);
 
             ca, BT_REAL, dr, REQUIRED, dm, BT_INTEGER, ii, OPTIONAL,
             kind, BT_INTEGER, di, OPTIONAL);
 
-  make_generic ("ucobound", GFC_ISYM_UCOBOUND, GFC_STD_F95);
+  make_generic ("ucobound", GFC_ISYM_UCOBOUND, GFC_STD_F2008);
 
   /* g77 compatibility for UMASK.  */
   add_sym_1 ("umask", GFC_ISYM_UMASK, NO_CLASS, ACTUAL_NO, BT_INTEGER, di,
 
   /* g77 compatibility for UMASK.  */
   add_sym_1 ("umask", GFC_ISYM_UMASK, NO_CLASS, ACTUAL_NO, BT_INTEGER, di,