diff options
Diffstat (limited to 'ortho/gcc/ortho_gcc-main.adb')
-rw-r--r-- | ortho/gcc/ortho_gcc-main.adb | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ortho/gcc/ortho_gcc-main.adb b/ortho/gcc/ortho_gcc-main.adb new file mode 100644 index 0000000..5a71aac --- /dev/null +++ b/ortho/gcc/ortho_gcc-main.adb @@ -0,0 +1,26 @@ +with System; +with Ortho_Gcc_Front; +with Ada.Command_Line; use Ada.Command_Line; + +procedure Ortho_Gcc.Main +is + gnat_argc : Integer; + gnat_argv : System.Address; + gnat_envp : System.Address; + + pragma Import (C, gnat_argc); + pragma Import (C, gnat_argv); + pragma Import (C, gnat_envp); + + function Toplev_Main (Argc : Integer; Argv : System.Address) + return Integer; + pragma Import (C, Toplev_Main); + + Status : Exit_Status; +begin + Ortho_Gcc_Front.Init; + + -- Note: GCC set signal handlers... + Status := Exit_Status (Toplev_Main (gnat_argc, gnat_argv)); + Set_Exit_Status (Status); +end Ortho_Gcc.Main; |