summaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ada/ChangeLog32
-rw-r--r--gcc/ada/atree.ads12
-rw-r--r--gcc/ada/err_vars.ads9
-rw-r--r--gcc/ada/errout.adb30
-rw-r--r--gcc/ada/erroutc.adb6
-rw-r--r--gcc/ada/errutil.adb23
-rw-r--r--gcc/ada/exp_ch3.adb1
-rw-r--r--gcc/ada/freeze.adb1
-rw-r--r--gcc/ada/sem_aggr.adb4
-rw-r--r--gcc/ada/sem_attr.adb2
-rw-r--r--gcc/ada/sem_ch12.adb1
-rw-r--r--gcc/ada/sem_ch13.adb4
-rw-r--r--gcc/ada/sem_eval.adb4
-rw-r--r--gcc/ada/sem_prag.adb1
14 files changed, 90 insertions, 40 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index a52d9b460cf..1ad8fbf53b4 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,35 @@
+2017-04-28 Javier Miranda <miranda@adacore.com>
+
+ * atree.ads (Info_Messages): Removed.
+ (Warning_Info_Messages): New counter.
+ (Report_Info_Messages): New counter.
+ * err_vars.ads Update documentation.
+ * errout.adb (Delete_Warning_And_Continuations): Update
+ Info_Message occurrences.
+ (Error_Msg_Internal): Update Info_Message occurrences.
+ (Delete_Warning): Update Info_Message occurrences.
+ (Write_Error_Summary): Update Info_Message occurrences.
+ (Output_Messages): Update Info_Message occurrences.
+ (To_Be_Removed): Update Info_Message occurrences.
+ (Reset_Warnings): Update Info_Message occurrences.
+ * errutil.adb (Error_Msg): Update Info_Message occurrences.
+ (Finalize): Update Info_Message occurrences.
+ (Initialize): Update Info_Message occurrences.
+ * erroutc.adb (Delete_Msg): Update Info_Message occurrences.
+ (Compilation_Errors): Update Info_Message_Occurences.
+
+2017-04-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Likewise on Nam.
+ * freeze.adb (Check_Component_Storage_Order): And on Comp_Byte_Aligned.
+ * sem_aggr.adb (Resolve_Record_Aggregate): Initialize Box_Node.
+ * sem_attr.adb (Loop_Entry): Initialize Encl_Loop.
+ * sem_ch12.adb (Build_Operator_Wrapper): Add pragma Warnings on Expr.
+ * sem_ch13.adb (Validate_Address_Clauses): Initialize Y_Alignment and
+ Y_Size.
+ * sem_eval.adb (Why_Not_Static): Initialize Typ.
+ * sem_prag.adb (Analyze_Pragma): Add pragma Warnings on Str.
+
2017-04-28 Bob Duff <duff@adacore.com>
* sem_util.ads, sem_util.adb (Might_Raise): New function
diff --git a/gcc/ada/atree.ads b/gcc/ada/atree.ads
index 92eabe43f8c..5ed81e68531 100644
--- a/gcc/ada/atree.ads
+++ b/gcc/ada/atree.ads
@@ -320,9 +320,15 @@ package Atree is
-- compilation. Initialized for -gnatVa use, see comment above. This
-- count includes the count of style and info messages.
- Info_Messages : Nat := 0;
- -- Number of info messages generated. Info messages are neved treated as
- -- errors (whether from use of the pragma, or the compiler switch -gnatwe).
+ Warning_Info_Messages : Nat := 0;
+ -- Number of info messages generated as warnings. Info messages are never
+ -- treated as errors (whether from use of the pragma, or the compiler
+ -- switch -gnatwe).
+
+ Report_Info_Messages : Nat := 0;
+ -- Number of info messages generated as reports. Info messages are never
+ -- treated as errors (whether from use of the pragma, or the compiler
+ -- switch -gnatwe). Used under Spark_Mode to report proved checks.
Check_Messages : Nat := 0;
-- Number of check messages generated. Check messages are neither warnings
diff --git a/gcc/ada/err_vars.ads b/gcc/ada/err_vars.ads
index 0024687d895..96c748998a8 100644
--- a/gcc/ada/err_vars.ads
+++ b/gcc/ada/err_vars.ads
@@ -39,10 +39,11 @@ package Err_Vars is
-- from invalid values in such cases.
-- Note on error counts (Serious_Errors_Detected, Total_Errors_Detected,
- -- Warnings_Detected, Info_Messages). These counts might more logically
- -- appear in this unit, but we place them instead in atree.ads, because of
- -- licensing issues. We need to be able to access these counts from units
- -- that have the more general licensing conditions.
+ -- Warnings_Detected, Warning_Info_Messages, Report_Info_Messages). These
+ -- counts might more logically appear in this unit, but we place them
+ -- instead in atree.ads, because of licensing issues. We need to be able
+ -- to access these counts from units that have the more general licensing
+ -- conditions.
----------------------------------
-- Error Message Mode Variables --
diff --git a/gcc/ada/errout.adb b/gcc/ada/errout.adb
index 0ff4b4e9e34..204bd3221dc 100644
--- a/gcc/ada/errout.adb
+++ b/gcc/ada/errout.adb
@@ -277,7 +277,7 @@ package body Errout is
Warnings_Detected := Warnings_Detected - 1;
if M.Info then
- Info_Messages := Info_Messages - 1;
+ Warning_Info_Messages := Warning_Info_Messages - 1;
end if;
if M.Warn_Err then
@@ -1186,12 +1186,14 @@ package body Errout is
-- Bump appropriate statistics counts
if Errors.Table (Cur_Msg).Info then
- Info_Messages := Info_Messages + 1;
-- Could be (usually is) both "info" and "warning"
if Errors.Table (Cur_Msg).Warn then
+ Warning_Info_Messages := Warning_Info_Messages + 1;
Warnings_Detected := Warnings_Detected + 1;
+ else
+ Report_Info_Messages := Report_Info_Messages + 1;
end if;
elsif Errors.Table (Cur_Msg).Warn
@@ -1420,7 +1422,7 @@ package body Errout is
Warnings_Detected := Warnings_Detected - 1;
if Errors.Table (E).Info then
- Info_Messages := Info_Messages - 1;
+ Warning_Info_Messages := Warning_Info_Messages - 1;
end if;
if Errors.Table (E).Warn_Err then
@@ -1785,12 +1787,12 @@ package body Errout is
Write_Str (" errors");
end if;
- if Warnings_Detected - Info_Messages /= 0 then
+ if Warnings_Detected - Warning_Info_Messages /= 0 then
Write_Str (", ");
Write_Int (Warnings_Detected);
Write_Str (" warning");
- if Warnings_Detected - Info_Messages /= 1 then
+ if Warnings_Detected - Warning_Info_Messages /= 1 then
Write_Char ('s');
end if;
@@ -1810,12 +1812,12 @@ package body Errout is
end if;
end if;
- if Info_Messages /= 0 then
+ if Warning_Info_Messages + Report_Info_Messages /= 0 then
Write_Str (", ");
- Write_Int (Info_Messages);
+ Write_Int (Warning_Info_Messages + Report_Info_Messages);
Write_Str (" info message");
- if Info_Messages > 1 then
+ if Warning_Info_Messages + Report_Info_Messages > 1 then
Write_Char ('s');
end if;
end if;
@@ -2119,13 +2121,13 @@ package body Errout is
Write_Max_Errors;
- -- Even though info messages are a subclass of warnings, they must not
- -- be treated as errors when -gnatwe is in effect.
+ -- Even though Warning_Info_Messages are a subclass of warnings, they
+ -- must not be treated as errors when -gnatwe is in effect.
if Warning_Mode = Treat_As_Error then
Total_Errors_Detected :=
- Total_Errors_Detected + Warnings_Detected - Info_Messages;
- Warnings_Detected := Info_Messages;
+ Total_Errors_Detected + Warnings_Detected - Warning_Info_Messages;
+ Warnings_Detected := Warning_Info_Messages;
end if;
end Output_Messages;
@@ -2299,7 +2301,7 @@ package body Errout is
Warnings_Detected := Warnings_Detected - 1;
if Errors.Table (E).Info then
- Info_Messages := Info_Messages - 1;
+ Warning_Info_Messages := Warning_Info_Messages - 1;
end if;
return True;
@@ -2400,7 +2402,7 @@ package body Errout is
begin
Warnings_Treated_As_Errors := 0;
Warnings_Detected := 0;
- Info_Messages := 0;
+ Warning_Info_Messages := 0;
Warnings_As_Errors_Count := 0;
end Reset_Warnings;
diff --git a/gcc/ada/erroutc.adb b/gcc/ada/erroutc.adb
index b4fc53af77c..464c64efc15 100644
--- a/gcc/ada/erroutc.adb
+++ b/gcc/ada/erroutc.adb
@@ -140,10 +140,12 @@ package body Erroutc is
-- Adjust error message count
if Errors.Table (D).Info then
- Info_Messages := Info_Messages - 1;
if Errors.Table (D).Warn then
+ Warning_Info_Messages := Warning_Info_Messages - 1;
Warnings_Detected := Warnings_Detected - 1;
+ else
+ Report_Info_Messages := Report_Info_Messages - 1;
end if;
elsif Errors.Table (D).Warn or else Errors.Table (D).Style then
@@ -244,7 +246,7 @@ package body Erroutc is
begin
return
Total_Errors_Detected /= 0
- or else (Warnings_Detected - Info_Messages /= 0
+ or else (Warnings_Detected - Warning_Info_Messages /= 0
and then Warning_Mode = Treat_As_Error)
or else Warnings_Treated_As_Errors /= 0;
end Compilation_Errors;
diff --git a/gcc/ada/errutil.adb b/gcc/ada/errutil.adb
index 057ce768220..498833abf41 100644
--- a/gcc/ada/errutil.adb
+++ b/gcc/ada/errutil.adb
@@ -305,12 +305,14 @@ package body Errutil is
-- Bump appropriate statistics counts
if Errors.Table (Cur_Msg).Info then
- Info_Messages := Info_Messages + 1;
-- Could be (usually is) both "info" and "warning"
if Errors.Table (Cur_Msg).Warn then
+ Warning_Info_Messages := Warning_Info_Messages + 1;
Warnings_Detected := Warnings_Detected + 1;
+ else
+ Report_Info_Messages := Report_Info_Messages + 1;
end if;
elsif Errors.Table (Cur_Msg).Warn
@@ -548,19 +550,19 @@ package body Errutil is
Write_Str (" errors");
end if;
- if Warnings_Detected - Info_Messages /= 0 then
+ if Warnings_Detected - Warning_Info_Messages /= 0 then
Write_Str (", ");
- Write_Int (Warnings_Detected - Info_Messages);
+ Write_Int (Warnings_Detected - Warning_Info_Messages);
Write_Str (" warning");
- if Warnings_Detected - Info_Messages /= 1 then
+ if Warnings_Detected - Warning_Info_Messages /= 1 then
Write_Char ('s');
end if;
if Warning_Mode = Treat_As_Error then
Write_Str (" (treated as error");
- if Warnings_Detected - Info_Messages /= 1 then
+ if Warnings_Detected - Warning_Info_Messages /= 1 then
Write_Char ('s');
end if;
@@ -586,13 +588,13 @@ package body Errutil is
end if;
end if;
- -- Even though info messages are a subclass of warnings, they must not
- -- be treated as errors when -gnatwe is in effect.
+ -- Even though Warning_Info_Messages are a subclass of warnings, they
+ -- must not be treated as errors when -gnatwe is in effect.
if Warning_Mode = Treat_As_Error then
Total_Errors_Detected :=
- Total_Errors_Detected + Warnings_Detected - Info_Messages;
- Warnings_Detected := Info_Messages;
+ Total_Errors_Detected + Warnings_Detected - Warning_Info_Messages;
+ Warnings_Detected := Warning_Info_Messages;
end if;
-- Prevent displaying the same messages again in the future
@@ -612,7 +614,8 @@ package body Errutil is
Serious_Errors_Detected := 0;
Total_Errors_Detected := 0;
Warnings_Detected := 0;
- Info_Messages := 0;
+ Warning_Info_Messages := 0;
+ Report_Info_Messages := 0;
Cur_Msg := No_Error_Msg;
-- Initialize warnings table, if all warnings are suppressed, supply
diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb
index 8520de4e6b7..c1275238866 100644
--- a/gcc/ada/exp_ch3.adb
+++ b/gcc/ada/exp_ch3.adb
@@ -2875,6 +2875,7 @@ package body Exp_Ch3 is
declare
Exp : Node_Id;
Nam : Name_Id;
+ pragma Warnings (Off, Nam);
Ritem : Node_Id;
begin
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index 8ce16cd2ed9..5abbe39c1bd 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -1174,6 +1174,7 @@ package body Freeze is
Component_Aliased : Boolean;
Comp_Byte_Aligned : Boolean;
+ pragma Warnings (Off, Comp_Byte_Aligned);
-- Set for the record case, True if Comp starts on a byte boundary
-- (in which case it is allowed to have different storage order).
diff --git a/gcc/ada/sem_aggr.adb b/gcc/ada/sem_aggr.adb
index d18383525c3..1249fa03fed 100644
--- a/gcc/ada/sem_aggr.adb
+++ b/gcc/ada/sem_aggr.adb
@@ -6,7 +6,7 @@
-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2016, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2017, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
@@ -3205,7 +3205,7 @@ package body Sem_Aggr is
--
-- This variable is updated as a side effect of function Get_Value.
- Box_Node : Node_Id;
+ Box_Node : Node_Id := Empty;
Is_Box_Present : Boolean := False;
Others_Box : Integer := 0;
-- Ada 2005 (AI-287): Variables used in case of default initialization
diff --git a/gcc/ada/sem_attr.adb b/gcc/ada/sem_attr.adb
index 7e4dba5382e..ecb6ab29b89 100644
--- a/gcc/ada/sem_attr.adb
+++ b/gcc/ada/sem_attr.adb
@@ -4322,7 +4322,7 @@ package body Sem_Attr is
Context : constant Node_Id := Parent (N);
Attr : Node_Id;
- Encl_Loop : Node_Id;
+ Encl_Loop : Node_Id := Empty;
Encl_Prag : Node_Id := Empty;
Loop_Id : Entity_Id := Empty;
Scop : Entity_Id;
diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb
index 093a2bdf81c..2b1e1ba5583 100644
--- a/gcc/ada/sem_ch12.adb
+++ b/gcc/ada/sem_ch12.adb
@@ -5652,6 +5652,7 @@ package body Sem_Ch12 is
Decl : Node_Id;
Expr : Node_Id;
+ pragma Warnings (Off, Expr);
F1, F2 : Entity_Id;
Func : Entity_Id;
Op_Name : Name_Id;
diff --git a/gcc/ada/sem_ch13.adb b/gcc/ada/sem_ch13.adb
index 2b92afd8a77..e78894c867d 100644
--- a/gcc/ada/sem_ch13.adb
+++ b/gcc/ada/sem_ch13.adb
@@ -13334,10 +13334,10 @@ package body Sem_Ch13 is
Expr : Node_Id;
X_Alignment : Uint;
- Y_Alignment : Uint;
+ Y_Alignment : Uint := Uint_0;
X_Size : Uint;
- Y_Size : Uint;
+ Y_Size : Uint := Uint_0;
X_Offs : Uint;
diff --git a/gcc/ada/sem_eval.adb b/gcc/ada/sem_eval.adb
index 41941ba50b0..c9f296a9eb7 100644
--- a/gcc/ada/sem_eval.adb
+++ b/gcc/ada/sem_eval.adb
@@ -6457,8 +6457,8 @@ package body Sem_Eval is
--------------------
procedure Why_Not_Static (Expr : Node_Id) is
- N : constant Node_Id := Original_Node (Expr);
- Typ : Entity_Id;
+ N : constant Node_Id := Original_Node (Expr);
+ Typ : Entity_Id := Empty;
E : Entity_Id;
Alt : Node_Id;
Exp : Node_Id;
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index 6d0ecb67c7d..1c3acec4103 100644
--- a/gcc/ada/sem_prag.adb
+++ b/gcc/ada/sem_prag.adb
@@ -12667,6 +12667,7 @@ package body Sem_Prag is
Eloc : Source_Ptr;
Expr : Node_Id;
Str : Node_Id;
+ pragma Warnings (Off, Str);
begin
-- Pragma Check is Ghost when it applies to a Ghost entity. Set