This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/49565] character(kind=4) is emitted as DW_ATE_unsigned, not DW_ATE_unsigned_char
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 28 Jun 2011 16:55:19 +0000
- Subject: [Bug fortran/49565] character(kind=4) is emitted as DW_ATE_unsigned, not DW_ATE_unsigned_char
- Auto-submitted: auto-generated
- References: <bug-49565-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49565
--- Comment #3 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-06-28 16:55:16 UTC ---
(In reply to comment #2)
> /* For Fortran multidimensional arrays use DW_ORD_col_major ordering. */
> if (is_fortran ()
> && TREE_CODE (type) == ARRAY_TYPE
> && TREE_CODE (TREE_TYPE (type)) == ARRAY_TYPE
> && !TYPE_STRING_FLAG (TREE_TYPE (type)))
> add_AT_unsigned (array_die, DW_AT_ordering, DW_ORD_col_major);
It's too warm to think poperly: TREE_CODE (type) is ARRAY_TYPE but
TREE_CODE(TREE_TYPE(type)) is INTEGER_TYPE - not an ARRAY_TYPE; hence the code
is never executed. Nevertheless, the issue is presumably related to type having
TYPE_STRING_FLAG set, but TREE_TYPE(type) having it not.