diff options
Diffstat (limited to 'gcc/ada/sinput-p.adb')
-rw-r--r-- | gcc/ada/sinput-p.adb | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/gcc/ada/sinput-p.adb b/gcc/ada/sinput-p.adb deleted file mode 100644 index d643d64..0000000 --- a/gcc/ada/sinput-p.adb +++ /dev/null @@ -1,163 +0,0 @@ ------------------------------------------------------------------------------- --- -- --- GNAT COMPILER COMPONENTS -- --- -- --- S I N P U T . P -- --- -- --- B o d y -- --- -- --- 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- -- --- 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 Unchecked_Conversion; -with Unchecked_Deallocation; - -with Prj.Err; -with Sinput.C; - -package body Sinput.P is - - First : Boolean := True; - -- Flag used when Load_Project_File is called the first time, - -- to set Main_Source_File. - -- The flag is reset to False at the first call to Load_Project_File. - -- Calling Reset_First sets it back to True. - - procedure Free is new Unchecked_Deallocation - (Lines_Table_Type, Lines_Table_Ptr); - - procedure Free is new Unchecked_Deallocation - (Logical_Lines_Table_Type, Logical_Lines_Table_Ptr); - - ----------------------------- - -- Clear_Source_File_Table -- - ----------------------------- - - procedure Clear_Source_File_Table is - begin - for X in 1 .. Source_File.Last loop - declare - S : Source_File_Record renames Source_File.Table (X); - begin - if S.Instance = No_Instance_Id then - Free_Source_Buffer (S.Source_Text); - else - Free_Dope (S.Source_Text'Address); - S.Source_Text := null; - end if; - - Free (S.Lines_Table); - Free (S.Logical_Lines_Table); - end; - end loop; - - Source_File.Free; - Sinput.Initialize; - end Clear_Source_File_Table; - - ----------------------- - -- Load_Project_File -- - ----------------------- - - function Load_Project_File (Path : String) return Source_File_Index is - X : Source_File_Index; - - begin - X := Sinput.C.Load_File (Path); - - if First then - Main_Source_File := X; - First := False; - end if; - - return X; - end Load_Project_File; - - ----------------- - -- Reset_First -- - ----------------- - - procedure Reset_First is - begin - First := True; - end Reset_First; - - -------------------------------- - -- Restore_Project_Scan_State -- - -------------------------------- - - procedure Restore_Project_Scan_State - (Saved_State : Saved_Project_Scan_State) - is - begin - Restore_Scan_State (Saved_State.Scan_State); - Source := Saved_State.Source; - Current_Source_File := Saved_State.Current_Source_File; - end Restore_Project_Scan_State; - - ----------------------------- - -- Save_Project_Scan_State -- - ----------------------------- - - procedure Save_Project_Scan_State - (Saved_State : out Saved_Project_Scan_State) - is - begin - Save_Scan_State (Saved_State.Scan_State); - Saved_State.Source := Source; - Saved_State.Current_Source_File := Current_Source_File; - end Save_Project_Scan_State; - - ---------------------------- - -- Source_File_Is_Subunit -- - ---------------------------- - - function Source_File_Is_Subunit (X : Source_File_Index) return Boolean is - begin - -- Nothing to do if X is no source file, so simply return False - - if X = No_Source_File then - return False; - end if; - - Prj.Err.Scanner.Initialize_Scanner (X); - - -- No error for special characters that are used for preprocessing - - Prj.Err.Scanner.Set_Special_Character ('#'); - Prj.Err.Scanner.Set_Special_Character ('$'); - - Check_For_BOM; - - -- We scan past junk to the first interesting compilation unit token, to - -- see if it is SEPARATE. We ignore WITH keywords during this and also - -- PRIVATE. The reason for ignoring PRIVATE is that it handles some - -- error situations, and also to handle PRIVATE WITH in Ada 2005 mode. - - while Token = Tok_With - or else Token = Tok_Private - or else (Token not in Token_Class_Cunit and then Token /= Tok_EOF) - loop - Prj.Err.Scanner.Scan; - end loop; - - Prj.Err.Scanner.Reset_Special_Characters; - - return Token = Tok_Separate; - end Source_File_Is_Subunit; - -end Sinput.P; |