2
2
-- --
3
3
-- SVD Binding Generator --
4
4
-- --
5
- -- Copyright (C) 2015-2020 , AdaCore --
5
+ -- Copyright (C) 2015-2024 , AdaCore --
6
6
-- --
7
7
-- SVD2Ada is free software; you can redistribute it and/or modify it --
8
8
-- under terms of the GNU General Public License as published by the Free --
@@ -67,21 +67,22 @@ procedure SVD2Ada is
67
67
Executable_Location);
68
68
69
69
-- The generated Device
70
- Device : Descriptors.Device.Device_T;
71
- SVD_File_Name : Unbounded_String;
70
+ Device : Descriptors.Device.Device_T;
71
+ SVD_File_Name : Unbounded_String;
72
72
73
73
-- Command line parser and switches/arguments
74
- Cmd_Line_Cfg : GNAT.Command_Line.Command_Line_Configuration;
75
- Root_Pkg_Name : aliased GNAT.Strings.String_Access;
76
- Output_Dir : aliased GNAT.Strings.String_Access;
77
- Base_Types_Pkg : aliased GNAT.Strings.String_Access;
78
- Gen_Booleans : aliased Boolean := False;
79
- Gen_UInt_Always : aliased Boolean := False;
80
- No_UInt_Subtype : aliased Boolean := False;
81
- No_Arrays : aliased Boolean := False;
82
- No_Defaults : aliased Boolean := False;
83
- No_VFA_On_Types : aliased Boolean := False;
84
- Gen_IRQ_Support : aliased Boolean := False;
74
+ Cmd_Line_Cfg : GNAT.Command_Line.Command_Line_Configuration;
75
+ Root_Pkg_Name : aliased GNAT.Strings.String_Access;
76
+ Output_Dir : aliased GNAT.Strings.String_Access;
77
+ Base_Types_Pkg : aliased GNAT.Strings.String_Access;
78
+ Gen_Booleans : aliased Boolean := False;
79
+ Gen_UInt_Always : aliased Boolean := False;
80
+ No_UInt_Subtype : aliased Boolean := False;
81
+ No_Arrays : aliased Boolean := False;
82
+ No_Defaults : aliased Boolean := False;
83
+ No_VFA_On_Types : aliased Boolean := False;
84
+ Gen_IRQ_Support : aliased Boolean := False;
85
+ No_Elab_Code_All : aliased Boolean := False;
85
86
86
87
use type GNAT.Strings.String_Access;
87
88
@@ -177,6 +178,12 @@ procedure SVD2Ada is
177
178
-- register record type when those fields are
178
179
-- themselves represented as register types
179
180
Value => True);
181
+ Define_Switch
182
+ (Cmd_Line_Cfg,
183
+ Output => No_Elab_Code_All'Access ,
184
+ Long_Switch => " --no-elaboration-code-all" ,
185
+ Help => " use pragma No_Elaboration_Code_All" ,
186
+ Value => True);
180
187
end Configure_Command_Line ;
181
188
182
189
-- ----------------------
@@ -202,6 +209,7 @@ procedure SVD2Ada is
202
209
Set_No_Defaults (No_Defaults);
203
210
Set_No_UInt_Subtype (No_UInt_Subtype);
204
211
Set_No_VFA_On_Reg_Types (No_VFA_On_Types);
212
+ Set_No_Elaboration_Code_All (No_Elab_Code_All);
205
213
206
214
if Base_Types_Pkg.all /= " " then
207
215
Set_Base_Types_Package (Base_Types_Pkg.all );
0 commit comments