]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/55978 (class_optional_2.f90 -Os fails)
authorJanus Weil <janus@gcc.gnu.org>
Wed, 6 Feb 2013 19:39:35 +0000 (20:39 +0100)
committerJanus Weil <janus@gcc.gnu.org>
Wed, 6 Feb 2013 19:39:35 +0000 (20:39 +0100)
2013-02-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/55978
* runtime/in_pack_generic.c (internal_pack): Return if base_addr is
NULL.

2013-02-06  Janus Weil  <janus@gcc.gnu.org>

PR fortran/55978
* gfortran.dg/class_optional_2.f90: Uncomment some cases which work now.

From-SVN: r195814

gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/class_optional_2.f90
libgfortran/ChangeLog
libgfortran/runtime/in_pack_generic.c

index a2a2bb9515d0b7f769b3883a483ea1eb27a6ae86..fd5146fa7b4bf458e43266507f02d991ec2a99b3 100644 (file)
@@ -1,3 +1,8 @@
+2013-02-06  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55978
+       * gfortran.dg/class_optional_2.f90: Uncomment some cases which work now.
+
 2013-02-06  Jakub Jelinek  <jakub@redhat.com>
 
        PR middle-end/56217
index 90b1719c117c411879a1a99f015637d5dd62058d..3472eaa9735c0b873efaf3f874d1176fae511990 100644 (file)
@@ -3,7 +3,7 @@
 !
 ! PR fortran/50981
 ! PR fortran/54618
-!
+! PR fortran/55978
 
   implicit none
   type t
@@ -547,7 +547,7 @@ contains
 !   call s2elem(z5) ! FIXME: Segfault
 !   call s2elem_t(x) ! FIXME: Conditional jump or move depends on uninitialised value
 !   call s2elem_t(y) ! FIXME: Conditional jump or move depends on uninitialised value
-!   call s2elem_t(z) ! FIXME: Conditional jump or move depends on uninitialised value
+   call s2elem_t(z)
 !   call s2elem_t(z2) ! FIXME: Segfault
 !   call s2elem_t(z3) ! FIXME: Segfault
 !   call s2elem_t(z4) ! FIXME: Segfault
@@ -590,7 +590,7 @@ contains
 !   call s2elem(z5) ! FIXME: Segfault
 !   call s2elem_t2(x) ! FIXME: Conditional jump or move depends on uninitialised value
 !   call s2elem_t2(y) ! FIXME: Conditional jump or move depends on uninitialised value
-!   call s2elem_t2(z) ! FIXME: Conditional jump or move depends on uninitialised value
+   call s2elem_t2(z)
 !   call s2elem_t2(z2) ! FIXME: Segfault
 !   call s2elem_t2(z3) ! FIXME: Segfault
 !   call s2elem_t2(z4) ! FIXME: Segfault
index d4ccff4f2a6b13bc70036fb27f06224ed93ce747..1a42a8449a9375d04c49ee18b35c207f3424c346 100644 (file)
@@ -1,3 +1,9 @@
+2013-02-06  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/55978
+       * runtime/in_pack_generic.c (internal_pack): Return if base_addr is
+       NULL.
+
 2013-01-23  Janne Blomqvist  <jb@gcc.gnu.org>
 
        * io/file_pos.c (unformatted_backspace): Use __builtin_bswapXX
index 34b55033caf62d47ba1b2ff8d855810f1ef1d163..330f0f425db01114941a0dffb201ea3e45f986f8 100644 (file)
@@ -48,6 +48,9 @@ internal_pack (gfc_array_char * source)
   index_type size;
   index_type type_size;
 
+  if (source->base_addr == NULL)
+    return NULL;
+
   type_size = GFC_DTYPE_TYPE_SIZE(source);
   size = GFC_DESCRIPTOR_SIZE (source);
   switch (type_size)