diff options
Diffstat (limited to 'gcc/ada/diagnostics-switch_repository.adb')
-rw-r--r-- | gcc/ada/diagnostics-switch_repository.adb | 690 |
1 files changed, 0 insertions, 690 deletions
diff --git a/gcc/ada/diagnostics-switch_repository.adb b/gcc/ada/diagnostics-switch_repository.adb deleted file mode 100644 index 1627de3..0000000 --- a/gcc/ada/diagnostics-switch_repository.adb +++ /dev/null @@ -1,690 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT COMPILER COMPONENTS -- --- -- --- D I A G N O S T I C S . D I A G N O S T I C S _ R E P O S I T O R Y -- --- -- --- B o d y -- --- -- --- Copyright (C) 1992-2025, 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- -- --- ware Foundation; either version 3, or (at your option) any later ver- -- --- sion. GNAT is distributed in the hope that it will be useful, but WITH- -- --- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY -- --- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License -- --- for more details. You should have received a copy of the GNU General -- --- Public License distributed with GNAT; see file COPYING3. If not, go to -- --- http://www.gnu.org/licenses for a complete copy of the license. -- --- -- --- GNAT was originally developed by the GNAT team at New York University. -- --- Extensive contributions were provided by Ada Core Technologies Inc. -- --- -- ------------------------------------------------------------------------------- -with Diagnostics.JSON_Utils; use Diagnostics.JSON_Utils; -with Output; use Output; -package body Diagnostics.Switch_Repository is - - Switches : constant array (Switch_Id) - of Switch_Type := - (No_Switch_Id => - (others => <>), - gnatwb => - (Human_Id => new String'("Warn_On_Bad_Fixed_Value"), - Status => Active, - Short_Name => new String'("gnatwb"), - Description => null, - Documentation_Url => null), - gnatwc => - (Human_Id => new String'("Constant_Condition_Warnings"), - Status => Active, - Short_Name => new String'("gnatwc"), - Description => null, - Documentation_Url => null), - gnatwd => - -- TODO: is this a subcheck of general gnatwu? - (Human_Id => new String'("Warn_On_Dereference"), - Status => Active, - Short_Name => new String'("gnatwd"), - Description => null, - Documentation_Url => null), - gnatwf => - (Human_Id => new String'("Check_Unreferenced_Formals"), - Status => Active, - Short_Name => new String'("gnatwf"), - Description => null, - Documentation_Url => null), - gnatwg => - (Human_Id => new String'("Warn_On_Unrecognized_Pragma"), - Status => Active, - Short_Name => new String'("gnatwg"), - Description => null, - Documentation_Url => null), - gnatwh => - (Human_Id => new String'("Warn_On_Hiding"), - Status => Active, - Short_Name => new String'("gnatwh"), - Description => null, - Documentation_Url => null), - gnatwi => - (Human_Id => new String'("Implementation_Unit_Warnings"), - Status => Active, - Short_Name => new String'("gnatwi"), - Description => null, - Documentation_Url => null), - gnatwj => - (Human_Id => new String'("Warn_On_Obsolescent_Feature"), - Status => Active, - Short_Name => new String'("gnatwj"), - Description => null, - Documentation_Url => null), - gnatwk => - (Human_Id => new String'("Warn_On_Constant"), - Status => Active, - Short_Name => new String'("gnatwk"), - Description => null, - Documentation_Url => null), - gnatwl => - (Human_Id => new String'("Elab_Warnings"), - Status => Active, - Short_Name => new String'("gnatwl"), - Description => null, - Documentation_Url => null), - gnatwm => - (Human_Id => new String'("Warn_On_Modified_Unread"), - Status => Active, - Short_Name => new String'("gnatwm"), - Description => null, - Documentation_Url => null), - gnatwo => - (Human_Id => new String'("Address_Clause_Overlay_Warnings"), - Status => Active, - Short_Name => new String'("gnatwo"), - Description => null, - Documentation_Url => null), - gnatwp => - (Human_Id => new String'("Ineffective_Inline_Warnings"), - Status => Active, - Short_Name => new String'("gnatwp"), - Description => null, - Documentation_Url => null), - gnatwq => - (Human_Id => new String'("Warn_On_Questionable_Missing_Parens"), - Status => Active, - Short_Name => new String'("gnatwq"), - Description => null, - Documentation_Url => null), - gnatwr => - (Human_Id => new String'("Warn_On_Redundant_Constructs"), - Status => Active, - Short_Name => new String'("gnatwr"), - Description => null, - Documentation_Url => null), - gnatwt => - (Human_Id => new String'("Warn_On_Deleted_Code"), - Status => Active, - Short_Name => new String'("gnatwt"), - Description => null, - Documentation_Url => null), - gnatwu => - (Human_Id => new String'("Warn_On_Unused_Entities"), - Status => Active, - Short_Name => new String'("gnatwu"), - Description => null, - Documentation_Url => null), - gnatwv => - (Human_Id => new String'("Warn_On_No_Value_Assigned"), - Status => Active, - Short_Name => new String'("gnatwv"), - Description => null, - Documentation_Url => null), - gnatww => - (Human_Id => new String'("Warn_On_Assumed_Low_Bound"), - Status => Active, - Short_Name => new String'("gnatww"), - Description => null, - Documentation_Url => null), - gnatwx => - (Human_Id => new String'("Warn_On_Export_Import"), - Status => Active, - Short_Name => new String'("gnatwx"), - Description => null, - Documentation_Url => null), - gnatwy => - (Human_Id => new String'("Warn_On_Ada_Compatibility_Issues"), - Status => Active, - Short_Name => new String'("gnatwy"), - Description => null, - Documentation_Url => null), - gnatwz => - (Human_Id => new String'("Warn_On_Unchecked_Conversion"), - Status => Active, - Short_Name => new String'("gnatwz"), - Description => null, - Documentation_Url => null), - gnatw_dot_a => - (Human_Id => new String'("Warn_On_Assertion_Failure"), - Status => Active, - Short_Name => new String'("gnatw.a"), - Description => null, - Documentation_Url => null), - gnatw_dot_b => - (Human_Id => new String'("Warn_On_Biased_Representation"), - Status => Active, - Short_Name => new String'("gnatw.b"), - Description => null, - Documentation_Url => null), - gnatw_dot_c => - (Human_Id => new String'("Warn_On_Unrepped_Components"), - Status => Active, - Short_Name => new String'("gnatw.c"), - Description => null, - Documentation_Url => null), - gnatw_dot_f => - (Human_Id => new String'("Warn_On_Elab_Access"), - Status => Active, - Short_Name => new String'("gnatw.f"), - Description => null, - Documentation_Url => null), - gnatw_dot_h => - (Human_Id => new String'("Warn_On_Record_Holes"), - Status => Active, - Short_Name => new String'("gnatw.h"), - Description => null, - Documentation_Url => null), - gnatw_dot_i => - (Human_Id => new String'("Warn_On_Overlap"), - Status => Active, - Short_Name => new String'("gnatw.i"), - Description => null, - Documentation_Url => null), - gnatw_dot_j => - (Human_Id => new String'("Warn_On_Late_Primitives"), - Status => Active, - Short_Name => new String'("gnatw.j"), - Description => null, - Documentation_Url => null), - gnatw_dot_k => - (Human_Id => new String'("Warn_On_Standard_Redefinition"), - Status => Active, - Short_Name => new String'("gnatw.k"), - Description => null, - Documentation_Url => null), - gnatw_dot_l => - (Human_Id => new String'("List_Inherited_Aspects"), - Status => Active, - Short_Name => new String'("gnatw.l"), - Description => null, - Documentation_Url => null), - gnatw_dot_m => - (Human_Id => new String'("Warn_On_Suspicious_Modulus_Value"), - Status => Active, - Short_Name => new String'("gnatw.m"), - Description => null, - Documentation_Url => null), - gnatw_dot_n => - (Human_Id => new String'("Warn_On_Atomic_Synchronization"), - Status => Active, - Short_Name => new String'("gnatw.n"), - Description => null, - Documentation_Url => null), - gnatw_dot_o => - (Human_Id => new String'("Warn_On_All_Unread_Out_Parameters"), - Status => Active, - Short_Name => new String'("gnatw.o"), - Description => null, - Documentation_Url => null), - gnatw_dot_p => - (Human_Id => new String'("Warn_On_Parameter_Order"), - Status => Active, - Short_Name => new String'("gnatw.p"), - Description => null, - Documentation_Url => null), - gnatw_dot_q => - (Human_Id => new String'("Warn_On_Questionable_Layout"), - Status => Active, - Short_Name => new String'("gnatw.q"), - Description => null, - Documentation_Url => null), - gnatw_dot_r => - (Human_Id => new String'("Warn_On_Object_Renames_Function"), - Status => Active, - Short_Name => new String'("gnatw.r"), - Description => null, - Documentation_Url => null), - gnatw_dot_s => - (Human_Id => new String'("Warn_On_Overridden_Size"), - Status => Active, - Short_Name => new String'("gnatw.s"), - Description => null, - Documentation_Url => null), - gnatw_dot_t => - (Human_Id => new String'("Warn_On_Suspicious_Contract"), - Status => Active, - Short_Name => new String'("gnatw.t"), - Description => null, - Documentation_Url => null), - gnatw_dot_u => - (Human_Id => new String'("Warn_On_Unordered_Enumeration_Type"), - Status => Active, - Short_Name => new String'("gnatw.u"), - Description => null, - Documentation_Url => null), - gnatw_dot_v => - (Human_Id => new String'("Warn_On_Reverse_Bit_Order"), - Status => Active, - Short_Name => new String'("gnatw.v"), - Description => null, - Documentation_Url => null), - gnatw_dot_w => - (Human_Id => new String'("Warn_On_Warnings_Off"), - Status => Active, - Short_Name => new String'("gnatw.w"), - Description => null, - Documentation_Url => null), - gnatw_dot_x => - (Human_Id => - new String'("Warn_No_Exception_Propagation_Active"), - Status => Active, - Short_Name => new String'("gnatw.x"), - Description => null, - Documentation_Url => null), - gnatw_dot_y => - (Human_Id => new String'("List_Body_Required_Info"), - Status => Active, - Short_Name => new String'("gnatw.y"), - Description => null, - Documentation_Url => null), - gnatw_dot_z => - (Human_Id => new String'("Warn_On_Size_Alignment"), - Status => Active, - Short_Name => new String'("gnatw.z"), - Description => null, - Documentation_Url => null), - gnatw_underscore_a => - (Human_Id => new String'("Warn_On_Anonymous_Allocators"), - Status => Active, - Short_Name => new String'("gnatw_a"), - Description => null, - Documentation_Url => null), - gnatw_underscore_c => - (Human_Id => new String'("Warn_On_Unknown_Compile_Time_Warning"), - Status => Active, - Short_Name => new String'("gnatw_c"), - Description => null, - Documentation_Url => null), - gnatw_underscore_j => - (Human_Id => new String'("Warn_On_Non_Dispatching_Primitives"), - Status => Active, - Short_Name => new String'("gnatw_j"), - Description => null, - Documentation_Url => null), - gnatw_underscore_l => - (Human_Id => new String'("Warn_On_Inherently_Limited_Types"), - Status => Active, - Short_Name => new String'("gnatw_l"), - Description => null, - Documentation_Url => null), - gnatw_underscore_p => - (Human_Id => new String'("Warn_On_Pedantic_Checks"), - Status => Active, - Short_Name => new String'("gnatw_p"), - Description => null, - Documentation_Url => null), - gnatw_underscore_q => - (Human_Id => new String'("Warn_On_Ignored_Equality"), - Status => Active, - Short_Name => new String'("gnatw_q"), - Description => null, - Documentation_Url => null), - gnatw_underscore_r => - (Human_Id => new String'("Warn_On_Component_Order"), - Status => Active, - Short_Name => new String'("gnatw_r"), - Description => null, - Documentation_Url => null), - gnatw_underscore_s => - (Human_Id => new String'("Warn_On_Ineffective_Predicate_Test"), - Status => Active, - Short_Name => new String'("gnatw_s"), - Description => null, - Documentation_Url => null), - -- NOTE: this flag is usually followed by a number specfifying the - -- indentation level. We encode all of these warnings as -gnaty0 - -- irregardless of the actual numeric value. - gnaty => - (Human_Id => new String'("Style_Check_Indentation_Level"), - Status => Active, - Short_Name => new String'("gnaty0"), - Description => null, - Documentation_Url => null), - gnatya => - (Human_Id => new String'("Style_Check_Attribute_Casing"), - Status => Active, - Short_Name => new String'("gnatya"), - Description => null, - Documentation_Url => null), - gnatyaa => - (Human_Id => new String'("Address_Clause_Overlay_Warnings"), - Status => Active, - Short_Name => new String'("gnatyA"), - Description => null, - Documentation_Url => null), - gnatyb => - (Human_Id => new String'("Style_Check_Blanks_At_End"), - Status => Active, - Short_Name => new String'("gnatyb"), - Description => null, - Documentation_Url => null), - gnatybb => - -- NOTE: in live documentation it is called "Check Boolean operators" - (Human_Id => new String'("Style_Check_Boolean_And_Or"), - Status => Active, - Short_Name => new String'("gnatyB"), - Description => null, - Documentation_Url => null), - gnatyc => - (Human_Id => new String'("Style_Check_Comments_Double_Space"), - Status => Active, - Short_Name => new String'("gnatyc"), - Description => null, - Documentation_Url => null), - gnatycc => - (Human_Id => new String'("Style_Check_Comments_Single_Space"), - Status => Active, - Short_Name => new String'("gnatyC"), - Description => null, - Documentation_Url => null), - gnatyd => - (Human_Id => new String'("Style_Check_DOS_Line_Terminator"), - Status => Active, - Short_Name => new String'("gnatyd"), - Description => null, - Documentation_Url => null), - gnatydd => - (Human_Id => new String'("Style_Check_Mixed_Case_Decls"), - Status => Active, - Short_Name => new String'("gnatyD"), - Description => null, - Documentation_Url => null), - gnatye => - (Human_Id => new String'("Style_Check_End_Labels"), - Status => Active, - Short_Name => new String'("gnatye"), - Description => null, - Documentation_Url => null), - gnatyf => - (Human_Id => new String'("Style_Check_Form_Feeds"), - Status => Active, - Short_Name => new String'("gnatyf"), - Description => null, - Documentation_Url => null), - gnatyh => - (Human_Id => new String'("Style_Check_Horizontal_Tabs"), - Status => Active, - Short_Name => new String'("gnatyh"), - Description => null, - Documentation_Url => null), - gnatyi => - (Human_Id => new String'("Style_Check_If_Then_Layout"), - Status => Active, - Short_Name => new String'("gnatyi"), - Description => null, - Documentation_Url => null), - gnatyii => - (Human_Id => new String'("Style_Check_Mode_In"), - Status => Active, - Short_Name => new String'("gnatyI"), - Description => null, - Documentation_Url => null), - gnatyk => - (Human_Id => new String'("Style_Check_Keyword_Casing"), - Status => Active, - Short_Name => new String'("gnatyk"), - Description => null, - Documentation_Url => null), - gnatyl => - (Human_Id => new String'("Style_Check_Layout"), - Status => Active, - Short_Name => new String'("gnatyl"), - Description => null, - Documentation_Url => null), - gnatyll => - (Human_Id => new String'("Style_Check_Max_Nesting_Level"), - Status => Active, - Short_Name => new String'("gnatyL"), - Description => null, - Documentation_Url => null), - gnatym => - (Human_Id => new String'("Style_Check_Max_Line_Length"), - Status => Active, - Short_Name => new String'("gnatym"), - Description => null, - Documentation_Url => null), - gnatymm => - -- TODO: May contain line length - (Human_Id => new String'("Style_Check_Max_Line_Length"), - Status => Active, - Short_Name => new String'("gnatyM"), - Description => null, - Documentation_Url => null), - gnatyn => - (Human_Id => new String'("Style_Check_Standard"), - Status => Active, - Short_Name => new String'("gnatyn"), - Description => null, - Documentation_Url => null), - gnatyo => - (Human_Id => new String'("Style_Check_Order_Subprograms"), - Status => Active, - Short_Name => new String'("gnatyo"), - Description => null, - Documentation_Url => null), - gnatyoo => - (Human_Id => new String'("Style_Check_Missing_Overriding"), - Status => Active, - Short_Name => new String'("gnatyO"), - Description => null, - Documentation_Url => null), - gnatyp => - (Human_Id => new String'("Style_Check_Pragma_Casing"), - Status => Active, - Short_Name => new String'("gnatyp"), - Description => null, - Documentation_Url => null), - gnatyr => - (Human_Id => new String'("Style_Check_References"), - Status => Active, - Short_Name => new String'("gnatyr"), - Description => null, - Documentation_Url => null), - gnatys => - (Human_Id => new String'("Style_Check_Specs"), - Status => Active, - Short_Name => new String'("gnatys"), - Description => null, - Documentation_Url => null), - gnatyss => - (Human_Id => new String'("Style_Check_Separate_Stmt_Lines"), - Status => Active, - Short_Name => new String'("gnatyS"), - Description => null, - Documentation_Url => null), - gnatytt => - (Human_Id => new String'("Style_Check_Tokens"), - Status => Active, - Short_Name => new String'("gnatyt"), - Description => null, - Documentation_Url => null), - gnatyu => - (Human_Id => new String'("Style_Check_Blank_Lines"), - Status => Active, - Short_Name => new String'("gnatyu"), - Description => null, - Documentation_Url => null), - gnatyx => - (Human_Id => new String'("Style_Check_Xtra_Parens"), - Status => Active, - Short_Name => new String'("gnatyx"), - Description => null, - Documentation_Url => null), - gnatyz => - (Human_Id => new String'("Style_Check_Xtra_Parens_Precedence"), - Status => Active, - Short_Name => new String'("gnatyz"), - Description => null, - Documentation_Url => null), - gnatel => - (Human_Id => new String'("Display_Elaboration_Messages"), - Status => Active, - Short_Name => new String'("gnatel"), - Description => null, - Documentation_Url => null) - ); - - ---------------- - -- Get_Switch -- - ---------------- - - function Get_Switch (Id : Switch_Id) return Switch_Type is - - begin - return Switches (Id); - end Get_Switch; - - function Get_Switch (Diag : Diagnostic_Type) return Switch_Type is - - begin - return Get_Switch (Diag.Switch); - end Get_Switch; - - ------------------- - -- Get_Switch_Id -- - ------------------- - - function Get_Switch_Id (Name : String) return Switch_Id is - Trimmed_Name : constant String := - (if Name (Name'Last) = ' ' then Name (Name'First .. Name'Last - 1) - else Name); - begin - for I in Active_Switch_Id loop - if Switches (I).Short_Name.all = Trimmed_Name then - return I; - end if; - end loop; - - return No_Switch_Id; - end Get_Switch_Id; - - ------------------- - -- Get_Switch_Id -- - ------------------- - - function Get_Switch_Id (E : Error_Msg_Object) return Switch_Id is - Switch_Name : constant String := - (if E.Warn_Chr = "$ " then "gnatel" - elsif E.Warn_Chr in "? " | " " then "" - elsif E.Kind in Erroutc.Warning | Erroutc.Info - then "gnatw" & E.Warn_Chr - elsif E.Kind in Erroutc.Style then "gnatw" & E.Warn_Chr - else ""); - begin - if Switch_Name /= "" then - return Get_Switch_Id (Switch_Name); - else - return No_Switch_Id; - end if; - end Get_Switch_Id; - - ----------------------------- - -- Print_Switch_Repository -- - ----------------------------- - - procedure Print_Switch_Repository is - First : Boolean := True; - begin - Write_Char ('{'); - Begin_Block; - NL_And_Indent; - - Write_Str ("""" & "Switches" & """" & ": " & "["); - Begin_Block; - - -- Avoid printing the first switch, which is a placeholder - - for I in Active_Switch_Id loop - - if First then - First := False; - else - Write_Char (','); - end if; - - NL_And_Indent; - - Write_Char ('{'); - Begin_Block; - NL_And_Indent; - - if Switches (I).Human_Id /= null then - Write_String_Attribute ("Human_Id", Switches (I).Human_Id.all); - else - Write_String_Attribute ("Human_Id", "null"); - end if; - - Write_Char (','); - NL_And_Indent; - - if Switches (I).Short_Name /= null then - Write_String_Attribute ("Short_Name", Switches (I).Short_Name.all); - else - Write_String_Attribute ("Short_Name", "null"); - end if; - - Write_Char (','); - NL_And_Indent; - - if Switches (I).Status = Active then - Write_String_Attribute ("Status", "Active"); - else - Write_String_Attribute ("Status", "Deprecated"); - end if; - - Write_Char (','); - NL_And_Indent; - - if Switches (I).Description /= null then - Write_String_Attribute ("Description", - Switches (I).Description.all); - else - Write_String_Attribute ("Description", "null"); - end if; - - Write_Char (','); - NL_And_Indent; - - if Switches (I).Description /= null then - Write_String_Attribute ("Documentation_Url", - Switches (I).Description.all); - else - Write_String_Attribute ("Documentation_Url", "null"); - end if; - - End_Block; - NL_And_Indent; - Write_Char ('}'); - end loop; - - End_Block; - NL_And_Indent; - Write_Char (']'); - - End_Block; - NL_And_Indent; - Write_Char ('}'); - - Write_Eol; - end Print_Switch_Repository; - -end Diagnostics.Switch_Repository; |