]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
trans-types.c (gfc_get_desc_dim_type): Do not to try emit debug info.
authorFrancois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Mon, 17 Sep 2007 10:03:12 +0000 (10:03 +0000)
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>
Mon, 17 Sep 2007 10:03:12 +0000 (10:03 +0000)
* trans-types.c (gfc_get_desc_dim_type): Do not to try
emit debug info.
(gfc_get_array_descriptor_base): Likewise.
(gfc_get_mixed_entry_union): Likewise
(gfc_get_derived_type): Set decl location for fields and
derived type itself.

From-SVN: r128540

gcc/fortran/ChangeLog
gcc/fortran/trans-types.c

index 6aca2c7ddd753365a96048eba0f25017babe6023..9137da53870850c9a836c6678e165be6a6d311e1 100644 (file)
@@ -1,3 +1,12 @@
+2007-09-17  Francois-Xavier Coudert  <fxcoudert@gcc.gnu.org>
+
+       * trans-types.c (gfc_get_desc_dim_type): Do not to try
+       emit debug info.
+       (gfc_get_array_descriptor_base): Likewise.
+       (gfc_get_mixed_entry_union): Likewise
+       (gfc_get_derived_type): Set decl location for fields and
+       derived type itself.
+
 2007-09-16  Paul Thomas  <pault@gcc.gnu.org>
 
        PR fortran/29396
index ba72466372c0b790f3636bde3cb3b3d68719ab8e..cfdd39991f53a69e3e586d4972111fd3802b0d90 100644 (file)
@@ -1104,6 +1104,7 @@ gfc_get_desc_dim_type (void)
   TYPE_FIELDS (type) = fieldlist;
 
   gfc_finish_type (type);
+  TYPE_DECL_SUPPRESS_DEBUG (TYPE_STUB_DECL (type)) = 1;
 
   gfc_desc_dim_type = type;
   return type;
@@ -1411,6 +1412,7 @@ gfc_get_array_descriptor_base (int dimen)
   TYPE_FIELDS (fat_type) = fieldlist;
 
   gfc_finish_type (fat_type);
+  TYPE_DECL_SUPPRESS_DEBUG (TYPE_STUB_DECL (fat_type)) = 1;
 
   gfc_array_descriptor_base[dimen - 1] = fat_type;
   return fat_type;
@@ -1807,6 +1809,10 @@ gfc_get_derived_type (gfc_symbol * derived)
       field = gfc_add_field_to_struct (&fieldlist, typenode,
                                       get_identifier (c->name),
                                       field_type);
+      if (c->loc.lb)
+       gfc_set_decl_location (field, &c->loc);
+      else if (derived->declared_at.lb)
+       gfc_set_decl_location (field, &derived->declared_at);
 
       DECL_PACKED (field) |= TYPE_PACKED (typenode);
 
@@ -1820,6 +1826,7 @@ gfc_get_derived_type (gfc_symbol * derived)
   TYPE_FIELDS (typenode) = fieldlist;
 
   gfc_finish_type (typenode);
+  gfc_set_decl_location (TYPE_STUB_DECL (typenode), &derived->declared_at);
 
   derived->backend_decl = typenode;
 
@@ -1897,6 +1904,7 @@ gfc_get_mixed_entry_union (gfc_namespace *ns)
   TYPE_FIELDS (type) = fieldlist;
 
   gfc_finish_type (type);
+  TYPE_DECL_SUPPRESS_DEBUG (TYPE_STUB_DECL (type)) = 1;
   return type;
 }
 \f