This patch adds a new function Compilation_ISO_Date to package GNAT.Source_Info. It is identical to Compilation_Date, except that the date is returned in standard ISO form -- "yyyy-mm-dd". This form has the advantage that string comparisons like "<" can be used to determine the order of dates. The following source file should compile with errors (assuming the current date is in the 21'st century): gnatmake -q -f very_obsolete.ads very_obsolete.ads:4:30: Delete this package from library gnatmake: "very_obsolete.ads" compilation error with GNAT.Source_Info; package Very_Obsolete is pragma Obsolescent (Very_Obsolete,"This package will be compleatly removed 1999-01-01"); pragma Compile_Time_Error (GNAT.Source_Info.Compilation_ISO_Date > "1999-01-01", "Delete this package from library"); end Very_Obsolete; Tested on x86_64-pc-linux-gnu, committed on trunk 2016-04-18 Bob Duff * g-souinf.ads (Compilation_ISO_Date): New function to return the current date in ISO form. * exp_intr.adb (Expand_Source_Info, Add_Source_Info): Expand a call to Compilation_ISO_Date into a string literal containing the current date in ISO form. * exp_intr.ads (Add_Source_Info): Improve documentation. * sem_intr.adb (Check_Intrinsic_Subprogram): Recognize Compilation_ISO_Date. * snames.ads-tmpl (Name_Compilation_ISO_Date): New Name_Id.