http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49565
Summary: character(kind=4) is emitted as DW_ATE_unsigned, not DW_ATE_unsigned_char Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassig...@gcc.gnu.org ReportedBy: tro...@gcc.gnu.org I compiled this program with svn trunk gfortran. I used -gdwarf-4 -g. character(kind=4) :: c character(kind=4,len=5) :: str c = 4_'\u00AE' str = 4_'\u00AE\u01DD' open(6,encoding='utf-8') print *, c print *, str end Then I examined the DWARF. 'c' is ultimately of type: <1><cf>: Abbrev Number: 7 (DW_TAG_base_type) <d0> DW_AT_byte_size : 4 <d1> DW_AT_encoding : 7 (unsigned) <d2> DW_AT_name : (indirect string, offset: 0x67): character(kind=4) I think the encoding should be DW_ATE_unsigned_char instead.