From 78689aa295f9b0e54807462d13d3125a5a83c64b Mon Sep 17 00:00:00 2001 From: Ghjuvan Lacambre Date: Mon, 20 Apr 2020 09:41:08 +0200 Subject: [Ada] Do not treat pragma Compile_Time_Warning as error even with -gnatwe 2020-06-18 Ghjuvan Lacambre gcc/ada/ * erroutc.ads: Declare new Is_Compile_Time_Msg boolean, add new Compile_Time_Pragma field to Error_Msg_Object type. (Count_Compile_Time_Pragma_Warnings): New function. * erroutc.adb (Count_Compile_Time_Pragma_Warnings): New function. (Compilation_Errors): Take Compile_Time warnings into account when tallying Errors/Warnings. * errout.ads (Error_Msg): New procedure. * errout.adb (Error_Msg): New procedure. (Error_Msg_Internal): Set new Compile_Time_Pragma field in Error_Msg_Object. * errutil.adb (Error_Msg): Set new Compile_Time_Pragma field in Error_Msg_Object. * sem_prag.adb (Validate_Compile_Time_Warning_Or_Error): Pass True to new Error_Msg procedure. * doc/gnat_rm/implementation_defined_pragmas.rst: Update doc for the Compile_Time_Warning pragma. * gnat_rm.texi: Regenerate. * opt.ads: Update comment. --- gcc/ada/errutil.adb | 39 ++++++++++++++++++++------------------- 1 file changed, 20 insertions(+), 19 deletions(-) (limited to 'gcc/ada/errutil.adb') diff --git a/gcc/ada/errutil.adb b/gcc/ada/errutil.adb index 4b4a695..75d29a9 100644 --- a/gcc/ada/errutil.adb +++ b/gcc/ada/errutil.adb @@ -203,25 +203,26 @@ package body Errutil is Errors.Append (New_Val => - (Text => new String'(Msg_Buffer (1 .. Msglen)), - Next => No_Error_Msg, - Prev => No_Error_Msg, - Sfile => Get_Source_File_Index (Sptr), - Sptr => Sptr, - Optr => Optr, - Line => Get_Physical_Line_Number (Sptr), - Col => Get_Column_Number (Sptr), - Warn => Is_Warning_Msg, - Info => Is_Info_Msg, - Check => Is_Check_Msg, - Warn_Err => Warning_Mode = Treat_As_Error, - Warn_Chr => Warning_Msg_Char, - Style => Is_Style_Msg, - Serious => Is_Serious_Error, - Uncond => Is_Unconditional_Msg, - Msg_Cont => Continuation, - Deleted => False, - Node => Empty)); + (Text => new String'(Msg_Buffer (1 .. Msglen)), + Next => No_Error_Msg, + Prev => No_Error_Msg, + Sfile => Get_Source_File_Index (Sptr), + Sptr => Sptr, + Optr => Optr, + Line => Get_Physical_Line_Number (Sptr), + Col => Get_Column_Number (Sptr), + Compile_Time_Pragma => Is_Compile_Time_Msg, + Warn => Is_Warning_Msg, + Info => Is_Info_Msg, + Check => Is_Check_Msg, + Warn_Err => Warning_Mode = Treat_As_Error, + Warn_Chr => Warning_Msg_Char, + Style => Is_Style_Msg, + Serious => Is_Serious_Error, + Uncond => Is_Unconditional_Msg, + Msg_Cont => Continuation, + Deleted => False, + Node => Empty)); Cur_Msg := Errors.Last; Prev_Msg := No_Error_Msg; -- cgit v1.1