diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 4031480cac1ab912885e5b7db55720cb1d59803a..3f14f833498399058a8403016e4152f23229f04f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,11 @@
+2005-12-16  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
+
+	PR libgfortran/25264
+	PR libgfortran/25349
+	* gfortran.dg/tl_editing.f90: Added additional checks.
+	* gfortran.dg/t_editing.f: New test.
+	* gfortran.dg/write_padding.f90: New test
+
 2005-12-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>
 
 	PR testsuite/25215
diff --git a/gcc/testsuite/gfortran.dg/t_editing.f b/gcc/testsuite/gfortran.dg/t_editing.f
new file mode 100644
index 0000000000000000000000000000000000000000..6121e85845a24bbac99d86ce915bba6d7c433c62
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/t_editing.f
@@ -0,0 +1,8 @@
+! { dg-do run }     
+! PR25349 Check T editing. Test case from PR submitted by Thomas Koenig
+! Contributed by Jerry DeLisle <jvdelisle@gcc.gnu.org>
+      program main
+      character(len=10) line
+      write (line,'(1X,A,T1,A)') 'A','B'
+      if (line.ne.'BA') call abort()
+      end
diff --git a/gcc/testsuite/gfortran.dg/tl_editing.f90 b/gcc/testsuite/gfortran.dg/tl_editing.f90
index 8f9702da6ba93e8f15c91325228a9b0bde0e9505..ea86873a726b163ce8f9c3dab95a5eabe64b40be 100644
--- a/gcc/testsuite/gfortran.dg/tl_editing.f90
+++ b/gcc/testsuite/gfortran.dg/tl_editing.f90
@@ -3,12 +3,30 @@
 ! Left tabbing, followed by X or T-tabbing to the right would
 ! cause spaces to be overwritten on output data.
 ! Contributed by Paul Thomas  <pault@gcc.gnu.org>
-  program tl_editting
-    character*10           ::  line
-    character*10           ::  aline = "abcdefxyij"
-    character*2            ::  bline = "gh"
-    character*10           ::  cline = "abcdefghij"
-    write (line, '(a10,tl6,2x,a2)') aline, bline
-    if (line.ne.cline) call abort ()
-  end program tl_editting
+! PR25349 Revised by Jerry DeLisle <jvdelisle@gcc.gnu.org> 
+program tl_editting
+  character*10           ::  line, many(5), s
+  character*10           ::  aline = "abcdefxyij"
+  character*2            ::  bline = "gh"
+  character*10           ::  cline = "abcdefghij"
+
+! Character unit test
+  write (line, '(a10,tl6,2x,a2)') aline, bline
+  if (line.ne.cline) call abort ()
+
+! Character array unit test
+  many = "0123456789"
+  write(many(1:5:2), '(a10,tl6,2x,a2)') aline, bline, aline, bline, aline,&
+  &bline
+  if (many(1).ne.cline) call abort ()
+  if (many(3).ne.cline) call abort ()
+  if (many(5).ne.cline) call abort ()
+
+! File unit test
+  write (10, '(a10,tl6,2x,a2)') aline, bline
+  rewind(10)
+  read(10, '(a)') s
+  if (s.ne.cline) call abort
+  
+end program tl_editting
 
diff --git a/gcc/testsuite/gfortran.dg/write_padding.f90 b/gcc/testsuite/gfortran.dg/write_padding.f90
new file mode 100644
index 0000000000000000000000000000000000000000..e1c37917dc40710ba51e29f8dacedfbbd5bdf4e5
--- /dev/null
+++ b/gcc/testsuite/gfortran.dg/write_padding.f90
@@ -0,0 +1,13 @@
+! { dg-do run }
+! PR25264 Verify that the internal unit, str, is not cleared
+! before it is needed elsewhere.  This is an extension.
+! Test derived from test case by JPR. Contributed by
+! Jerry DeLisle <jvdelisle@verizon.net>.
+program write_padding
+   character(len=10) :: str
+   real :: atime
+   str = '123'
+   write( str, '(a3,i1)' ) trim(str),4
+   if (str.ne."1234") call abort()
+end program write_padding
+