[Dwarf-discuss] Proposal: C standard release dates for DW_AT_language_version, clarify semantics

Adrian Prantl aprantl@apple.com
Wed Apr 24 21:45:25 GMT 2024


The back story here is that I am trying to implement the new language attributes in LLVM, which is why I'm finding all these bugs, omissions, and ambiguities:

https://github.com/llvm/llvm-project/pull/89980

cheers,
Adrian

> On Apr 24, 2024, at 2:25 PM, Adrian Prantl via Dwarf-discuss <dwarf-discuss@lists.dwarfstd.org> wrote:
> 
> # C standard release dates for DW_AT_language_version, clarify semantics
> 
> ## Background
> 
> The list of languages at https://dwarfstd.org/languages-v6.html does not list release dates for the ISO C standard. Producers need to know what version numbers they should produce though. I scanned the ISO website for appropriate dates to use.
> 
> ## Proposed Changes
> 
> Augment the table of language encodings to add
> C (K&R and ISO) DW_LNAME_C 0x0003 0 YYYYMM 
> 
> K&R 000000
> C89 198912
> C99 199912
> C11 201112
> C17 201806 (sic!)
> C2x >201806
> 
> Add the following non-normative wording: 
> 
> To convert a version number to a specific release, it is good practice to treat the YYYMM version numbers listed in this document as the maximum version that is interpreted as belonging to a specific release. This way consumers can emit version numbers for unreleased upcoming specifications, by using, e.g., the date the compiler was built.
> 
> ## Dependencies
> 
> Issue 210419.1 
> 
> ## References
> 
> https://iso-9899.info/wiki/The_Standard
> 
> C89: https://www.iso.org/standard/17782.html
> C99: https://www.iso.org/standard/29237.html
> C11: https://www.iso.org/standard/57853.html
> C17: https://www.iso.org/standard/74528.html
> 
> https://dwarfstd.org/languages-v6.html
> -- 
> Dwarf-discuss mailing list
> Dwarf-discuss@lists.dwarfstd.org
> https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss



More information about the Dwarf-discuss mailing list