diff options
author | Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2007-09-17 10:03:12 +0000 |
---|---|---|
committer | François-Xavier Coudert <fxcoudert@gcc.gnu.org> | 2007-09-17 10:03:12 +0000 |
commit | dfcf0b12d158836cc29b0c373584a73dd7b68de8 (patch) | |
tree | 1240b84b2bd7df4c7d14bd5e25babb63287c7bd8 | |
parent | 42cbdeac683d395849c9fee5e3e07b6a00093c5a (diff) | |
download | gcc-dfcf0b12d158836cc29b0c373584a73dd7b68de8.zip gcc-dfcf0b12d158836cc29b0c373584a73dd7b68de8.tar.gz gcc-dfcf0b12d158836cc29b0c373584a73dd7b68de8.tar.bz2 |
trans-types.c (gfc_get_desc_dim_type): Do not to try emit debug info.
* 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
-rw-r--r-- | gcc/fortran/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/fortran/trans-types.c | 8 |
2 files changed, 17 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 6aca2c7..9137da5 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -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 diff --git a/gcc/fortran/trans-types.c b/gcc/fortran/trans-types.c index ba72466..cfdd399 100644 --- a/gcc/fortran/trans-types.c +++ b/gcc/fortran/trans-types.c @@ -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; } |