]> git.ipfire.org Git - thirdparty/elfutils.git/commitdiff
libdw: Add DWARF5/GCC5 DW_LANG_Fortran03 and DW_LANG_Fortran08 support.
authorMark Wielaard <mjw@redhat.com>
Mon, 9 Feb 2015 15:47:08 +0000 (16:47 +0100)
committerMark Wielaard <mjw@redhat.com>
Mon, 16 Feb 2015 12:24:34 +0000 (13:24 +0100)
GCC5 adds support for the new Fortran 2003 and 2008 standard DWARF5
language codes. Add them to dwarf.h and handle them in dwarf_aggregate_size.

http://dwarfstd.org/ShowIssue.php?issue=141121.1

Also documented at https://fedorahosted.org/elfutils/wiki/DwarfExtensions

Signed-off-by: Mark Wielaard <mjw@redhat.com>
libdw/ChangeLog
libdw/dwarf.h
libdw/dwarf_aggregate_size.c

index ce4ef8942d18252f7050d9cb5e79877419213e92..59fda1ae2cdc1d1f5374098c77eba58ce2aeb921 100644 (file)
@@ -1,3 +1,9 @@
+2015-02-09  Mark Wielaard  <mjw@redhat.com>
+
+       * dwarf.h: Add DW_LANG_Fortran03 and DW_LANG_Fortran08.
+       * dwarf_aggregate_size.c (array_size): Recognize array lower bound
+       for new Fortran language codes is 1.
+
 2015-02-09  Mark Wielaard  <mjw@redhat.com>
 
        * dwarf.h: Add DW_TAG_atomic_type.
index a97a2c344f017964c72f3570ed12071d66a07a16..5b88c8f4cf6cdcd6ec6c266b6937c10859cc71b6 100644 (file)
@@ -592,6 +592,8 @@ enum
     DW_LANG_C_plus_plus_11 = 0x001a, /* ISO C++:2011 */
     DW_LANG_C11 = 0x001d,           /* ISO C:2011 */
     DW_LANG_C_plus_plus_14 = 0x0021, /* ISO C++:2014 */
+    DW_LANG_Fortran03 = 0x0022,             /* ISO/IEC 1539-1:2004 */
+    DW_LANG_Fortran08 = 0x0023,             /* ISO/IEC 1539-1:2010 */
 
 
     DW_LANG_lo_user = 0x8000,
index 667c2743482a52843174bd22e7e91e2f59f84b13..02478478ead6512a3034182f30ad255a44ad7808 100644 (file)
@@ -123,6 +123,8 @@ array_size (Dwarf_Die *die, Dwarf_Word *size,
                    case DW_LANG_Fortran77:
                    case DW_LANG_Fortran90:
                    case DW_LANG_Fortran95:
+                   case DW_LANG_Fortran03:
+                   case DW_LANG_Fortran08:
                    case DW_LANG_Pascal83:
                    case DW_LANG_Modula2:
                    case DW_LANG_PL1: