simplify.c (gfc_simplify_verify): Fix return when SET=''.
authorSteven G. Kargl <kargls@comcast.net>
Mon, 6 Mar 2006 20:43:22 +0000 (20:43 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Mon, 6 Mar 2006 20:43:22 +0000 (20:43 +0000)
2006-03-06  Steven G. Kargl  <kargls@comcast.net>

        * simplify.c (gfc_simplify_verify):  Fix return when SET=''.
        * gfortran.dg/verify_2.f90:  New test.

From-SVN: r111791

gcc/fortran/ChangeLog
gcc/fortran/simplify.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/verify_2.f90 [new file with mode: 0644]

index e3fb42c97b365ac446cc10fdaeee75489a8f14a2..ddb49cc2d770e6fc05136acce80f93f58bcaee42 100644 (file)
@@ -1,3 +1,7 @@
+2006-03-05  Steven G. Kargl  <kargls@comcast.net>
+
+       * simplify.c (gfc_simplify_verify):  Fix return when SET=''.
+
 2005-03-05  Erik Edelmann  <eedelman@gcc.gnu.org>
 
        PR fortran/16136
index b47707896aeb13cd7561343422b891c47788cf89..d5dfb344fcb333f87e30c24d2e8dd7220d799297 100644 (file)
@@ -3759,7 +3759,7 @@ gfc_simplify_verify (gfc_expr * s, gfc_expr * set, gfc_expr * b)
     {
       if (lenset == 0)
        {
-         mpz_set_ui (result->value.integer, len);
+         mpz_set_ui (result->value.integer, 1);
          return result;
        }
 
@@ -3773,7 +3773,7 @@ gfc_simplify_verify (gfc_expr * s, gfc_expr * set, gfc_expr * b)
     {
       if (lenset == 0)
        {
-         mpz_set_ui (result->value.integer, 1);
+         mpz_set_ui (result->value.integer, len);
          return result;
        }
       for (index = len; index > 0; index --)
index 14a14695f6e9cff58a3959574ff39590e89ee9ff..8329ae401b2b8e376b5014bf60022da5bae6c6a5 100644 (file)
@@ -1,3 +1,7 @@
+2006-03-06  Steven G. Kargl  <kargls@comcast.net>
+
+       * gfortran.dg/verify_2.f90: New test.
+
 2006-03-06  Steven G. Kargl  <kargls@comcast.net>
 
        * gfortran.dg/equiv_1.f90: Replace tab(s) with spaces.
diff --git a/gcc/testsuite/gfortran.dg/verify_2.f90 b/gcc/testsuite/gfortran.dg/verify_2.f90
new file mode 100644 (file)
index 0000000..705d775
--- /dev/null
@@ -0,0 +1,11 @@
+! { dg-do run }
+program verify_2
+  character(len=3) s1, s2
+  s1 = 'abc'
+  s2 = ''
+  if (verify('ab', '') /= 1) call abort
+  if (verify(s1, s2)   /= 1) call abort
+  if (verify('abc', '', .true.) /= 3) call abort
+  if (verify(s1, s2, .true.) /= 3) call abort
+end program verify_2
+