This commit was manufactured by cvs2svn to create tag
'gcc_3_4_0_release'.

From-SVN: r80844
diff --git a/gcc/ada/xgnatugn.adb b/gcc/ada/xgnatugn.adb
deleted file mode 100644
index 5a992f4..0000000
--- a/gcc/ada/xgnatugn.adb
+++ /dev/null
@@ -1,1380 +0,0 @@
-------------------------------------------------------------------------------
---                                                                          --
---                          GNAT SYSTEM UTILITIES                           --
---                                                                          --
---                             X G N A T U G N                              --
---                                                                          --
---                                 B o d y                                  --
---                                                                          --
---          Copyright (C) 2003-2004 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 2,  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 COPYING.  If not, write --
--- to  the Free Software Foundation,  59 Temple Place - Suite 330,  Boston, --
--- MA 02111-1307, USA.                                                      --
---                                                                          --
-------------------------------------------------------------------------------
-
---  This utility is used to process the source of gnat_ugn.texi to make a
---  version suitable for running through standard Texinfo processor. It is
---  invoked as follows:
-
---  xgnatugn <target> <in-file> <word-list> [ <out-file> [ <warnings> ] ]
-
---  1. <target> is the target type of the manual, which is one of:
-
---     unw       Unix and Windows platforms
---     vms       OpenVMS
-
---  2. <in-file> is the file name of the Texinfo file to be
---  preprocessed.
-
---  3. <word-list> is the name of the word list file. This file is used for
---  rewriting the VMS edition. Each line contains a word mapping: The source
---  word in the first column, the target word in the second column. The
---  columns are separated by a '^' character. When preprocessing for VMS, the
---  first word is replaced with the second. (Words consist of letters,
---  digits, and the four characters "?-_~". A sequence of multiple words can
---  be replaced if they are listed in the first column, separated by a single
---  space character. If multiple words are to be replaced, there must be a
---  replacement for each prefix.)
-
---  4. <out-file> (optional) is the name of the output file. It defaults to
---  gnat_ugn_unw.texi or gnat_ugn_vms.texi, depending on the target.
-
---  5. <warnings> (optional, and allowed only if <out-file> is explicit)
---  can be any string. If present, it indicates that warning messages are
---  to be output to Standard_Error. If absent, no warning messages are
---  generated.
-
---  The following steps are performed:
-
---     In VMS mode
-
---       Any occurrences of ^alpha^beta^ are replaced by beta. The sequence
---       must fit on a single line, and there can only be one occurrence on a
---       line.
-
---       Any occurrences of a word in the Ug_Words list are replaced by the
---       appropriate vms equivalents. Note that replacements do not occur
---       within ^alpha^beta^ sequences.
-
---       Any occurence of [filename].extension, where extension one of the
---       following:
-
---           "o", "ads", "adb", "ali", "ada", "atb", "ats", "adc", "c"
-
---       replaced by the appropriate VMS names (all upper case with .o
---       replaced .OBJ). Note that replacements do not occur within
---       ^alpha^beta^ sequences.
-
---     In UNW mode
-
---       Any occurrences of ^alpha^beta^ are replaced by alpha. The sequence
---       must fit on a single line.
-
---     In both modes
-
---       The sequence ^^^ is replaced by a single ^. This escape sequence
---       must be used if the literal character ^ is to appear in the
---       output. A line containing this escape sequence may not also contain
---       a ^alpha^beta^ sequence.
-
---       Recognize @ifset and @ifclear (this is because we have menu problems
---       if we let makeinfo handle the ifset/ifclear pairs
-
-with Ada.Command_Line;           use Ada.Command_Line;
-with Ada.Strings;                use Ada.Strings;
-with Ada.Strings.Fixed;          use Ada.Strings.Fixed;
-with Ada.Strings.Unbounded;      use Ada.Strings.Unbounded;
-with Ada.Strings.Maps;           use Ada.Strings.Maps;
-with Ada.Strings.Maps.Constants; use Ada.Strings.Maps.Constants;
-with Ada.Text_IO;                use Ada.Text_IO;
-
-with GNAT.Spitbol;               use GNAT.Spitbol;
-with GNAT.Spitbol.Table_VString; use GNAT.Spitbol.Table_VString;
-
-procedure Xgnatugn is
-
-   procedure Usage;
-   --  Print usage information. Invoked if an invalid command line is
-   --  encountered.
-
-   Output_File : File_Type;
-   --  The preprocessed output is written to this file
-
-   type Input_File is record
-      Name : VString;
-      Data : File_Type;
-      Line : Natural := 0;
-   end record;
-   --  Records information on an input file. Name and Line are used
-   --  in error messages, Line is updated automatically by Get_Line.
-
-   function Get_Line (Input : access Input_File) return String;
-   --  Returns a line from Input and performs the necessary
-   --  line-oriented checks (length, character set, trailing spaces).
-
-   Number_Of_Warnings : Natural := 0;
-   Number_Of_Errors   : Natural := 0;
-   Warnings_Enabled   : Boolean;
-
-   procedure Error
-     (Input        : Input_File;
-      At_Character : Natural;
-      Message      : String);
-   procedure Error
-     (Input        : Input_File;
-      Message      : String);
-   --  Prints a message reporting an error on line Input.Line. If
-   --  At_Character is not 0, indicate the exact character at which
-   --  the error occurs.
-
-   procedure Warning
-     (Input        : Input_File;
-      At_Character : Natural;
-      Message      : String);
-   procedure Warning
-     (Input        : Input_File;
-      Message      : String);
-   --  Like Error, but just print a warning message.
-
-   Dictionary_File : aliased Input_File;
-   procedure Read_Dictionary_File;
-   --  Dictionary_File is opened using the name given on the command
-   --  line. It contains the replacements for the Ug_Words list.
-   --  Read_Dictionary_File reads Dictionary_File and fills the
-   --  Ug_Words table.
-
-   Source_File : aliased Input_File;
-   procedure Process_Source_File;
-   --  Source_File is opened using the name given on the command line.
-   --  It contains the Texinfo source code. Process_Source_File
-   --  performs the necessary replacements.
-
-   type Target_Type is (UNW, VMS);
-   Target : Target_Type;
-   --  The target for which preprocessing is performed:
-   --  UNW (Unix and Windows) or VMS
-   --  The Target variable is initialized using the command line.
-
-   Valid_Characters : constant Character_Set
-     := To_Set (Span => (' ',  '~'));
-   --  This array controls which characters are permitted in the input
-   --  file (after line breaks have been removed). Valid characters
-   --  are all printable ASCII characters and the space character.
-
-   Word_Characters : constant Character_Set :=
-                       (To_Set (Ranges =>
-                                  (('0', '9'), ('a', 'z'), ('A', 'Z')))
-                        or To_Set ("?-_~"));
-   --  The characters which are permitted in words. Other (valid)
-   --  characters are assumed to be delimiters between words. Note that
-   --  this set has to include all characters of the source words of the
-   --  Ug_Words dictionary.
-
-   Reject_Trailing_Spaces : constant Boolean := True;
-   --  Controls whether Xgnatug rejects superfluous space characters
-   --  at the end of lines.
-
-   Maximum_Line_Length     : constant Positive := 79;
-   Fatal_Line_Length_Limit : constant Positive := 5000;
-   Fatal_Line_Length       : exception;
-   --  If Maximum_Line_Length is exceeded in an input file, an error
-   --  message is printed. If Fatal_Line_Length is exceeded,
-   --  execution terminates with a Fatal_Line_Length exception.
-
-   VMS_Escape_Character : constant Character := '^';
-   --  The character used to mark VMS alternatives (^alpha^beta^).
-
-   Extensions : GNAT.Spitbol.Table_VString.Table (20);
-   procedure Initialize_Extensions;
-   --  This table records extensions and their replacement for
-   --  rewriting filenames in the VMS version of the manual.
-
-   function Is_Extension (Extension : String) return Boolean;
-   function Get_Replacement_Extension (Extension : String) return String;
-   --  These functions query the replacement table. Is_Extension
-   --  checks if the given string is a known extension.
-   --  Get_Replacement returns the replacement extension.
-
-   Ug_Words : GNAT.Spitbol.Table_VString.Table (200);
-   function Is_Known_Word (Word : String) return Boolean;
-   function Get_Replacement_Word (Word : String) return String;
-   --  The Ug_Words table lists replacement words for the VMS version
-   --  of the manual. Is_Known_Word and Get_Replacement_Word query
-   --  this table. The table is filled using Read_Dictionary_File.
-
-   function Rewrite_Source_Line (Line : String) return String;
-   --  This subprogram takes a line and rewrites it according to Target.
-   --  It relies on information in Source_File to generate error messages.
-
-   type Conditional is (Set, Clear);
-   procedure Push_Conditional (Cond : Conditional; Flag : Target_Type);
-   procedure Pop_Conditional  (Cond : Conditional);
-   --  These subprograms deal with conditional processing (@ifset/@ifclear).
-   --  They rely on information in Source_File to generate error messages.
-
-   function Currently_Excluding return Boolean;
-   --  Returns true if conditional processing directives imply that the
-   --  current line should not be included in the output.
-
-   function VMS_Context_Determined return Boolean;
-   --  Returns true if, in the current conditional preprocessing context, we
-   --  always have a VMS or a non-VMS version, regardless of the value of
-   --  Target.
-
-   function In_VMS_Section return Boolean;
-   --  Returns True if in an "@ifset vms" section.
-
-   procedure Check_No_Pending_Conditional;
-   --  Checks that all preprocessing directives have been properly matched by
-   --  their @end counterpart. If this is not the case, print an error
-   --  message.
-
-   --  The following definitions implement a stack to track the conditional
-   --  preprocessing context.
-
-   type Conditional_Context is record
-      Starting_Line : Positive;
-      Cond          : Conditional;
-      Flag          : Target_Type;
-      Excluding     : Boolean;
-   end record;
-
-   Conditional_Stack_Depth : constant := 3;
-
-   Conditional_Stack :
-     array (1 .. Conditional_Stack_Depth) of Conditional_Context;
-
-   Conditional_TOS : Natural := 0;
-   --  Pointer to the Top Of Stack for Conditional_Stack.
-
-   -----------
-   -- Usage --
-   -----------
-
-   procedure Usage is
-   begin
-      Put_Line (Standard_Error,
-              "usage: xgnatug TARGET SOURCE DICTIONARY [OUTFILE [WARNINGS]]");
-      New_Line;
-      Put_Line (Standard_Error, "TARGET is one of:");
-
-      for T in Target_Type'Range loop
-         Put_Line (Standard_Error, "  " & Target_Type'Image (T));
-      end loop;
-
-      New_Line;
-      Put_Line (Standard_Error, "SOURCE is the source file to process.");
-      New_Line;
-      Put_Line (Standard_Error, "DICTIONARY is the name of a file "
-                & "that contains word replacements");
-      Put_Line (Standard_Error, "for the VMS version.");
-      New_Line;
-      Put_Line (Standard_Error,
-                "OUT-FILE, if present, is the output file to be created;");
-      Put_Line (Standard_Error,
-                "If OUT-FILE is absent, the output file is either " &
-                "gnat_ugn_unw.texi, ");
-      Put_Line (Standard_Error,
-                "or gnat_ugn_vms.texi, depending on TARGET.");
-      New_Line;
-      Put_Line (Standard_Error,
-                "WARNINGS, if present, is any string;");
-      Put_Line (Standard_Error,
-                "it will result in warning messages (e.g., line too long))");
-      Put_Line (Standard_Error,
-                "being output to Standard_Error.");
-   end Usage;
-
-   --------------
-   -- Get_Line --
-   --------------
-
-   function Get_Line (Input : access Input_File) return String is
-      Line_Buffer : String (1 .. Fatal_Line_Length_Limit);
-      Last        : Natural;
-
-   begin
-      Input.Line := Input.Line + 1;
-      Get_Line (Input.Data, Line_Buffer, Last);
-
-      if Last = Line_Buffer'Last then
-         Error (Input.all, "line exceeds fatal line length limit");
-         raise Fatal_Line_Length;
-      end if;
-
-      declare
-         Line : String renames Line_Buffer (Line_Buffer'First .. Last);
-
-      begin
-         for J in Line'Range loop
-            if not Is_In (Line (J), Valid_Characters) then
-               Error (Input.all, J, "invalid character");
-               exit;
-            end if;
-         end loop;
-
-         if Line'Length > Maximum_Line_Length then
-            Warning (Input.all, Maximum_Line_Length + 1, "line too long");
-         end if;
-
-         if Reject_Trailing_Spaces
-           and then Line'Length > 0
-           and then Line (Line'Last) = ' '
-         then
-            Error (Input.all, Line'Last, "trailing space character");
-         end if;
-
-         return Trim (Line, Right);
-      end;
-   end Get_Line;
-
-   -----------
-   -- Error --
-   -----------
-
-   procedure Error
-     (Input        : Input_File;
-      Message      : String)
-   is
-   begin
-      Error (Input, 0, Message);
-   end Error;
-
-   procedure Error
-     (Input        : Input_File;
-      At_Character : Natural;
-      Message      : String)
-   is
-      Line_Image         : constant String := Integer'Image (Input.Line);
-      At_Character_Image : constant String := Integer'Image (At_Character);
-      --  These variables are required because we have to drop the leading
-      --  space character.
-
-   begin
-      Number_Of_Errors := Number_Of_Errors + 1;
-
-      if At_Character > 0 then
-         Put_Line (Standard_Error,
-                   S (Input.Name) & ':'
-                   & Line_Image (Line_Image'First + 1 .. Line_Image'Last) & ':'
-                   & At_Character_Image (At_Character_Image'First + 1
-                                         .. At_Character_Image'Last)
-                   & ": "
-                   & Message);
-      else
-         Put_Line (Standard_Error,
-                   S (Input.Name) & ':'
-                   & Line_Image (Line_Image'First + 1 .. Line_Image'Last)
-                   & ": "
-                   & Message);
-      end if;
-   end Error;
-
-   -------------
-   -- Warning --
-   -------------
-
-   procedure Warning
-     (Input   : Input_File;
-      Message : String)
-   is
-   begin
-      if Warnings_Enabled then
-         Warning (Input, 0, Message);
-      end if;
-   end Warning;
-
-   procedure Warning
-     (Input        : Input_File;
-      At_Character : Natural;
-      Message      : String)
-   is
-      Line_Image         : constant String := Integer'Image (Input.Line);
-      At_Character_Image : constant String := Integer'Image (At_Character);
-      --  These variables are required because we have to drop the leading
-      --  space character.
-
-   begin
-      if not Warnings_Enabled then
-         return;
-      end if;
-
-      Number_Of_Warnings := Number_Of_Warnings + 1;
-
-      if At_Character > 0 then
-         Put_Line (Standard_Error,
-                   S (Input.Name) & ':'
-                   & Line_Image (Line_Image'First + 1 .. Line_Image'Last) & ':'
-                   & At_Character_Image (At_Character_Image'First + 1
-                                         .. At_Character_Image'Last)
-                   & ": warning: "
-                   & Message);
-      else
-         Put_Line (Standard_Error,
-                   S (Input.Name) & ':'
-                   & Line_Image (Line_Image'First + 1 .. Line_Image'Last)
-                   & ": warning: "
-                   & Message);
-      end if;
-   end Warning;
-
-   --------------------------
-   -- Read_Dictionary_File --
-   --------------------------
-
-   procedure Read_Dictionary_File is
-   begin
-      while not End_Of_File (Dictionary_File.Data) loop
-         declare
-            Line  : constant String :=
-                      Get_Line (Dictionary_File'Access);
-            Split : constant Natural :=
-                      Index (Line, (1 => VMS_Escape_Character));
-
-         begin
-            if Line'Length = 0 then
-               Error (Dictionary_File, "empty line in dictionary file");
-
-            elsif Line (Line'First) = ' ' then
-               Error (Dictionary_File, 1, "line starts with space character");
-
-            elsif Split = 0 then
-               Error (Dictionary_File, "line does not contain "
-                      & VMS_Escape_Character & " character");
-            else
-               declare
-                  Source : constant String :=
-                             Trim (Line (1 .. Split - 1), Both);
-                  Target : constant String :=
-                             Trim (Line (Split + 1 .. Line'Last), Both);
-                  Two_Spaces : constant Natural :=
-                                 Index (Source, "  ");
-                  Non_Word_Character : constant Natural :=
-                                         Index (Source,
-                                                Word_Characters or
-                                                  To_Set (" "),
-                                                Outside);
-
-               begin
-                  if Two_Spaces /= 0 then
-                     Error (Dictionary_File, Two_Spaces,
-                            "multiple space characters in source word");
-                  end if;
-
-                  if Non_Word_Character /= 0 then
-                     Error (Dictionary_File, Non_Word_Character,
-                            "illegal character in source word");
-                  end if;
-
-                  if Source'Length = 0 then
-                     Error (Dictionary_File, "source is empty");
-
-                  elsif Target'Length = 0 then
-                     Error (Dictionary_File, "target is empty");
-
-                  else
-                     Set (Ug_Words, Source, V (Target));
-
-                     --  Ensure that if Source is a sequence of words
-                     --  "WORD1 WORD2 ...", we already have a mapping for
-                     --  "WORD1".
-
-                     for J in Source'Range loop
-                        if Source (J) = ' ' then
-                           declare
-                              Prefix : String renames
-                                         Source (Source'First .. J - 1);
-
-                           begin
-                              if not Is_Known_Word (Prefix) then
-                                 Error (Dictionary_File,
-                                        "prefix '" & Prefix
-                                        & "' not known at this point");
-                              end if;
-                           end;
-                        end if;
-                     end loop;
-                  end if;
-               end;
-            end if;
-         end;
-      end loop;
-   end Read_Dictionary_File;
-
-   -------------------------
-   -- Rewrite_Source_Line --
-   -------------------------
-
-   function Rewrite_Source_Line (Line : String) return String is
-
-      --  We use a simple lexer to split the line into tokens:
-
-      --    Word             consisting entirely of Word_Characters
-      --    VMS_Alternative  ^alpha^beta^ replacement (but not ^^^)
-      --    Space            a space character
-      --    Other            everything else (sequence of non-word characters)
-      --    VMS_Error        incomplete VMS alternative
-      --    End_Of_Line      no more characters on this line
-
-      --   A sequence of three VMS_Escape_Characters is automatically
-      --   collapsed to an Other token.
-
-      type Token_Span is record
-         First, Last : Positive;
-      end record;
-      --  The character range covered by a token in Line
-
-      type Token_Kind is (End_Of_Line, Word, Other,
-                          VMS_Alternative, VMS_Error);
-      type Token_Record (Kind : Token_Kind := End_Of_Line) is record
-         First : Positive;
-         case Kind is
-            when Word | Other =>
-               Span : Token_Span;
-            when VMS_Alternative =>
-               Non_VMS, VMS : Token_Span;
-            when VMS_Error | End_Of_Line =>
-               null;
-         end case;
-      end record;
-
-      Input_Position : Positive := Line'First;
-      Token : Token_Record;
-      --  The position of the next character to be processed by Next_Token
-
-      procedure Next_Token;
-      --  Returns the next token in Line, starting at Input_Position
-
-      Rewritten_Line : VString;
-      --  Collects the line as it is rewritten
-
-      procedure Rewrite_Word;
-      --  The current token is assumed to be a Word. When processing the VMS
-      --  version of the manual, additional tokens are gathered to check if
-      --  we have a file name or a sequence of known words.
-
-      procedure Maybe_Rewrite_Extension;
-      --  The current token is assumed to be Other. When processing the VMS
-      --  version of the manual and the token represents a single dot ".",
-      --  the following word is rewritten according to the rules for
-      --  extensions.
-
-      VMS_Token_Seen : Boolean := False;
-      --  This is set to true if a VMS_Alternative has been encountered, or a
-      --  ^^^ token.
-
-      ----------------
-      -- Next_Token --
-      ----------------
-
-      procedure Next_Token is
-         Remaining_Line : String renames Line (Input_Position .. Line'Last);
-         Last_Character : Natural;
-
-      begin
-         if Remaining_Line'Length = 0 then
-            Token := (End_Of_Line, Remaining_Line'First);
-            return;
-         end if;
-
-         --  ^alpha^beta^, the VMS_Alternative case.
-
-         if Remaining_Line (Remaining_Line'First) = VMS_Escape_Character then
-            declare
-               VMS_Second_Character, VMS_Third_Character : Natural;
-
-            begin
-               if VMS_Token_Seen then
-                  Error (Source_File, Remaining_Line'First,
-                         "multiple " & VMS_Escape_Character
-                         & " characters on a single line");
-               else
-                  VMS_Token_Seen := True;
-               end if;
-
-               --  Find the second and third escape character. If one of
-               --  them is not present, generate an error token.
-
-               VMS_Second_Character :=
-                 Index (Remaining_Line (Remaining_Line'First + 1
-                                           .. Remaining_Line'Last),
-                        (1 => VMS_Escape_Character));
-
-               if VMS_Second_Character = 0 then
-                  Input_Position := Remaining_Line'Last + 1;
-                  Token := (VMS_Error, Remaining_Line'First);
-                  return;
-               end if;
-
-               VMS_Third_Character :=
-                 Index (Remaining_Line (VMS_Second_Character + 1
-                                           .. Remaining_Line'Last),
-                        (1 => VMS_Escape_Character));
-
-               if VMS_Third_Character = 0 then
-                  Input_Position := Remaining_Line'Last + 1;
-                  Token := (VMS_Error, Remaining_Line'First);
-                  return;
-               end if;
-
-               --  Consume all the characters we are about to include in
-               --  the token.
-
-               Input_Position := VMS_Third_Character + 1;
-
-               --  Check if we are in a ^^^ situation, and return an Other
-               --  token in this case.
-
-               if Remaining_Line'First + 1 = VMS_Second_Character
-                 and then Remaining_Line'First + 2 = VMS_Third_Character
-               then
-                  Token := (Other, Remaining_Line'First,
-                            (Remaining_Line'First, Remaining_Line'First));
-                  return;
-               end if;
-
-               Token := (VMS_Alternative, Remaining_Line'First,
-                         (Remaining_Line'First + 1, VMS_Second_Character - 1),
-                         (VMS_Second_Character + 1, VMS_Third_Character - 1));
-               return;
-            end;
-         end if;                        --  VMS_Alternative
-
-         --  The Word case. Search for characters not in Word_Characters.
-         --  We have found a word if the first non-word character is not
-         --  the first character in Remaining_Line, i.e. if Remaining_Line
-         --  starts with a word character.
-
-         Last_Character := Index (Remaining_Line, Word_Characters, Outside);
-         if Last_Character /= Remaining_Line'First then
-
-            --  If we haven't found a character which is not in
-            --  Word_Characters, all remaining characters are part of the
-            --  current Word token.
-
-            if Last_Character = 0 then
-               Last_Character := Remaining_Line'Last + 1;
-            end if;
-
-            Input_Position := Last_Character;
-            Token := (Word, Remaining_Line'First,
-                      (Remaining_Line'First, Last_Character - 1));
-            return;
-         end if;
-
-         --  Remaining characters are in the Other category. To speed
-         --  up processing, we collect them together if there are several
-         --  of them.
-
-         Input_Position := Last_Character + 1;
-         Token := (Other,
-                   Remaining_Line'First,
-                   (Remaining_Line'First, Last_Character));
-      end Next_Token;
-
-      ------------------
-      -- Rewrite_Word --
-      ------------------
-
-      procedure Rewrite_Word is
-         First_Word : String
-           renames Line (Token.Span.First .. Token.Span.Last);
-
-      begin
-         --  We do not perform any error checking below, so we can just skip
-         --  all processing for the non-VMS version.
-
-         if Target /= VMS then
-            Append (Rewritten_Line, First_Word);
-            Next_Token;
-            return;
-         end if;
-
-         if Is_Known_Word (First_Word) then
-
-            --  If we have a word from the dictionary, we look for the
-            --  longest possible sequence we can rewrite.
-
-            declare
-               Seq : Token_Span := Token.Span;
-               Lost_Space : Boolean := False;
-
-            begin
-               Next_Token;
-               loop
-                  if Token.Kind = Other
-                    and then Line (Token.Span.First .. Token.Span.Last) = " "
-                  then
-                     Next_Token;
-                     if Token.Kind /= Word
-                       or else not Is_Known_Word (Line (Seq.First
-                                                        .. Token.Span.Last))
-                     then
-                        --  When we reach this point, the following
-                        --  conditions are true:
-                        --
-                        --  Seq is a known word.
-                        --  The previous token was a space character.
-                        --  Seq extended to the current token is not a
-                        --  known word.
-
-                        Lost_Space := True;
-                        exit;
-
-                     else
-
-                        --  Extend Seq to cover the current (known) word.
-
-                        Seq.Last := Token.Span.Last;
-                        Next_Token;
-                     end if;
-
-                  else
-                     --  When we reach this point, the following conditions
-                     --  are true:
-                     --
-                     --  Seq is a known word.
-                     --  The previous token was a word.
-                     --  The current token is not a space character.
-
-                     exit;
-                  end if;
-               end loop;
-
-               --  Rewrite Seq, and add the lost space if necessary
-
-               Append (Rewritten_Line,
-                       Get_Replacement_Word (Line (Seq.First .. Seq.Last)));
-               if Lost_Space then
-                  Append (Rewritten_Line, ' ');
-               end if;
-
-               --  The unknown token will be processed during the
-               --  next iteration of the main loop.
-               return;
-            end;
-         end if;
-
-         Next_Token;
-
-         if Token.Kind = Other
-           and then Line (Token.Span.First .. Token.Span.Last) = "."
-         then
-            --  Deal with extensions
-
-            Next_Token;
-            if Token.Kind = Word
-              and then Is_Extension (Line (Token.Span.First
-                                           .. Token.Span.Last))
-            then
-               --  We have discovered a file extension. Convert the file
-               --  name to upper case.
-
-               Append (Rewritten_Line,
-                       Translate (First_Word, Upper_Case_Map) & '.');
-               Append (Rewritten_Line,
-                       Get_Replacement_Extension
-                       (Line (Token.Span.First .. Token.Span.Last)));
-               Next_Token;
-            else
-               --  We already have: Word ".", followed by an unknown
-               --  token.
-
-               Append (Rewritten_Line, First_Word & '.');
-
-               --  The unknown token will be processed during the next
-               --  iteration of the main loop.
-            end if;
-
-         else
-            --  We have an unknown Word, followed by an unknown token.
-            --  The unknown token will be processed by the outer loop.
-
-            Append (Rewritten_Line, First_Word);
-         end if;
-      end Rewrite_Word;
-
-      -----------------------------
-      -- Maybe_Rewrite_Extension --
-      -----------------------------
-
-      procedure Maybe_Rewrite_Extension is
-      begin
-         --  Again, we need no special processing in the non-VMS case
-
-         if Target = VMS
-           and then Line (Token.Span.First .. Token.Span.Last) = "."
-         then
-            --  This extension is not preceded by a word, otherwise
-            --  Rewrite_Word would have handled it.
-
-            Next_Token;
-            if Token.Kind = Word
-              and then Is_Extension (Line (Token.Span.First
-                                           .. Token.Span.Last))
-            then
-               Append (Rewritten_Line, '.' & Get_Replacement_Extension
-                       (Line (Token.Span.First .. Token.Span.Last)));
-               Next_Token;
-            else
-               Append (Rewritten_Line, '.');
-            end if;
-         else
-            Append (Rewritten_Line, Line (Token.Span.First
-                                          .. Token.Span.Last));
-            Next_Token;
-         end if;
-      end Maybe_Rewrite_Extension;
-
-   --  Start of processing for Process_Source_Line
-
-   begin
-      --  The following parser recognizes the following special token
-      --  sequences:
-
-      --     Word "." Word    rewrite as file name if second word is extension
-      --     Word " " Word    rewrite as a single word using Ug_Words table
-
-      Next_Token;
-      loop
-         case Token.Kind is
-            when End_Of_Line =>
-               exit;
-
-            when Word  =>
-               Rewrite_Word;
-
-            when Other =>
-               Maybe_Rewrite_Extension;
-
-            when VMS_Alternative =>
-               if VMS_Context_Determined then
-                  if (not In_VMS_Section)
-                    or else
-                    Line (Token.VMS.First .. Token.VMS.Last) /=
-                    Line (Token.Non_VMS.First .. Token.Non_VMS.Last)
-                  then
-                     Warning (Source_File, Token.First,
-                              "VMS alternative already determined "
-                                & "by conditionals");
-                  end if;
-               end if;
-               if Target = VMS then
-                  Append (Rewritten_Line, Line (Token.VMS.First
-                                                .. Token.VMS.Last));
-               else
-                  Append (Rewritten_Line, Line (Token.Non_VMS.First
-                                                .. Token.Non_VMS.Last));
-               end if;
-               Next_Token;
-
-            when VMS_Error =>
-               Error (Source_File, Token.First, "invalid VMS alternative");
-               Next_Token;
-         end case;
-      end loop;
-
-      return S (Rewritten_Line);
-   end Rewrite_Source_Line;
-
-   -------------------------
-   -- Process_Source_File --
-   -------------------------
-
-   procedure Process_Source_File is
-      Ifset       : constant String := "@ifset ";
-      Ifclear     : constant String := "@ifclear ";
-      Endsetclear : constant String := "@end ";
-      --  Strings to be recognized for conditional processing.
-
-   begin
-      while not End_Of_File (Source_File.Data) loop
-         declare
-            Line      : constant String := Get_Line (Source_File'Access);
-            Rewritten : constant String := Rewrite_Source_Line (Line);
-            --  We unconditionally rewrite the line so that we can check the
-            --  syntax of all lines, and not only those which are actually
-            --  included in the output.
-
-            Have_Conditional : Boolean := False;
-            --  True if we have encountered a conditional preprocessing
-            --  directive.
-
-            Cond : Conditional;
-            --  The kind of the directive.
-
-            Flag : Target_Type;
-            --  Its flag.
-
-         begin
-            --  If the line starts with @ifset or @ifclear, we try to convert
-            --  the following flag to one of our target types. If we fail,
-            --  Have_Conditional remains False.
-
-            if Line'Length >= Ifset'Length
-              and then Line (1 .. Ifset'Length) = Ifset
-            then
-               Cond := Set;
-
-               declare
-                  Arg : constant String :=
-                          Trim (Line (Ifset'Length + 1 .. Line'Last), Both);
-
-               begin
-                  Flag := Target_Type'Value (Arg);
-
-                  if Translate (Target_Type'Image (Flag), Lower_Case_Map)
-                                                                    /= Arg
-                  then
-                     Error (Source_File, "flag has to be lowercase");
-                  end if;
-
-                  Have_Conditional := True;
-
-               exception
-                  when Constraint_Error =>
-                     Error (Source_File, "unknown flag for '@ifset'");
-               end;
-
-            elsif Line'Length >= Ifclear'Length
-              and then Line (1 .. Ifclear'Length) = Ifclear
-            then
-               Cond := Clear;
-
-               declare
-                  Arg : constant String :=
-                          Trim (Line (Ifclear'Length + 1 .. Line'Last), Both);
-
-               begin
-                  Flag := Target_Type'Value (Arg);
-                  if Translate (Target_Type'Image (Flag), Lower_Case_Map)
-                                                                     /= Arg
-                  then
-                     Error (Source_File, "flag has to be lowercase");
-                  end if;
-
-                  Have_Conditional := True;
-
-               exception
-                  when Constraint_Error =>
-                     Error (Source_File, "unknown flag for '@ifclear'");
-               end;
-            end if;
-
-            if Have_Conditional then
-
-               --  We create a new conditional context and suppress the
-               --  directive in the output.
-
-               Push_Conditional (Cond, Flag);
-
-            elsif Line'Length >= Endsetclear'Length
-              and then Line (1 .. Endsetclear'Length) = Endsetclear
-            then
-               --  The '@end ifset'/'@end ifclear' case is handled here. We
-               --  have to pop the conditional context.
-
-               declare
-                  First, Last : Natural;
-
-               begin
-                  Find_Token (Source => Line (Endsetclear'Length + 1
-                                              .. Line'Length),
-                              Set    => Letter_Set,
-                              Test   => Inside,
-                              First  => First,
-                              Last   => Last);
-
-                  if Last = 0 then
-                     Error (Source_File, "'@end' without argument");
-                  else
-                     if Line (First .. Last) = "ifset" then
-                        Have_Conditional := True;
-                        Cond := Set;
-                     elsif Line (First .. Last) = "ifclear" then
-                        Have_Conditional := True;
-                        Cond := Clear;
-                     end if;
-
-                     if Have_Conditional then
-                        Pop_Conditional (Cond);
-                     end if;
-
-                     --  We fall through to the ordinary case for other @end
-                     --  directives.
-
-                  end if;               --  @end without argument
-               end;
-            end if;                     --  Have_Conditional
-
-            if not Have_Conditional then
-
-               --  The ordinary case.
-
-               if not Currently_Excluding then
-                  Put_Line (Output_File, Rewritten);
-               end if;
-            end if;
-         end;
-      end loop;
-
-      Check_No_Pending_Conditional;
-   end Process_Source_File;
-
-   ---------------------------
-   -- Initialize_Extensions --
-   ---------------------------
-
-   procedure Initialize_Extensions is
-
-      procedure Add (Extension : String);
-      --  Adds an extension which is replaced with itself (in upper
-      --  case).
-
-      procedure Add (Extension, Replacement : String);
-      --  Adds an extension with a custom replacement.
-
-      ---------
-      -- Add --
-      ---------
-
-      procedure Add (Extension : String) is
-      begin
-         Add (Extension, Translate (Extension, Upper_Case_Map));
-      end Add;
-
-      procedure Add (Extension, Replacement : String) is
-      begin
-         Set (Extensions, Extension, V (Replacement));
-      end Add;
-
-   --  Start of processing for Initialize_Extensions
-
-   begin
-      --  To avoid performance degradation, increase the constant in the
-      --  definition of Extensions above if you add more extensions here.
-
-      Add ("o", "OBJ");
-      Add ("ads");
-      Add ("adb");
-      Add ("ali");
-      Add ("ada");
-      Add ("atb");
-      Add ("ats");
-      Add ("adc");
-      Add ("c");
-   end Initialize_Extensions;
-
-   ------------------
-   -- Is_Extension --
-   ------------------
-
-   function Is_Extension (Extension : String) return Boolean is
-   begin
-      return Present (Extensions, Extension);
-   end Is_Extension;
-
-   -------------------------------
-   -- Get_Replacement_Extension --
-   -------------------------------
-
-   function Get_Replacement_Extension (Extension : String) return String is
-   begin
-      return S (Get (Extensions, Extension));
-   end Get_Replacement_Extension;
-
-   -------------------
-   -- Is_Known_Word --
-   -------------------
-
-   function Is_Known_Word (Word : String) return Boolean is
-   begin
-      return Present (Ug_Words, Word);
-   end Is_Known_Word;
-
-   --------------------------
-   -- Get_Replacement_Word --
-   --------------------------
-
-   function Get_Replacement_Word (Word : String) return String is
-   begin
-      return S (Get (Ug_Words, Word));
-   end Get_Replacement_Word;
-
-   ----------------------
-   -- Push_Conditional --
-   ----------------------
-
-   procedure Push_Conditional (Cond : Conditional; Flag : Target_Type) is
-      Will_Exclude : Boolean;
-
-   begin
-      --  If we are already in an excluding context, inherit this property,
-      --  otherwise calculate it from scratch.
-
-      if Conditional_TOS > 0
-        and then Conditional_Stack (Conditional_TOS).Excluding
-      then
-         Will_Exclude := True;
-      else
-         case Cond is
-            when Set =>
-               Will_Exclude := Flag /= Target;
-            when Clear =>
-               Will_Exclude := Flag = Target;
-         end case;
-      end if;
-
-      --  Check if the current directive is pointless because of a previous,
-      --  enclosing directive.
-
-      for J in 1 .. Conditional_TOS loop
-         if Conditional_Stack (J).Flag = Flag then
-            Warning (Source_File, "directive without effect because of line"
-                     & Integer'Image (Conditional_Stack (J).Starting_Line));
-         end if;
-      end loop;
-
-      Conditional_TOS := Conditional_TOS + 1;
-      Conditional_Stack (Conditional_TOS) :=
-        (Starting_Line => Source_File.Line,
-         Cond          => Cond,
-         Flag          => Flag,
-         Excluding     => Will_Exclude);
-   end Push_Conditional;
-
-   ---------------------
-   -- Pop_Conditional --
-   ---------------------
-
-   procedure Pop_Conditional (Cond : Conditional) is
-   begin
-      if Conditional_TOS > 0 then
-         case Cond is
-            when Set =>
-               if Conditional_Stack (Conditional_TOS).Cond /= Set then
-                  Error (Source_File,
-                         "'@end ifset' does not match '@ifclear' at line"
-                         & Integer'Image (Conditional_Stack
-                                          (Conditional_TOS).Starting_Line));
-               end if;
-
-            when Clear =>
-               if Conditional_Stack (Conditional_TOS).Cond /= Clear then
-                  Error (Source_File,
-                         "'@end ifclear' does not match '@ifset' at line"
-                         & Integer'Image (Conditional_Stack
-                                          (Conditional_TOS).Starting_Line));
-               end if;
-         end case;
-
-         Conditional_TOS := Conditional_TOS - 1;
-
-      else
-         case Cond is
-            when Set =>
-               Error (Source_File,
-                      "'@end ifset' without corresponding '@ifset'");
-
-            when Clear =>
-               Error (Source_File,
-                      "'@end ifclear' without corresponding '@ifclear'");
-         end case;
-      end if;
-   end Pop_Conditional;
-
-   -------------------------
-   -- Currently_Excluding --
-   -------------------------
-
-   function Currently_Excluding return Boolean is
-   begin
-      return Conditional_TOS > 0
-        and then Conditional_Stack (Conditional_TOS).Excluding;
-   end Currently_Excluding;
-
-   ----------------------------
-   -- VMS_Context_Determined --
-   ----------------------------
-
-   function VMS_Context_Determined return Boolean is
-   begin
-      for J in 1 .. Conditional_TOS loop
-         if Conditional_Stack (J).Flag = VMS then
-            return True;
-         end if;
-      end loop;
-
-      return False;
-   end VMS_Context_Determined;
-
-   --------------------
-   -- In_VMS_Section --
-   --------------------
-
-   function In_VMS_Section return Boolean is
-   begin
-      for J in 1 .. Conditional_TOS loop
-         if Conditional_Stack (J).Flag = VMS then
-            return Conditional_Stack (J).Cond = Set;
-         end if;
-      end loop;
-
-      return False;
-   end In_VMS_Section;
-
-   ----------------------------------
-   -- Check_No_Pending_Conditional --
-   ----------------------------------
-
-   procedure Check_No_Pending_Conditional is
-   begin
-      for J in 1 .. Conditional_TOS loop
-         case Conditional_Stack (J).Cond is
-            when Set =>
-               Error (Source_File, "Missing '@end ifset' for '@ifset' at line"
-                      & Integer'Image (Conditional_Stack (J).Starting_Line));
-
-            when Clear =>
-               Error (Source_File,
-                      "Missing '@end ifclear' for '@ifclear' at line"
-                      & Integer'Image (Conditional_Stack (J).Starting_Line));
-         end case;
-      end loop;
-   end Check_No_Pending_Conditional;
-
-   ------------------
-   -- Main Program --
-   ------------------
-
-   Valid_Command_Line : Boolean;
-   Output_File_Name   : VString;
-
-begin
-   Initialize_Extensions;
-
-   Valid_Command_Line := Argument_Count in 3 .. 5;
-
-   --  First argument: Target.
-
-   if Valid_Command_Line then
-      begin
-         Target := Target_Type'Value (Argument (1));
-
-      exception
-         when Constraint_Error =>
-            Valid_Command_Line := False;
-      end;
-   end if;
-
-   --  Second argument: Source_File.
-
-   if Valid_Command_Line then
-      begin
-         Source_File.Name := V (Argument (2));
-         Open (Source_File.Data, In_File, Argument (2));
-
-      exception
-         when Name_Error =>
-            Valid_Command_Line := False;
-      end;
-   end if;
-
-   --  Third argument: Dictionary_File.
-
-   if Valid_Command_Line then
-      begin
-         Dictionary_File.Name := V (Argument (3));
-         Open (Dictionary_File.Data, In_File, Argument (3));
-
-      exception
-         when Name_Error =>
-            Valid_Command_Line := False;
-      end;
-   end if;
-
-   --  Fourth argument: Output_File.
-
-   if Valid_Command_Line then
-      if Argument_Count in 4 .. 5 then
-         Output_File_Name := V (Argument (4));
-      else
-         case Target is
-            when UNW =>
-               Output_File_Name := V ("gnat_ugn_unw.texi");
-            when VMS =>
-               Output_File_Name := V ("gnat_ugn_vms.texi");
-         end case;
-      end if;
-
-      Warnings_Enabled := Argument_Count = 5;
-
-      begin
-         Create (Output_File, Out_File, S (Output_File_Name));
-
-      exception
-         when Name_Error | Use_Error =>
-            Valid_Command_Line := False;
-      end;
-   end if;
-
-   if not Valid_Command_Line then
-      Usage;
-      Set_Exit_Status (Failure);
-
-   else
-      Read_Dictionary_File;
-      Close (Dictionary_File.Data);
-
-      --  Main processing starts here.
-
-      Process_Source_File;
-      Close (Output_File);
-      Close (Source_File.Data);
-
-      New_Line (Standard_Error);
-
-      if Number_Of_Warnings = 0 then
-         Put_Line (Standard_Error, " NO Warnings");
-
-      else
-         Put (Standard_Error, Integer'Image (Number_Of_Warnings));
-         Put (Standard_Error, " Warning");
-
-         if Number_Of_Warnings > 1 then
-            Put (Standard_Error, "s");
-         end if;
-
-         New_Line (Standard_Error);
-      end if;
-
-      if Number_Of_Errors = 0 then
-         Put_Line (Standard_Error, " NO Errors");
-
-      else
-         Put (Standard_Error, Integer'Image (Number_Of_Errors));
-         Put (Standard_Error, " Error");
-
-         if Number_Of_Errors > 1 then
-            Put (Standard_Error, "s");
-         end if;
-
-         New_Line (Standard_Error);
-      end if;
-
-      if Number_Of_Errors /= 0  then
-         Set_Exit_Status (Failure);
-      else
-         Set_Exit_Status (Success);
-      end if;
-   end if;
-end Xgnatugn;
diff --git a/gcc/config/rs6000/power5.md b/gcc/config/rs6000/power5.md
deleted file mode 100644
index 59baa79..0000000
--- a/gcc/config/rs6000/power5.md
+++ /dev/null
@@ -1,299 +0,0 @@
-;; Scheduling description for IBM POWER5 processor.
-;;   Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-;;
-;; This file is part of GCC.
-;;
-;; GCC is free software; you can redistribute it and/or modify it
-;; under the terms of the GNU General Public License as published
-;; by the Free Software Foundation; either version 2, or (at your
-;; option) any later version.
-;;
-;; GCC is distributed in the hope that it will be useful, but WITHOUT
-;; 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
-;; along with GCC; see the file COPYING.  If not, write to the
-;; Free Software Foundation, 59 Temple Place - Suite 330, Boston,
-;; MA 02111-1307, USA.
-
-;; Sources: IBM Red Book and White Paper on POWER5
-
-;; The POWER5 has 2 iu, 2 fpu, 2 lsu per engine (2 engines per chip).
-;; Instructions that update more than one register get broken into two
-;; (split) or more internal ops.  The chip can issue up to 5
-;; internal ops per cycle.
-
-(define_automaton "power5iu,power5fpu,power5misc")
-
-(define_cpu_unit "iu1_power5,iu2_power5" "power5iu")
-(define_cpu_unit "lsu1_power5,lsu2_power5" "power5misc")
-(define_cpu_unit "fpu1_power5,fpu2_power5" "power5fpu")
-(define_cpu_unit "bpu_power5,cru_power5" "power5misc")
-(define_cpu_unit "du1_power5,du2_power5,du3_power5,du4_power5,du5_power5"
-		 "power5misc")
-
-(define_reservation "lsq_power5"
-		    "(du1_power5,lsu1_power5)\
-		    |(du2_power5,lsu2_power5)\
-		    |(du3_power5,nothing,lsu2_power5)\
-		    |(du4_power5,nothing,lsu1_power5)")
-
-(define_reservation "iq_power5"
-		    "(du1_power5,iu1_power5)\
-		    |(du2_power5,iu2_power5)\
-		    |(du3_power5,nothing,iu2_power5)\
-		    |(du4_power5,nothing,iu1_power5)")
-
-(define_reservation "fpq_power5"
-		    "(du1_power5,fpu1_power5)\
-		    |(du2_power5,fpu2_power5)\
-		    |(du3_power5,nothing,fpu2_power5)\
-		    |(du4_power5,nothing,fpu1_power5)")
-
-; Dispatch slots are allocated in order conforming to program order.
-(absence_set "du1_power5" "du2_power5,du3_power5,du4_power5,du5_power5")
-(absence_set "du2_power5" "du3_power5,du4_power5,du5_power5")
-(absence_set "du3_power5" "du4_power5,du5_power5")
-(absence_set "du4_power5" "du5_power5")
-
-
-; Load/store
-(define_insn_reservation "power5-load" 4 ; 3
-  (and (eq_attr "type" "load")
-       (eq_attr "cpu" "power5"))
-  "lsq_power5")
-
-(define_insn_reservation "power5-load-ext" 5
-  (and (eq_attr "type" "load_ext")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,lsu1_power5,nothing,nothing,iu2_power5")
-
-(define_insn_reservation "power5-load-ext-update" 5
-  (and (eq_attr "type" "load_ext_u")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5+du3_power5+du4_power5,\
-   lsu1_power5+iu2_power5,nothing,nothing,iu2_power5")
-
-(define_insn_reservation "power5-load-ext-update-indexed" 5
-  (and (eq_attr "type" "load_ext_ux")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5+du3_power5+du4_power5,\
-   iu1_power5,lsu2_power5+iu1_power5,nothing,nothing,iu2_power5")
-
-(define_insn_reservation "power5-load-update-indexed" 3
-  (and (eq_attr "type" "load_ux")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5+du3_power5+du4_power5,\
-   iu1_power5,lsu2_power5+iu2_power5")
-
-(define_insn_reservation "power5-load-update" 4 ; 3
-  (and (eq_attr "type" "load_u")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,lsu1_power5+iu2_power5")
-
-(define_insn_reservation "power5-fpload" 6 ; 5
-  (and (eq_attr "type" "fpload")
-       (eq_attr "cpu" "power5"))
-  "lsq_power5")
-
-(define_insn_reservation "power5-fpload-update" 6 ; 5
-  (and (eq_attr "type" "fpload_u,fpload_ux")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,lsu1_power5+iu2_power5")
-
-(define_insn_reservation "power5-store" 1
-  (and (eq_attr "type" "store")
-       (eq_attr "cpu" "power5"))
-  "(du1_power5,lsu1_power5,iu1_power5)\
-  |(du2_power5,lsu2_power5,iu2_power5)\
-  |(du3_power5,lsu2_power5,nothing,iu2_power5)\
-  |(du4_power5,lsu1_power5,nothing,iu1_power5)")
-
-(define_insn_reservation "power5-store-update" 1
-  (and (eq_attr "type" "store_u")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,lsu1_power5+iu2_power5,iu1_power5")
-
-(define_insn_reservation "power5-store-update-indexed" 1
-  (and (eq_attr "type" "store_ux")
-       (eq_attr "cpu" "power5"))
-   "du1_power5+du2_power5+du3_power5+du4_power5,\
-    iu1_power5,lsu2_power5+iu2_power5,iu2_power5")
-
-(define_insn_reservation "power5-fpstore" 1
-  (and (eq_attr "type" "fpstore")
-       (eq_attr "cpu" "power5"))
-  "(du1_power5,lsu1_power5,fpu1_power5)\
-  |(du2_power5,lsu2_power5,fpu2_power5)\
-  |(du3_power5,lsu2_power5,nothing,fpu2_power5)\
-  |(du4_power5,lsu1_power5,nothing,fpu1_power5)")
-
-(define_insn_reservation "power5-fpstore-update" 1
-  (and (eq_attr "type" "fpstore_u,fpstore_ux")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,lsu1_power5+iu2_power5,fpu1_power5")
-
-
-; Integer latency is 2 cycles
-(define_insn_reservation "power5-integer" 2
-  (and (eq_attr "type" "integer")
-       (eq_attr "cpu" "power5"))
-  "iq_power5")
-
-(define_insn_reservation "power5-insert" 4
-  (and (eq_attr "type" "insert_word")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,iu1_power5,nothing,iu2_power5")
-
-(define_insn_reservation "power5-cmp" 3
-  (and (eq_attr "type" "cmp,fast_compare")
-       (eq_attr "cpu" "power5"))
-  "iq_power5")
-
-(define_insn_reservation "power5-compare" 2
-  (and (eq_attr "type" "compare,delayed_compare")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,iu1_power5,iu2_power5")
-
-(define_bypass 4 "power5-compare" "power5-branch,power5-crlogical,power5-delayedcr,power5-mfcr,power5-mfcrf")
-
-(define_insn_reservation "power5-lmul-cmp" 7
-  (and (eq_attr "type" "lmul_compare")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,iu1_power5*6,iu2_power5")
-
-(define_bypass 10 "power5-lmul-cmp" "power5-branch,power5-crlogical,power5-delayedcr,power5-mfcr,power5-mfcrf")
-
-(define_insn_reservation "power5-imul-cmp" 5
-  (and (eq_attr "type" "imul_compare")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,iu1_power5*4,iu2_power5")
-
-(define_bypass 8 "power5-imul-cmp" "power5-branch,power5-crlogical,power5-delayedcr,power5-mfcr,power5-mfcrf")
-
-(define_insn_reservation "power5-lmul" 7
-  (and (eq_attr "type" "lmul")
-       (eq_attr "cpu" "power5"))
-  "(du1_power5,iu1_power5*6)\
-  |(du2_power5,iu2_power5*6)\
-  |(du3_power5,iu2_power5*6)\
-  |(du4_power5,iu2_power5*6)")
-;  |(du3_power5,nothing,iu2_power5*6)\
-;  |(du4_power5,nothing,iu2_power5*6)")
-
-(define_insn_reservation "power5-imul" 5
-  (and (eq_attr "type" "imul")
-       (eq_attr "cpu" "power5"))
-  "(du1_power5,iu1_power5*4)\
-  |(du2_power5,iu2_power5*4)\
-  |(du3_power5,iu2_power5*4)\
-  |(du4_power5,iu1_power5*4)")
-;  |(du3_power5,nothing,iu2_power5*4)\
-;  |(du4_power5,nothing,iu1_power5*4)")
-
-(define_insn_reservation "power5-imul3" 4
-  (and (eq_attr "type" "imul2,imul3")
-       (eq_attr "cpu" "power5"))
-  "(du1_power5,iu1_power5*3)\
-  |(du2_power5,iu2_power5*3)\
-  |(du3_power5,iu2_power5*3)\
-  |(du4_power5,iu1_power5*3)")
-;  |(du3_power5,nothing,iu2_power5*3)\
-;  |(du4_power5,nothing,iu1_power5*3)")
-
-
-; SPR move only executes in first IU.
-; Integer division only executes in second IU.
-(define_insn_reservation "power5-idiv" 36
-  (and (eq_attr "type" "idiv")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,iu2_power5*35")
-
-(define_insn_reservation "power5-ldiv" 68
-  (and (eq_attr "type" "ldiv")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,iu2_power5*67")
-
-
-(define_insn_reservation "power5-mtjmpr" 3
-  (and (eq_attr "type" "mtjmpr,mfjmpr")
-       (eq_attr "cpu" "power5"))
-  "du1_power5,bpu_power5")
-
-
-; Branches take dispatch Slot 4.  The presence_sets prevent other insn from
-; grabbing previous dispatch slots once this is assigned.
-(define_insn_reservation "power5-branch" 2
-  (and (eq_attr "type" "jmpreg,branch")
-       (eq_attr "cpu" "power5"))
-  "(du5_power5\
-   |du4_power5+du5_power5\
-   |du3_power5+du4_power5+du5_power5\
-   |du2_power5+du3_power5+du4_power5+du5_power5\
-   |du1_power5+du2_power5+du3_power5+du4_power5+du5_power5),bpu_power5")
-
-
-; Condition Register logical ops are split if non-destructive (RT != RB)
-(define_insn_reservation "power5-crlogical" 2
-  (and (eq_attr "type" "cr_logical")
-       (eq_attr "cpu" "power5"))
-  "du1_power5,cru_power5")
-
-(define_insn_reservation "power5-delayedcr" 4
-  (and (eq_attr "type" "delayed_cr")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5,cru_power5,cru_power5")
-
-; 4 mfcrf (each 3 cyc, 1/cyc) + 3 fxu
-(define_insn_reservation "power5-mfcr" 6
-  (and (eq_attr "type" "mfcr")
-       (eq_attr "cpu" "power5"))
-  "du1_power5+du2_power5+du3_power5+du4_power5,\
-   du1_power5+du2_power5+du3_power5+du4_power5+cru_power5,\
-   cru_power5,cru_power5,cru_power5")
-
-; mfcrf (1 field)
-(define_insn_reservation "power5-mfcrf" 3
-  (and (eq_attr "type" "mfcrf")
-       (eq_attr "cpu" "power5"))
-  "du1_power5,cru_power5")
-
-; mtcrf (1 field)
-(define_insn_reservation "power5-mtcr" 4
-  (and (eq_attr "type" "mtcr")
-       (eq_attr "cpu" "power5"))
-  "du1_power5,iu1_power5")
-
-; Basic FP latency is 6 cycles
-(define_insn_reservation "power5-fp" 6
-  (and (eq_attr "type" "fp,dmul")
-       (eq_attr "cpu" "power5"))
-  "fpq_power5")
-
-(define_insn_reservation "power5-fpcompare" 5
-  (and (eq_attr "type" "fpcompare")
-       (eq_attr "cpu" "power5"))
-  "fpq_power5")
-
-(define_insn_reservation "power5-sdiv" 33
-  (and (eq_attr "type" "sdiv,ddiv")
-       (eq_attr "cpu" "power5"))
-  "(du1_power5,fpu1_power5*28)\
-  |(du2_power5,fpu2_power5*28)\
-  |(du3_power5,fpu2_power5*28)\
-  |(du4_power5,fpu1_power5*28)")
-;  |(du3_power5,nothing,fpu2_power5*28)\
-;  |(du4_power5,nothing,fpu1_power5*28)")
-
-(define_insn_reservation "power5-sqrt" 40
-  (and (eq_attr "type" "ssqrt,dsqrt")
-       (eq_attr "cpu" "power5"))
-  "(du1_power5,fpu1_power5*35)\
-  |(du2_power5,fpu2_power5*35)\
-  |(du3_power5,fpu2_power5*35)\
-  |(du4_power5,fpu2_power5*35)")
-;  |(du3_power5,nothing,fpu2_power5*35)\
-;  |(du4_power5,nothing,fpu2_power5*35)")
-
diff --git a/gcc/testsuite/g++.dg/ext/attrib14.C b/gcc/testsuite/g++.dg/ext/attrib14.C
deleted file mode 100644
index 3a819e0..0000000
--- a/gcc/testsuite/g++.dg/ext/attrib14.C
+++ /dev/null
@@ -1,13 +0,0 @@
-// PR c++/13170
-// The bogus attribute is ignored, but was in TYPE_ATTRIBUTES during
-// parsing of the class, causing some variants to have it and some not.
-
-struct __attribute__((bogus)) A
-{
-    virtual ~A();
-    void foo(const A&);
-    void bar(const A&);
-};				// { dg-warning "ignored" "" }
-
-void A::foo(const A&)   {}
-void A::bar(const A& a) { foo(a); }
diff --git a/gcc/testsuite/g++.dg/template/unify5.C b/gcc/testsuite/g++.dg/template/unify5.C
deleted file mode 100644
index 6928f1f..0000000
--- a/gcc/testsuite/g++.dg/template/unify5.C
+++ /dev/null
@@ -1,10 +0,0 @@
-
-// Copyright (C) 2004 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 1 Apr 2004 <nathan@codesourcery.com>
-// Origin:Matt Austern <austern@apple.com>
-
-// PR:c++/14007
-
-template <typename T> struct X {};  // #1
-template <typename T> struct X<const T>; //#2
-template struct X<int&>; //#3
diff --git a/gcc/testsuite/g++.dg/template/unify6.C b/gcc/testsuite/g++.dg/template/unify6.C
deleted file mode 100644
index ee6a8ce..0000000
--- a/gcc/testsuite/g++.dg/template/unify6.C
+++ /dev/null
@@ -1,22 +0,0 @@
-// Copyright (C) 2004 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 1 Apr 2004 <nathan@codesourcery.com>
-
-void Baz ();
-
-template <typename T> void Foo1 (T *); // #1
-template <typename T> void Foo1 (T const *a) {a (1);} // #2
-
-template <typename T> T const *Foo2 (T *);
-
-template <typename T> void Foo3 (T *, T const * = 0);
-
-void Bar ()
-{
-  Foo1 (&Baz); // #1
-
-  Foo2 (&Baz);
-
-  Foo3 (&Baz);
-
-  Foo3 (&Baz, &Baz); // { dg-error "no matching function" "" }
-}
diff --git a/gcc/testsuite/g++.dg/template/unify7.C b/gcc/testsuite/g++.dg/template/unify7.C
deleted file mode 100644
index 3f7028b..0000000
--- a/gcc/testsuite/g++.dg/template/unify7.C
+++ /dev/null
@@ -1,14 +0,0 @@
-// Copyright (C) 2004 Free Software Foundation, Inc.
-// Contributed by Nathan Sidwell 1 Apr 2004 <nathan@codesourcery.com>
-
-// PR c++/3518
-template <typename T> void Foo (const T &);
-template <typename T> void Baz (const T (*)());
-
-int &f ();
-
-int main()
-{
-  Foo (f);
-  Baz (f); // { dg-error "no matching function" "" }
-}
diff --git a/gcc/testsuite/gcc.dg/20040219-1.c b/gcc/testsuite/gcc.dg/20040219-1.c
deleted file mode 100644
index 1a277d6..0000000
--- a/gcc/testsuite/gcc.dg/20040219-1.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Testing save/restore of floating point caller-save registers, on ia64
-   this resulted in bad code.  Not all targets will use caller-save regs.  */
-
-/* { dg-do run } */
-/* { dg-options "-O2" } */
-/* { dg-options "-O2 -minline-float-divide-max-throughput" { target ia64-*-* } } */
-
-/* Testing save/restore of floating point caller-save registers on ia64.  */
-
-extern void abort (void);
-
-double foo(double a, double b, double c)
-{
-	return (a+b+c);
-}
-
-main ()
-{
-	double  f1, f2, f3, f4, f5, f6, f7, f8, f9,f10;
-	double f11,f12,f13,f14,f15,f16,f17,f18,f19,f20;
-	double f21,f22,f23,f24,f25,f26,f27,f28,f29,f30;
-	double x;
-	int i,j,k;
-
-	f1  = 0.1; f2  = 0.2; f3  = 0.3; f4  = 0.4; f5  = 0.5;
-	f6  = 0.6; f7  = 0.7; f8  = 0.8; f9  = 0.9; f10 = 1.0;
-	f11 = 1.1; f12 = 1.2; f13 = 1.3; f14 = 1.4; f15 = 1.5;
-	f16 = 1.6; f17 = 1.7; f18 = 1.8; f19 = 1.9; f20 = 2.0;
-	f21 = 2.1; f22 = 2.2; f23 = 2.3; f24 = 2.4; f25 = 2.5;
-	f26 = 2.6; f27 = 2.7; f28 = 2.8; f29 = 2.9; f30 = 3.0;
-
-	i = (int) foo(1.0,1.0,1.0);
-	while (i > 0) {
-		f1  = f2  / f3  * f30;
-		f2  = f3  / f4  * f30;
-		f3  = f4  / f5  * f30;
-		f4  = f5  / f6  * f30;
-		f5  = f6  / f7  * f30;
-		f6  = f7  / f8  * f30;
-		f7  = f8  / f9  * f30;
-		f8  = f9  / f10 * f30;
-		f9  = f10 / f11 * f30;
-		f10 = f11 / f12 * f30;
-		f11 = f12 / f13 * f30;
-		f12 = f13 / f14 * f25;
-		f13 = f14 / f15 * f30;
-		f14 = f15 / f16 * f30;
-		f15 = f16 / f17 * f30;
-		f16 = f17 / f18 * f30;
-		f17 = f18 / f19 * f30;
-		f18 = f19 / f20 * f30;
-		f19 = f20 / f21 * f30;
-		f20 = f21 / f22 * f20;
-		f21 = f22 / f23 * f30;
-		f22 = f23 / f24 * f30;
-		f23 = f24 / f25 * f30;
-		f24 = f25 / f26 * f30;
-		f25 = f26 / f27 * f30;
-		f26 = f27 / f28 * f30;
-		f27 = f28 / f29 * f30;
-		f28 = f29 / f30 * f30;
-		f29 = f30 / f1  * f30;
-		f30 = f1  / f2  * f30;
-		x = foo(f1,f2,f3);
-		i = i - 1;
-	}
-	x = (f1+f2+f3+f4+f5+f6+f7+f8+f9+f10) *
-            (f11+f12+f13+f14+f15+f16+f17+f18+f19+f20) *
-            (f21+f22+f23+f24+f25+f26+f27+f28+f29+f30);
-
-	/* Exact value is not needed, on IA64 it is massively off. */
-        if (x < 19503.0 || x > 19504.0) abort();
-	return 0;
-}
diff --git a/gcc/testsuite/gcc.dg/20040310-1.c b/gcc/testsuite/gcc.dg/20040310-1.c
deleted file mode 100644
index 104e98d..0000000
--- a/gcc/testsuite/gcc.dg/20040310-1.c
+++ /dev/null
@@ -1,34 +0,0 @@
-/* This caused cc1 to segfault on s390x-ibm-linux
-   due to a bug in if_then_else_cond (combine.c).  */
-
-/* { dg-do compile } */
-/* { dg-options "-O1" } */
-
-extern void use (unsigned int x);
-
-int main (void)
-{
-  union 
-    {
-      unsigned int x;
-      unsigned long pad;
-    } A;
-
-  struct 
-    {
-      unsigned int x : 1;
-    } B;
-
-  A.x = 1;
-  B.x = 1;
-  A.x /= B.x;
-  use (A.x);
-
-  A.x = 1;
-  B.x = 1;
-  B.x /= A.x;
-  use (B.x);
-
-  return 0;
-}
-
diff --git a/gcc/testsuite/gcc.dg/compat/union-by-value-1_main.c b/gcc/testsuite/gcc.dg/compat/union-by-value-1_main.c
deleted file mode 100644
index cd90659..0000000
--- a/gcc/testsuite/gcc.dg/compat/union-by-value-1_main.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Test function argument passing.  This was written when correcting
-   a deviation from the ABI on SPARC64 between 3.3 and 3.4.  */
-
-extern void union_by_value_1_x (void);
-extern void exit (int);
-int fails;
-
-int
-main ()
-{
-  union_by_value_1_x ();
-  exit (0);
-}
diff --git a/gcc/testsuite/gcc.dg/compat/union-by-value-1_x.c b/gcc/testsuite/gcc.dg/compat/union-by-value-1_x.c
deleted file mode 100644
index a3efd4e..0000000
--- a/gcc/testsuite/gcc.dg/compat/union-by-value-1_x.c
+++ /dev/null
@@ -1,180 +0,0 @@
-#include "compat-common.h"
-
-#define T(TYPE)							\
-TYPE g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE;		\
-TYPE g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE;		\
-TYPE g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE;		\
-TYPE g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE;		\
-								\
-extern void init##TYPE (TYPE *p, int i);			\
-extern void checkg##TYPE (void);				\
-extern void							\
-test##TYPE (TYPE s1, TYPE s2, TYPE s3, TYPE s4,			\
-	    TYPE s5, TYPE s6, TYPE s7, TYPE s8,			\
-	    TYPE s9, TYPE s10, TYPE s11, TYPE s12,		\
-	    TYPE s13, TYPE s14, TYPE s15, TYPE s16);		\
-extern void testva##TYPE (int n, ...);				\
-								\
-void								\
-test2_##TYPE (TYPE s1, TYPE s2, TYPE s3, TYPE s4,		\
-	      TYPE s5, TYPE s6, TYPE s7, TYPE s8)		\
-{								\
-  test##TYPE (s1, g2s##TYPE, s2, g4s##TYPE,			\
-	      s3, g6s##TYPE, s4, g8s##TYPE,			\
-	      s5, g10s##TYPE, s6, g12s##TYPE,			\
-	      s7, g14s##TYPE, s8, g16s##TYPE);			\
-}								\
-								\
-void								\
-testit##TYPE (void)						\
-{								\
-  DEBUG_FPUTS (#TYPE);						\
-  DEBUG_FPUTS (" init: ");					\
-  init##TYPE  ( &g1s##TYPE,  1);				\
-  init##TYPE  ( &g2s##TYPE,  2);				\
-  init##TYPE  ( &g3s##TYPE,  3);				\
-  init##TYPE  ( &g4s##TYPE,  4);				\
-  init##TYPE  ( &g5s##TYPE,  5);				\
-  init##TYPE  ( &g6s##TYPE,  6);				\
-  init##TYPE  ( &g7s##TYPE,  7);				\
-  init##TYPE  ( &g8s##TYPE,  8);				\
-  init##TYPE  ( &g9s##TYPE,  9);				\
-  init##TYPE  (&g10s##TYPE, 10);				\
-  init##TYPE  (&g11s##TYPE, 11);				\
-  init##TYPE  (&g12s##TYPE, 12);				\
-  init##TYPE  (&g13s##TYPE, 13);				\
-  init##TYPE  (&g14s##TYPE, 14);				\
-  init##TYPE  (&g15s##TYPE, 15);				\
-  init##TYPE  (&g16s##TYPE, 16);				\
-  checkg##TYPE ();						\
-  DEBUG_NL;							\
-  DEBUG_FPUTS (#TYPE);						\
-  DEBUG_FPUTS (" test: ");					\
-  test##TYPE (g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-	      g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE,	\
-	      g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE,	\
-	      g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE);	\
-  DEBUG_NL;							\
-  DEBUG_FPUTS (#TYPE);						\
-  DEBUG_FPUTS (" testva:");					\
-  DEBUG_NL;							\
-  testva##TYPE (1,						\
-		g1s##TYPE);					\
-  DEBUG_NL;							\
-  testva##TYPE (2,						\
-		g1s##TYPE, g2s##TYPE);				\
-  DEBUG_NL;							\
-  testva##TYPE (3,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE);		\
-  DEBUG_NL;							\
-  testva##TYPE (4,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE);	\
-  DEBUG_NL;							\
-  testva##TYPE (5,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE);					\
-  DEBUG_NL;							\
-  testva##TYPE (6,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE, g6s##TYPE);				\
-  DEBUG_NL;							\
-  testva##TYPE (7,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE, g6s##TYPE, g7s##TYPE);		\
-  DEBUG_NL;							\
-  testva##TYPE (8,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE);	\
-  DEBUG_NL;							\
-  testva##TYPE (9,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE,	\
-		g9s##TYPE);					\
-  DEBUG_NL;							\
-  testva##TYPE (10,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE,	\
-		g9s##TYPE, g10s##TYPE);				\
-  DEBUG_NL;							\
-  testva##TYPE (11,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE,	\
-		g9s##TYPE, g10s##TYPE, g11s##TYPE);		\
-  DEBUG_NL;							\
-  testva##TYPE (12,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE,	\
-		g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE);	\
-  DEBUG_NL;							\
-  testva##TYPE (13,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE,	\
-		g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE,	\
-		g13s##TYPE);					\
-  DEBUG_NL;							\
-  testva##TYPE (14,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE,	\
-		g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE,	\
-		g13s##TYPE, g14s##TYPE);			\
-  DEBUG_NL;							\
-  testva##TYPE (15,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE,	\
-		g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE,	\
-		g13s##TYPE, g14s##TYPE, g15s##TYPE);		\
-  DEBUG_NL;							\
-  testva##TYPE (16,						\
-		g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE,	\
-		g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE,	\
-		g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE,	\
-		g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE); \
-  DEBUG_NL;							\
-  DEBUG_FPUTS (#TYPE);						\
-  DEBUG_FPUTS (" test2:");					\
-  test2_##TYPE (g1s##TYPE, g3s##TYPE, g5s##TYPE, g7s##TYPE,	\
-		g9s##TYPE, g11s##TYPE, g13s##TYPE, g15s##TYPE);	\
-  DEBUG_NL;							\
-}
-
-#include "union-defs.h"
-#include "union-check.h"
-
-T(Ucs)
-T(Uci)
-T(Ucl)
-T(Ucll)
-T(Usi)
-T(Usl)
-T(Usll)
-T(Uil)
-T(Uill)
-T(Ulll)
-
-#undef T
-
-void
-union_by_value_1_x ()
-{
-DEBUG_INIT
-
-#define T(TYPE) testit##TYPE ();
-
-T(Ucs)
-T(Uci)
-T(Ucl)
-T(Ucll)
-T(Usi)
-T(Usl)
-T(Usll)
-T(Uil)
-T(Uill)
-T(Ulll)
-
-DEBUG_FINI
-
-if (fails != 0)
-  abort ();
-
-#undef T
-}
diff --git a/gcc/testsuite/gcc.dg/compat/union-by-value-1_y.c b/gcc/testsuite/gcc.dg/compat/union-by-value-1_y.c
deleted file mode 100644
index b17613e..0000000
--- a/gcc/testsuite/gcc.dg/compat/union-by-value-1_y.c
+++ /dev/null
@@ -1,92 +0,0 @@
-#include <stdarg.h>
-
-#include "compat-common.h"
-
-#ifdef SKIP_VA
-const int test_va = 0;
-#else
-const int test_va = 1;
-#endif
-
-#include "union-defs.h"
-#include "union-init.h"
-
-#define T(TYPE)							\
-extern void check##TYPE (TYPE x, int i);			\
-extern TYPE g1s##TYPE, g2s##TYPE, g3s##TYPE, g4s##TYPE;		\
-extern TYPE g5s##TYPE, g6s##TYPE, g7s##TYPE, g8s##TYPE;		\
-extern TYPE g9s##TYPE, g10s##TYPE, g11s##TYPE, g12s##TYPE;	\
-extern TYPE g13s##TYPE, g14s##TYPE, g15s##TYPE, g16s##TYPE;	\
-								\
-void								\
-checkg##TYPE (void)						\
-{								\
-  check##TYPE (  g1s##TYPE,  1);				\
-  check##TYPE (  g2s##TYPE,  2);				\
-  check##TYPE (  g3s##TYPE,  3);				\
-  check##TYPE (  g4s##TYPE,  4);				\
-  check##TYPE (  g5s##TYPE,  5);				\
-  check##TYPE (  g6s##TYPE,  6);				\
-  check##TYPE (  g7s##TYPE,  7);				\
-  check##TYPE (  g8s##TYPE,  8);				\
-  check##TYPE (  g9s##TYPE,  9);				\
-  check##TYPE ( g10s##TYPE, 10);				\
-  check##TYPE ( g11s##TYPE, 11);				\
-  check##TYPE ( g12s##TYPE, 12);				\
-  check##TYPE ( g13s##TYPE, 13);				\
-  check##TYPE ( g14s##TYPE, 14);				\
-  check##TYPE ( g15s##TYPE, 15);				\
-  check##TYPE ( g16s##TYPE, 16);				\
-}								\
-								\
-void								\
-test##TYPE (TYPE s1, TYPE s2, TYPE s3, TYPE s4,			\
-	    TYPE s5, TYPE s6, TYPE s7, TYPE s8,			\
-	    TYPE s9, TYPE s10, TYPE s11, TYPE s12,		\
-	    TYPE s13, TYPE s14, TYPE s15, TYPE s16)		\
-{								\
-  check##TYPE (s1, 1);						\
-  check##TYPE (s2, 2);						\
-  check##TYPE (s3, 3);						\
-  check##TYPE (s4, 4);						\
-  check##TYPE (s5, 5);						\
-  check##TYPE (s6, 6);						\
-  check##TYPE (s7, 7);						\
-  check##TYPE (s8, 8);						\
-  check##TYPE (s9, 9);						\
-  check##TYPE (s10, 10);					\
-  check##TYPE (s11, 11);					\
-  check##TYPE (s12, 12);					\
-  check##TYPE (s13, 13);					\
-  check##TYPE (s14, 14);					\
-  check##TYPE (s15, 15);					\
-  check##TYPE (s16, 16);					\
-}								\
-								\
-void								\
-testva##TYPE (int n, ...)					\
-{								\
-  int i;							\
-  va_list ap;							\
-  if (test_va)							\
-    {								\
-      va_start (ap, n);						\
-      for (i = 0; i < n; i++)					\
-	{							\
-	  TYPE t = va_arg (ap, TYPE);				\
-	  check##TYPE (t, i+1);					\
-	}							\
-      va_end (ap);						\
-    }								\
-}
-
-T(Ucs)
-T(Uci)
-T(Ucl)
-T(Ucll)
-T(Usi)
-T(Usl)
-T(Usll)
-T(Uil)
-T(Uill)
-T(Ulll)
diff --git a/gcc/testsuite/gcc.dg/compat/union-check.h b/gcc/testsuite/gcc.dg/compat/union-check.h
deleted file mode 100644
index b515781..0000000
--- a/gcc/testsuite/gcc.dg/compat/union-check.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Function definitions that are used by multiple tests.  */
-
-#define CHECK_CHAR(TYPE)		\
-  void check##TYPE (TYPE p, int i)	\
-   { if (p.c != (char)i) DEBUG_CHECK }
-
-CHECK_CHAR(Ucs)
-CHECK_CHAR(Uci)
-CHECK_CHAR(Ucl)
-CHECK_CHAR(Ucll)
-
-
-#define CHECK_SHORT(TYPE)		\
-  void check##TYPE (TYPE p, int i)	\
-   { if (p.s != (short)i) DEBUG_CHECK }
-
-CHECK_SHORT(Usi)
-CHECK_SHORT(Usl)
-CHECK_SHORT(Usll)
-
-
-#define CHECK_INT(TYPE)			\
-  void check##TYPE (TYPE p, int i)	\
-   { if (p.i != i) DEBUG_CHECK }
-
-CHECK_INT(Uil)
-CHECK_INT(Uill)
-
-
-#define CHECK_LONG(TYPE)		\
-  void check##TYPE (TYPE p, int i)	\
-   { if (p.l != (long)i) DEBUG_CHECK }
-
-CHECK_LONG(Ulll)
diff --git a/gcc/testsuite/gcc.dg/compat/union-defs.h b/gcc/testsuite/gcc.dg/compat/union-defs.h
deleted file mode 100644
index 887cd6d..0000000
--- a/gcc/testsuite/gcc.dg/compat/union-defs.h
+++ /dev/null
@@ -1,15 +0,0 @@
-/* Type definitions that are used by multiple tests.  */
-
-typedef union { char c; short s; } Ucs;
-typedef union { char c; int i; } Uci;
-typedef union { char c; long l; } Ucl;
-typedef union { char c; long long ll; } Ucll;
-
-typedef union { short s; int i; } Usi;
-typedef union { short s; long l; } Usl;
-typedef union { short s; long long ll; } Usll;
-
-typedef union { int i; long l; } Uil;
-typedef union { int i; long long ll; } Uill;
-
-typedef union { long l; long long ll; } Ulll;
diff --git a/gcc/testsuite/gcc.dg/compat/union-init.h b/gcc/testsuite/gcc.dg/compat/union-init.h
deleted file mode 100644
index 5add7b4..0000000
--- a/gcc/testsuite/gcc.dg/compat/union-init.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* Function definitions that are used by multiple tests.  */
-
-#define INIT_CHAR(TYPE)			\
-  void init##TYPE (TYPE *p, int i)	\
-   { p->c = (char)i; }
-
-INIT_CHAR(Ucs)
-INIT_CHAR(Uci)
-INIT_CHAR(Ucl)
-INIT_CHAR(Ucll)
-
-
-#define INIT_SHORT(TYPE)		\
-  void init##TYPE (TYPE *p, int i)	\
-   { p->s = (short)i; }
-
-INIT_SHORT(Usi)
-INIT_SHORT(Usl)
-INIT_SHORT(Usll)
-
-
-#define INIT_INT(TYPE)			\
-  void init##TYPE (TYPE *p, int i)	\
-   { p->i = i; }
-
-INIT_INT(Uil)
-INIT_INT(Uill)
-
-
-#define INIT_LONG(TYPE)			\
-  void init##TYPE (TYPE *p, int i)	\
-   { p->l = (long)i; }
-
-INIT_LONG(Ulll)
diff --git a/gcc/testsuite/gcc.dg/compat/union-return-1_main.c b/gcc/testsuite/gcc.dg/compat/union-return-1_main.c
deleted file mode 100644
index edf1516..0000000
--- a/gcc/testsuite/gcc.dg/compat/union-return-1_main.c
+++ /dev/null
@@ -1,13 +0,0 @@
-/* Test function return values.  This was written when correcting
-   a deviation from the ABI on SPARC64 between 3.3 and 3.4.  */
-
-extern void union_return_1_x (void);
-extern void exit (int);
-int fails;
-
-int
-main ()
-{
-  union_return_1_x ();
-  exit (0);
-}
diff --git a/gcc/testsuite/gcc.dg/compat/union-return-1_x.c b/gcc/testsuite/gcc.dg/compat/union-return-1_x.c
deleted file mode 100644
index 761f000..0000000
--- a/gcc/testsuite/gcc.dg/compat/union-return-1_x.c
+++ /dev/null
@@ -1,124 +0,0 @@
-#include "compat-common.h"
-
-#ifdef SKIP_VA
-const int test_va = 0;
-#else
-const int test_va = 1;
-#endif
-
-#define T(TYPE)							\
-TYPE g01##TYPE, g02##TYPE, g03##TYPE, g04##TYPE;		\
-TYPE g05##TYPE, g06##TYPE, g07##TYPE, g08##TYPE;		\
-TYPE g09##TYPE, g10##TYPE, g11##TYPE, g12##TYPE;		\
-TYPE g13##TYPE, g14##TYPE, g15##TYPE, g16##TYPE;		\
-								\
-extern void init##TYPE (TYPE *p, int i);			\
-extern void checkg##TYPE (void);				\
-extern TYPE test0##TYPE (void);					\
-extern TYPE test1##TYPE (TYPE);					\
-extern TYPE testva##TYPE (int n, ...);				\
-								\
-void								\
-testit##TYPE (void)						\
-{								\
-  TYPE rslt;							\
-  DEBUG_FPUTS (#TYPE);						\
-  DEBUG_FPUTS (" init: ");					\
-  init##TYPE  (&g01##TYPE,  1);					\
-  init##TYPE  (&g02##TYPE,  2);					\
-  init##TYPE  (&g03##TYPE,  3);					\
-  init##TYPE  (&g04##TYPE,  4);					\
-  init##TYPE  (&g05##TYPE,  5);					\
-  init##TYPE  (&g06##TYPE,  6);					\
-  init##TYPE  (&g07##TYPE,  7);					\
-  init##TYPE  (&g08##TYPE,  8);					\
-  init##TYPE  (&g09##TYPE,  9);					\
-  init##TYPE  (&g10##TYPE, 10);					\
-  init##TYPE  (&g11##TYPE, 11);					\
-  init##TYPE  (&g12##TYPE, 12);					\
-  init##TYPE  (&g13##TYPE, 13);					\
-  init##TYPE  (&g14##TYPE, 14);					\
-  init##TYPE  (&g15##TYPE, 15);					\
-  init##TYPE  (&g16##TYPE, 16);					\
-  checkg##TYPE ();						\
-  DEBUG_NL;							\
-  DEBUG_FPUTS (#TYPE);						\
-  DEBUG_FPUTS (" test0: ");					\
-  rslt = test0##TYPE ();					\
-  check##TYPE (rslt, 1);					\
-  DEBUG_NL;							\
-  DEBUG_FPUTS (#TYPE);						\
-  DEBUG_FPUTS (" test1: ");					\
-  rslt = test1##TYPE (g01##TYPE);				\
-  check##TYPE (rslt, 1);					\
-  if (test_va)							\
-    {								\
-      DEBUG_NL;							\
-      DEBUG_FPUTS (#TYPE);					\
-      DEBUG_FPUTS (" testva: ");				\
-      rslt = testva##TYPE (1, g01##TYPE);			\
-      check##TYPE (rslt, 1);					\
-      rslt = testva##TYPE (5, g01##TYPE, g02##TYPE,		\
-			   g03##TYPE, g04##TYPE,		\
-			   g05##TYPE);				\
-      check##TYPE (rslt, 5);					\
-      rslt = testva##TYPE (9, g01##TYPE, g02##TYPE,		\
-			   g03##TYPE, g04##TYPE,		\
-			   g05##TYPE, g06##TYPE,		\
-			   g07##TYPE, g08##TYPE,		\
-			   g09##TYPE);				\
-      check##TYPE (rslt, 9);					\
-      rslt = testva##TYPE (16, g01##TYPE, g02##TYPE,		\
-			   g03##TYPE, g04##TYPE,		\
-			   g05##TYPE, g06##TYPE,		\
-			   g07##TYPE, g08##TYPE,		\
-			   g09##TYPE, g10##TYPE,		\
-			   g11##TYPE, g12##TYPE,		\
-			   g13##TYPE, g14##TYPE,		\
-			   g15##TYPE, g16##TYPE);		\
-      check##TYPE (rslt, 16);					\
-    }								\
-  DEBUG_NL;							\
-}
-
-#include "union-defs.h"
-#include "union-check.h"
-
-T(Ucs)
-T(Uci)
-T(Ucl)
-T(Ucll)
-T(Usi)
-T(Usl)
-T(Usll)
-T(Uil)
-T(Uill)
-T(Ulll)
-
-#undef T
-
-void
-union_return_1_x ()
-{
-DEBUG_INIT
-
-#define T(TYPE) testit##TYPE ();
-
-T(Ucs)
-T(Uci)
-T(Ucl)
-T(Ucll)
-T(Usi)
-T(Usl)
-T(Usll)
-T(Uil)
-T(Uill)
-T(Ulll)
-
-DEBUG_FINI
-
-if (fails != 0)
-  abort ();
-
-#undef T
-}
diff --git a/gcc/testsuite/gcc.dg/compat/union-return-1_y.c b/gcc/testsuite/gcc.dg/compat/union-return-1_y.c
deleted file mode 100644
index 9eaa977..0000000
--- a/gcc/testsuite/gcc.dg/compat/union-return-1_y.c
+++ /dev/null
@@ -1,71 +0,0 @@
-#include <stdarg.h>
-
-#include "compat-common.h"
-
-#include "union-defs.h"
-#include "union-init.h"
-
-#define T(TYPE)							\
-extern TYPE g01##TYPE, g02##TYPE, g03##TYPE, g04##TYPE;		\
-extern TYPE g05##TYPE, g06##TYPE, g07##TYPE, g08##TYPE;		\
-extern TYPE g09##TYPE, g10##TYPE, g11##TYPE, g12##TYPE;		\
-extern TYPE g13##TYPE, g14##TYPE, g15##TYPE, g16##TYPE;		\
-								\
-extern void check##TYPE (TYPE x, int i);			\
-								\
-void								\
-checkg##TYPE (void)						\
-{								\
-  check##TYPE (g01##TYPE,  1);					\
-  check##TYPE (g02##TYPE,  2);					\
-  check##TYPE (g03##TYPE,  3);					\
-  check##TYPE (g04##TYPE,  4);					\
-  check##TYPE (g05##TYPE,  5);					\
-  check##TYPE (g06##TYPE,  6);					\
-  check##TYPE (g07##TYPE,  7);					\
-  check##TYPE (g08##TYPE,  8);					\
-  check##TYPE (g09##TYPE,  9);					\
-  check##TYPE (g10##TYPE, 10);					\
-  check##TYPE (g11##TYPE, 11);					\
-  check##TYPE (g12##TYPE, 12);					\
-  check##TYPE (g13##TYPE, 13);					\
-  check##TYPE (g14##TYPE, 14);					\
-  check##TYPE (g15##TYPE, 15);					\
-  check##TYPE (g16##TYPE, 16);					\
-}								\
-								\
-TYPE								\
-test0##TYPE (void)						\
-{								\
-  return g01##TYPE;						\
-}								\
-								\
-TYPE								\
-test1##TYPE (TYPE x01)						\
-{								\
-  return x01;							\
-}								\
-								\
-TYPE								\
-testva##TYPE (int n, ...)					\
-{								\
-  int i;							\
-  TYPE rslt;							\
-  va_list ap;							\
-  va_start (ap, n);						\
-  for (i = 0; i < n; i++)					\
-      rslt = va_arg (ap, TYPE);					\
-  va_end (ap);							\
-  return rslt;							\
-}
-
-T(Ucs)
-T(Uci)
-T(Ucl)
-T(Ucll)
-T(Usi)
-T(Usl)
-T(Usll)
-T(Uil)
-T(Uill)
-T(Ulll)
diff --git a/libstdc++-v3/config/allocator/pool_allocator_base.h b/libstdc++-v3/config/allocator/pool_allocator_base.h
deleted file mode 100644
index 77c74b2..0000000
--- a/libstdc++-v3/config/allocator/pool_allocator_base.h
+++ /dev/null
@@ -1,37 +0,0 @@
-// Base to std::allocator -*- C++ -*-
-
-// Copyright (C) 2004 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT 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 along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction.  Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License.  This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-#ifndef _CXX_ALLOCATOR_H
-#define _CXX_ALLOCATOR_H 1
-
-// Define new_allocator as the base class to std::allocator.
-#include <ext/pool_allocator.h>
-#define ___glibcxx_base_allocator  __gnu_cxx::__pool_alloc
-
-#endif
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/4.cc
deleted file mode 100644
index f187307..0000000
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/char/4.cc
+++ /dev/null
@@ -1,59 +0,0 @@
-// 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
-
-// Copyright (C) 2004 Free Software Foundation
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT 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 along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 22.2.5.1.1 time_get members
-
-#include <locale>
-#include <sstream>
-#include <testsuite_hooks.h>
-
-void test01()
-{
-  using namespace std;
-  bool test __attribute__((unused)) = true;
-
-  typedef istreambuf_iterator<char> iterator_type;
-
-  const ios_base::iostate good = ios_base::goodbit;
-  ios_base::iostate errorstate = good;
-
-  // basic construction
-  locale loc_c = locale::classic();
-
-  iterator_type end;
-  istringstream iss;
-  iss.imbue(loc_c);
-  const time_get<char>& tim_get =
-    use_facet<time_get<char> >(iss.getloc()); 
-
-  iss.str("Jul");
-  iterator_type is_it01(iss);
-  tm time01;
-  errorstate = good;
-  tim_get.get_monthname(is_it01, end, iss, errorstate, &time01);
-  VERIFY( time01.tm_mon == 6 );
-  VERIFY( errorstate == ios_base::eofbit );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc b/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc
deleted file mode 100644
index dd1c393..0000000
--- a/libstdc++-v3/testsuite/22_locale/time_get/get_monthname/wchar_t/4.cc
+++ /dev/null
@@ -1,59 +0,0 @@
-// 2004-04-07  Paolo Carlini  <pcarlini@suse.de>
-
-// Copyright (C) 2004 Free Software Foundation
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT 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 along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 22.2.5.1.1 time_get members
-
-#include <locale>
-#include <sstream>
-#include <testsuite_hooks.h>
-
-void test01()
-{
-  using namespace std;
-  bool test __attribute__((unused)) = true;
-
-  typedef istreambuf_iterator<wchar_t> iterator_type;
-
-  const ios_base::iostate good = ios_base::goodbit;
-  ios_base::iostate errorstate = good;
-
-  // basic construction
-  locale loc_c = locale::classic();
-
-  iterator_type end;
-  wistringstream iss;
-  iss.imbue(loc_c);
-  const time_get<wchar_t>& tim_get =
-    use_facet<time_get<wchar_t> >(iss.getloc()); 
-
-  iss.str(L"Jul");
-  iterator_type is_it01(iss);
-  tm time01;
-  errorstate = good;
-  tim_get.get_monthname(is_it01, end, iss, errorstate, &time01);
-  VERIFY( time01.tm_mon == 6 );
-  VERIFY( errorstate == ios_base::eofbit );
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc
deleted file mode 100644
index 0b7369e..0000000
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/char/14975-1.cc
+++ /dev/null
@@ -1,67 +0,0 @@
-// 2004-04-16  Petur Runolfsson  <peturr02@ru.is>
-
-// Copyright (C) 2004 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT 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 along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// 27.8.1.4 Overridden virtual functions
-
-#include <fstream>
-#include <locale>
-#include <testsuite_hooks.h>
-
-class Buf : public std::filebuf
-{
-protected:
-  virtual int_type
-  overflow(int_type c = traits_type::eof())
-  {
-    return traits_type::eq_int_type(c, traits_type::eof()) ?
-      traits_type::eof() : std::filebuf::overflow(c);
-  }
-};
-
-// libstdc++/14975
-void test01()
-{
-  using namespace std;
-  bool test __attribute__((unused)) = true;
-
-  Buf fb;
-  locale loc_us = __gnu_test::try_named_locale("en_US");
-  fb.pubimbue(loc_us);
-  fb.open("tmp_14975-1", ios_base::out);
-  
-  try
-    {
-      fb.sputc('a');
-      fb.sputc('b');
-      fb.pubimbue(locale::classic());
-      fb.sputc('c');
-      fb.pubsync();
-      fb.close();
-    }
-  catch (std::exception&)
-    {
-    }
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc b/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc
deleted file mode 100644
index 8789b9a..0000000
--- a/libstdc++-v3/testsuite/27_io/basic_filebuf/imbue/wchar_t/14975-2.cc
+++ /dev/null
@@ -1,83 +0,0 @@
-// 2004-04-16  Petur Runolfsson  <peturr02@ru.is>
-
-// Copyright (C) 2004 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT 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 along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-#include <fstream>
-#include <locale>
-#include <unistd.h>
-#include <signal.h>
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#include <testsuite_hooks.h>
-
-// libstdc++/14975
-void test01()
-{
-  using namespace std;
-  using namespace __gnu_test;
-  bool test __attribute__((unused)) = true;
-
-  locale loc_us = try_named_locale("en_US");
-
-  const char* name = "tmp_14975-2";
-
-  signal(SIGPIPE, SIG_IGN);
-
-  unlink(name);  
-  try_mkfifo(name, S_IRWXU);
-  
-  int child = fork();
-  VERIFY( child != -1 );
-
-  if (child == 0)
-    {
-      filebuf fbin;
-      fbin.open(name, ios_base::in);
-      sleep(2);
-      exit(0);
-    }
-  
-  wfilebuf fb;
-  fb.pubimbue(loc_us);
-  sleep(1);
-  wfilebuf* ret = fb.open(name, ios_base::out);
-  VERIFY( ret != NULL );
-  VERIFY( fb.is_open() );
-
-  sleep(3);
-
-  try
-    {
-      fb.sputc(L'a');
-      fb.sputc(L'b');
-      fb.pubimbue(locale::classic());
-      fb.sputc(L'c');
-      fb.close();
-    }
-  catch (std::exception&)
-    {
-    }
-}
-
-int main()
-{
-  test01();
-  return 0;
-}
diff --git a/libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc b/libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc
deleted file mode 100644
index d40e0c2..0000000
--- a/libstdc++-v3/testsuite/performance/27_io/filebuf_sputn_unbuf.cc
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright (C) 2004 Free Software Foundation, Inc.
-//
-// This file is part of the GNU ISO C++ Library.  This library is free
-// software; you can redistribute it and/or modify it under the
-// terms of the GNU General Public License as published by the
-// Free Software Foundation; either version 2, or (at your option)
-// any later version.
-
-// This library is distributed in the hope that it will be useful,
-// but WITHOUT 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 along
-// with this library; see the file COPYING.  If not, write to the Free
-// Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
-// USA.
-
-// As a special exception, you may use this file as part of a free software
-// library without restriction.  Specifically, if other files instantiate
-// templates or use macros or inline functions from this file, or you compile
-// this file and link it with other files to produce an executable, this
-// file does not by itself cause the resulting executable to be covered by
-// the GNU General Public License.  This exception does not however
-// invalidate any other reasons why the executable file might be covered by
-// the GNU General Public License.
-
-#include <cstdio>
-#include <fstream>
-#include <testsuite_performance.h>
-
-// libstdc++/11378
-int main()
-{
-  using namespace std;
-  using namespace __gnu_test;
-
-  time_counter time;
-  resource_counter resource;
-
-  const int iterations = 500000;
-  const int chunksize = 100;
-
-  char* chunk = new char[chunksize];
-
-  // C
-  FILE* file = fopen("tmp", "w+");
-  setvbuf(file, 0, _IONBF, 0);
-  start_counters(time, resource);
-  for (int i = 0; i < iterations; ++i)
-    fwrite(chunk, 1, chunksize, file);
-  stop_counters(time, resource);
-  fclose(file);
-  report_performance(__FILE__, "C", time, resource);
-  clear_counters(time, resource);
-
-  // C unlocked
-  file = fopen("tmp", "w+");
-  setvbuf(file, 0, _IONBF, 0);
-  start_counters(time, resource);
-  for (int i = 0; i < iterations; ++i)
-    fwrite_unlocked(chunk, 1, chunksize, file);
-  stop_counters(time, resource);
-  fclose(file);
-  report_performance(__FILE__, "C unlocked", time, resource);
-  clear_counters(time, resource);
-
-  // C++
-  filebuf buf;
-  buf.pubsetbuf(0, 0);
-  buf.open("tmp", ios_base::out | ios_base::in | ios_base::trunc);
-  start_counters(time, resource);
-  for (int i = 0; i < iterations; ++i)
-    buf.sputn(chunk, chunksize);
-  stop_counters(time, resource);
-  report_performance(__FILE__, "C++", time, resource);
-
-  unlink("tmp");
-  delete [] chunk;
-
-  return 0;
-}