aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/errutil.adb
diff options
context:
space:
mode:
authorGhjuvan Lacambre <lacambre@adacore.com>2020-04-20 09:41:08 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2020-06-18 05:08:24 -0400
commit78689aa295f9b0e54807462d13d3125a5a83c64b (patch)
tree70f7c01b42926dbd73c20404cad0d85b5bded9dc /gcc/ada/errutil.adb
parent668fb87d746afb36e22e48972fe379deb3a2184a (diff)
downloadgcc-78689aa295f9b0e54807462d13d3125a5a83c64b.zip
gcc-78689aa295f9b0e54807462d13d3125a5a83c64b.tar.gz
gcc-78689aa295f9b0e54807462d13d3125a5a83c64b.tar.bz2
[Ada] Do not treat pragma Compile_Time_Warning as error even with -gnatwe
2020-06-18 Ghjuvan Lacambre <lacambre@adacore.com> 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.
Diffstat (limited to 'gcc/ada/errutil.adb')
-rw-r--r--gcc/ada/errutil.adb39
1 files changed, 20 insertions, 19 deletions
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;