summaryrefslogtreecommitdiffstats
path: root/b~super_saw.adb
diff options
context:
space:
mode:
Diffstat (limited to 'b~super_saw.adb')
-rw-r--r--b~super_saw.adb139
1 files changed, 139 insertions, 0 deletions
diff --git a/b~super_saw.adb b/b~super_saw.adb
new file mode 100644
index 0000000..423a157
--- /dev/null
+++ b/b~super_saw.adb
@@ -0,0 +1,139 @@
+pragma Ada_95;
+pragma Warnings (Off);
+pragma Source_File_Name (ada_main, Spec_File_Name => "b~super_saw.ads");
+pragma Source_File_Name (ada_main, Body_File_Name => "b~super_saw.adb");
+pragma Suppress (Overflow_Check);
+
+package body ada_main is
+
+ E11 : Short_Integer; pragma Import (Ada, E11, "system__soft_links_E");
+ E09 : Short_Integer; pragma Import (Ada, E09, "system__exception_table_E");
+ E06 : Short_Integer; pragma Import (Ada, E06, "ada__numerics_E");
+ E61 : Short_Integer; pragma Import (Ada, E61, "interfaces__c_E");
+ E23 : Short_Integer; pragma Import (Ada, E23, "system__exceptions_E");
+ E15 : Short_Integer; pragma Import (Ada, E15, "system__secondary_stack_E");
+ E02 : Short_Integer; pragma Import (Ada, E02, "super_saw_E");
+
+ Local_Priority_Specific_Dispatching : constant String := "";
+ Local_Interrupt_States : constant String := "";
+
+ Is_Elaborated : Boolean := False;
+
+ procedure adafinal is
+
+ procedure Runtime_Finalize;
+ pragma Import (C, Runtime_Finalize, "__gnat_runtime_finalize");
+
+ begin
+ if not Is_Elaborated then
+ return;
+ end if;
+ Is_Elaborated := False;
+ Runtime_Finalize;
+ null;
+ end adafinal;
+
+ type No_Param_Proc is access procedure;
+
+ procedure adainit is
+ Main_Priority : Integer;
+ pragma Import (C, Main_Priority, "__gl_main_priority");
+ Time_Slice_Value : Integer;
+ pragma Import (C, Time_Slice_Value, "__gl_time_slice_val");
+ WC_Encoding : Character;
+ pragma Import (C, WC_Encoding, "__gl_wc_encoding");
+ Locking_Policy : Character;
+ pragma Import (C, Locking_Policy, "__gl_locking_policy");
+ Queuing_Policy : Character;
+ pragma Import (C, Queuing_Policy, "__gl_queuing_policy");
+ Task_Dispatching_Policy : Character;
+ pragma Import (C, Task_Dispatching_Policy, "__gl_task_dispatching_policy");
+ Priority_Specific_Dispatching : System.Address;
+ pragma Import (C, Priority_Specific_Dispatching, "__gl_priority_specific_dispatching");
+ Num_Specific_Dispatching : Integer;
+ pragma Import (C, Num_Specific_Dispatching, "__gl_num_specific_dispatching");
+ Main_CPU : Integer;
+ pragma Import (C, Main_CPU, "__gl_main_cpu");
+ Interrupt_States : System.Address;
+ pragma Import (C, Interrupt_States, "__gl_interrupt_states");
+ Num_Interrupt_States : Integer;
+ pragma Import (C, Num_Interrupt_States, "__gl_num_interrupt_states");
+ Unreserve_All_Interrupts : Integer;
+ pragma Import (C, Unreserve_All_Interrupts, "__gl_unreserve_all_interrupts");
+ Detect_Blocking : Integer;
+ pragma Import (C, Detect_Blocking, "__gl_detect_blocking");
+ Default_Stack_Size : Integer;
+ pragma Import (C, Default_Stack_Size, "__gl_default_stack_size");
+ Leap_Seconds_Support : Integer;
+ pragma Import (C, Leap_Seconds_Support, "__gl_leap_seconds_support");
+ Bind_Env_Addr : System.Address;
+ pragma Import (C, Bind_Env_Addr, "__gl_bind_env_addr");
+
+ procedure Runtime_Initialize (Install_Handler : Integer);
+ pragma Import (C, Runtime_Initialize, "__gnat_runtime_initialize");
+
+ Finalize_Library_Objects : No_Param_Proc;
+ pragma Import (C, Finalize_Library_Objects, "__gnat_finalize_library_objects");
+ begin
+ if Is_Elaborated then
+ return;
+ end if;
+ Is_Elaborated := True;
+ Main_Priority := -1;
+ Time_Slice_Value := -1;
+ WC_Encoding := 'b';
+ Locking_Policy := ' ';
+ Queuing_Policy := ' ';
+ Task_Dispatching_Policy := ' ';
+ Priority_Specific_Dispatching :=
+ Local_Priority_Specific_Dispatching'Address;
+ Num_Specific_Dispatching := 0;
+ Main_CPU := -1;
+ Interrupt_States := Local_Interrupt_States'Address;
+ Num_Interrupt_States := 0;
+ Unreserve_All_Interrupts := 0;
+ Detect_Blocking := 0;
+ Default_Stack_Size := -1;
+ Leap_Seconds_Support := 0;
+
+ Runtime_Initialize (1);
+
+ if E11 = 0 then
+ System.Soft_Links'Elab_Spec;
+ end if;
+ if E09 = 0 then
+ System.Exception_Table'Elab_Body;
+ end if;
+ E09 := E09 + 1;
+ if E06 = 0 then
+ Ada.Numerics'Elab_Spec;
+ end if;
+ E06 := E06 + 1;
+ if E61 = 0 then
+ Interfaces.C'Elab_Spec;
+ end if;
+ if E23 = 0 then
+ System.Exceptions'Elab_Spec;
+ end if;
+ E23 := E23 + 1;
+ E61 := E61 + 1;
+ if E11 = 0 then
+ System.Soft_Links'Elab_Body;
+ end if;
+ E11 := E11 + 1;
+ if E15 = 0 then
+ System.Secondary_Stack'Elab_Body;
+ end if;
+ E15 := E15 + 1;
+ E02 := E02 + 1;
+ end adainit;
+
+-- BEGIN Object file/option list
+ -- ./super_saw.o
+ -- -L./
+ -- -L/usr/lib/gcc/x86_64-redhat-linux/6.3.1/adalib/
+ -- -static
+ -- -lgnat
+-- END Object file/option list
+
+end ada_main;