DWARF Version 6 Language and Version Codes
Note: The information on this page is part of the Draft of DWARF Version 6 and is subject to change.
Issue 210419.1
introduced a way to separately specify languages and versions, and is
expected to be adopted for DWARF Version 6.
As described in the proposal, each supported language has a specified
value for DW_AT_language_name
and each version of that language has a
unique DW_AT_language_version
.
Issue 210514.1 introduced two additional version schemes.
New language codes may be added by submitting a request. See the Public Comment page.
Language Codes
Language | Language Code (DW_AT_language_name ) |
Value | Default Lower Bound | Version Scheme |
---|---|---|---|---|
ISO Ada | DW_LNAME_Ada |
0x0001 | 1 | YYYY |
BLISS | DW_LNAME_BLISS |
0x0002 | 0 | |
C (K&R and ISO) | DW_LNAME_C |
0x0003 | 0 | YYYYMM |
ISO C++ | DW_LNAME_C_plus_plus |
0x0004 | 0 | YYYYMM |
ISO Cobol | DW_LNAME_Cobol |
0x0005 | 1 | YYYY |
Crystal | DW_LNAME_Crystal |
0x0006 | 0 | |
D | DW_LNAME_D |
0x0007 | 0 | |
Dylan | DW_LNAME_Dylan |
0x0008 | 0 | |
ISO Fortran | DW_LNAME_Fortran |
0x0009 | 1 | YYYY |
Go | DW_LNAME_Go |
0x000a | 0 | |
Haskell | DW_LNAME_Haskell |
0x000b | 0 | |
Java | DW_LNAME_Java |
0x000c | 0 | |
Julia | DW_LNAME_Julia |
0x000d | 1 | |
Kotlin | DW_LNAME_Kotlin |
0x000e | 0 | |
Modula 2 | DW_LNAME_Modula2 |
0x000f | 1 | |
Modula 3 | DW_LNAME_Modula3 |
0x0010 | 1 | |
Objective C | DW_LNAME_ObjC |
0x0011 | 0 | YYYYMM |
Objective C++ | DW_LNAME_ObjC_plus_plus |
0x0012 | 0 | YYYYMM |
OCaml | DW_LNAME_OCaml |
0x0013 | 0 | |
OpenCL C | DW_LNAME_OpenCL_C |
0x0014 | 0 | |
ISO Pascal | DW_LNAME_Pascal |
0x0015 | 1 | YYYY |
ANSI PL/I | DW_LNAME_PLI |
0x0016 | 1 | |
Python | DW_LNAME_Python |
0x0017 | 0 | |
RenderScript Kernel Language | DW_LNAME_RenderScript |
0x0018 | 0 | |
Rust | DW_LNAME_Rust |
0x0019 | 0 | |
Swift | DW_LNAME_Swift |
0x001a | 0 | VVMM |
Unified Parallel C (UPC) | DW_LNAME_UPC |
0x001b | 0 | |
Zig | DW_LNAME_Zig |
0x001c | 0 | |
Assembly | DW_LNAME_Assembly |
0x001d | 0 | |
C# | DW_LNAME_C_sharp |
0x001e | 0 | |
Mojo | DW_LNAME_Mojo |
0x001f | 0 | |
OpenGL Shading Language | DW_LNAME_GLSL |
0x0020 | 0 | VVMMPP |
OpenGL ES Shading Language | DW_LNAME_GLSL_ES |
0x0021 | 0 | VVMMPP |
High Level Shading Language | DW_LNAME_HLSL |
0x0022 | 0 | YYYY |
OpenCL C++ | DW_LNAME_OpenCL_CPP |
0x0023 | 0 | VVMM |
C++ for OpenCL | DW_LNAME_CPP_for_OpenCL |
0x0024 | 0 | VVMM |
SYCL | DW_LNAME_SYCL |
0x0025 | 0 | YYYYRR |
Ruby | DW_LNAME_Ruby |
0x0026 | 0 | VVMMPP |
Move | DW_LNAME_Move |
0x0027 | 0 | YYYYMM |
Hylo | DW_LNAME_Hylo |
0x0028 | 0 | |
HIP | DW_LNAME_HIP |
0x0029 | 0 |
Version Codes
Language version codes are supplied here for informative purposes only, and are not an official part of the DWARF specification. To add version codes for additional languages, please send a request via the Public Comment page.
Version codes (DW_AT_language_version
) for C:
C Version | DW_AT_language_version |
---|---|
K&R | 000000 |
C89 | 198912 |
C99 | 199901 |
C11 | 201112 |
C17 | 201710 |
C23 | 202311 |
Version codes (DW_AT_language_version
) for ISO C++:
C++ Version | DW_AT_language_version |
---|---|
C++98 | 199711 |
C++11 | 201103 |
C++14 | 201402 |
C++17 | 201703 |
C++20 | 202002 |