From 7f33cfdeb8c879bb0591677159dda02428809028 Mon Sep 17 00:00:00 2001 From: Mark Wielaard Date: Sat, 22 Oct 2016 22:31:25 +0200 Subject: libdw: DWARF5 Add new DW_LANG codes and default lower array bound. Signed-off-by: Mark Wielaard --- libdw/ChangeLog | 11 +++++++++++ libdw/dwarf.h | 10 +++++++++- libdw/dwarf_aggregate_size.c | 11 +++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 3525391a..e0141cc2 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,14 @@ +2016-10-22 Mark Wielaard + + * dwarf.h: Add DW_LANG_OpenCL, DW_LANG_Modula3, + DW_LANG_C_plus_plus_03, DW_LANG_OCaml, DW_LANG_Rust, DW_LANG_Swift, + DW_LANG_Julia, DW_LANG_Dylan and DW_LANG_RenderScript. + * dwarf_aggregate_size.c (array_size): Add lower bound for + DW_LANG_C_plus_plus_03, DW_LANG_Python, DW_LANG_OpenCL, + DW_LANG_Haskell, DW_LANG_OCaml, DW_LANG_Rust, DW_LANG_Swift, + DW_LANG_Dylan, DW_LANG_RenderScript, DW_LANG_Modula3 and + DW_LANG_Julia. + 2016-10-22 Mark Wielaard * dwarf.h: Add DW_CC_pass_by_reference and DW_CC_pass_by_reference. diff --git a/libdw/dwarf.h b/libdw/dwarf.h index 2b46aa9b..d393024f 100644 --- a/libdw/dwarf.h +++ b/libdw/dwarf.h @@ -588,14 +588,22 @@ enum DW_LANG_UPC = 0x0012, /* Unified Parallel C */ DW_LANG_D = 0x0013, /* D */ DW_LANG_Python = 0x0014, /* Python */ + DW_LANG_OpenCL = 0x0015, /* OpenCL */ DW_LANG_Go = 0x0016, /* Go */ + DW_LANG_Modula3 = 0x0017, /* Modula-3 */ DW_LANG_Haskell = 0x0018, /* Haskell */ + DW_LANG_C_plus_plus_03 = 0x0019, /* ISO C++:2003 */ DW_LANG_C_plus_plus_11 = 0x001a, /* ISO C++:2011 */ + DW_LANG_OCaml = 0x001b, /* OCaml */ + DW_LANG_Rust = 0x001c, /* Rust */ DW_LANG_C11 = 0x001d, /* ISO C:2011 */ + DW_LANG_Swift = 0x001e, /* Swift */ + DW_LANG_Julia = 0x001f, /* Julia */ + DW_LANG_Dylan = 0x0020, /* Dylan */ 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_RenderScript = 0x0024, /* RenderScript Kernal Language */ DW_LANG_lo_user = 0x8000, DW_LANG_Mips_Assembler = 0x8001, /* Assembler */ diff --git a/libdw/dwarf_aggregate_size.c b/libdw/dwarf_aggregate_size.c index 52ef0067..4645ff25 100644 --- a/libdw/dwarf_aggregate_size.c +++ b/libdw/dwarf_aggregate_size.c @@ -105,14 +105,23 @@ array_size (Dwarf_Die *die, Dwarf_Word *size, case DW_LANG_C99: case DW_LANG_C11: case DW_LANG_C_plus_plus: + case DW_LANG_C_plus_plus_03: case DW_LANG_C_plus_plus_11: case DW_LANG_C_plus_plus_14: case DW_LANG_ObjC: case DW_LANG_ObjC_plus_plus: case DW_LANG_Java: case DW_LANG_D: + case DW_LANG_Python: case DW_LANG_UPC: + case DW_LANG_OpenCL: case DW_LANG_Go: + case DW_LANG_Haskell: + case DW_LANG_OCaml: + case DW_LANG_Rust: + case DW_LANG_Swift: + case DW_LANG_Dylan: + case DW_LANG_RenderScript: lower = 0; break; @@ -127,7 +136,9 @@ array_size (Dwarf_Die *die, Dwarf_Word *size, case DW_LANG_Fortran08: case DW_LANG_Pascal83: case DW_LANG_Modula2: + case DW_LANG_Modula3: case DW_LANG_PLI: + case DW_LANG_Julia: lower = 1; break; -- cgit v1.2.3