public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1
@ 2005-06-05 16:43 rblove at airmail dot net
  2005-06-05 17:48 ` [Bug ada/21923] " pinskia at gcc dot gnu dot org
                   ` (15 more replies)
  0 siblings, 16 replies; 17+ messages in thread
From: rblove at airmail dot net @ 2005-06-05 16:43 UTC (permalink / raw)
  To: gcc-bugs

../../xgcc -B../../  -c -g -O2 -fPIC      -W -Wall -gnatpg  i-pacdec.adb -o
i-pacdec.o
+===========================GNAT BUG DETECTED==============================+
| 4.1.0 20050604 (experimental) (i686-pc-linux-gnu) GCC error:             |
| in simplify_cond_and_lookup_avail_expr, at tree-ssa-dom.c:2171           |
| Error detected at i-pacdec.adb:352:1                                     |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.            |
| Use a subject line meaningful to you and us to track the bug.            |
| Include the entire contents of this bug box in the report.               |
| Include the exact gcc or gnatmake command that you entered.              |
| Also include sources listed below in gnatchop format                     |
| (concatenated together with no headers between files).                   |
+==========================================================================+

Please include these source files with error report
Note that list may not be accurate in some cases,
so please double check that the problem can still
be reproduced with the set of files listed.



raised TYPES.UNRECOVERABLE_ERROR : comperr.adb:381
make[6]: *** [i-pacdec.o] Error 1
make[6]: Leaving directory `/root/gccit/gcc/ada/rts'
make[5]: *** [gnatlib] Error 2
make[5]: Leaving directory `/root/gccit/gcc/ada'
make[4]: *** [gnatlib-shared-default] Error 2
make[4]: Leaving directory `/root/gccit/gcc/ada'
make[3]: *** [gnatlib-shared-dual] Error 2
make[3]: Leaving directory `/root/gccit/gcc/ada'
make[2]: *** [gnatlib-shared] Error 2
make[2]: Leaving directory `/root/gccit/gcc/ada'
make[1]: *** [gnatlib-shared] Error 2
make[1]: Leaving directory `/root/gccit/i686-pc-linux-gnu/libada'
make: *** [all-target-libada] Error 2


Here is how I configured & built:

../gcc/configure --enable-languages=c,c++,ada,f95,objc,java --disable-checking
--enable-threads=posix
  130  make

gcc -v
Reading specs from /usr/gnat/lib/gcc-lib/i686-pc-linux-gnu/3.2.3/specs
Configured with:
/bonn.a/gnatmail-5/release-5/build-bonn/../build-bonn/src/configure
--prefix=/usr/gnat --enable-languages=c,c++,ada --enable-threads=posix
--disable-nls --disable-checking
Thread model: posix
gcc version 3.2.3

Here are the sources I think you want:

------------------------------------------------------------------------------
--                                                                          --
--                         GNAT COMPILER COMPONENTS                         --
--                                                                          --
--                              C O M P E R R                               --
--                                                                          --
--                                 B o d y                                  --
--                                                                          --
--          Copyright (C) 1992-2005 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.                                                      --
--                                                                          --
-- GNAT was originally developed  by the GNAT team at  New York University. --
-- Extensive contributions were provided by AdaCore.                         --
--                                                                          --
------------------------------------------------------------------------------

--  This package contains routines called when a fatal internal compiler
--  error is detected. Calls to these routines cause termination of the
--  current compilation with appropriate error output.

with Atree;    use Atree;
with Debug;    use Debug;
with Errout;   use Errout;
with Fname;    use Fname;
with Gnatvsn;  use Gnatvsn;
with Lib;      use Lib;
with Namet;    use Namet;
with Osint;    use Osint;
with Output;   use Output;
with Sinput;   use Sinput;
with Sprint;   use Sprint;
with Sdefault; use Sdefault;
with Treepr;   use Treepr;
with Types;    use Types;

with Ada.Exceptions; use Ada.Exceptions;

with System.Soft_Links; use System.Soft_Links;

package body Comperr is

   ----------------
   -- Local Data --
   ----------------

   Abort_In_Progress : Boolean := False;
   --  Used to prevent runaway recursion if something segfaults
   --  while processing a previous abort.

   -----------------------
   -- Local Subprograms --
   -----------------------

   procedure Repeat_Char (Char : Character; Col : Nat; After : Character);
   --  Output Char until current column is at or past Col, and then output
   --  the character given by After (if column is already past Col on entry,
   --  then the effect is simply to output the After character).

   --------------------
   -- Compiler_Abort --
   --------------------

   procedure Compiler_Abort
     (X    : String;
      Code : Integer := 0)
   is
      --  The procedures below output a "bug box" with information about
      --  the cause of the compiler abort and about the preferred method
      --  of reporting bugs. The default is a bug box appropriate for
      --  the FSF version of GNAT, but there are specializations for
      --  the GNATPRO and Public releases by AdaCore.

      procedure End_Line;
      --  Add blanks up to column 76, and then a final vertical bar

      --------------
      -- End_Line --
      --------------

      procedure End_Line is
      begin
         Repeat_Char (' ', 76, '|');
         Write_Eol;
      end End_Line;

      Is_Public_Version : constant Boolean := Get_Gnat_Build_Type = Public;
      Is_FSF_Version    : constant Boolean := Get_Gnat_Build_Type = FSF;

   --  Start of processing for Compiler_Abort

   begin
      --  Prevent recursion through Compiler_Abort, e.g. via SIGSEGV.

      if Abort_In_Progress then
         Exit_Program (E_Abort);
      end if;

      Abort_In_Progress := True;

      --  If any errors have already occurred, then we guess that the abort
      --  may well be caused by previous errors, and we don't make too much
      --  fuss about it, since we want to let programmer fix the errors first.

      --  Debug flag K disables this behavior (useful for debugging)

      if Serious_Errors_Detected /= 0 and then not Debug_Flag_K then
         Errout.Finalize;

         Set_Standard_Error;
         Write_Str ("compilation abandoned due to previous error");
         Write_Eol;

         Set_Standard_Output;
         Source_Dump;
         Tree_Dump;
         Exit_Program (E_Errors);

      --  Otherwise give message with details of the abort

      else
         Set_Standard_Error;

         --  Generate header for bug box

         Write_Char ('+');
         Repeat_Char ('=', 29, 'G');
         Write_Str ("NAT BUG DETECTED");
         Repeat_Char ('=', 76, '+');
         Write_Eol;

         --  Output GNAT version identification

         Write_Str ("| ");
         Write_Str (Gnat_Version_String);
         Write_Str (" (");

         --  Output target name, deleting junk final reverse slash

         if Target_Name.all (Target_Name.all'Last) = '\'
           or else Target_Name.all (Target_Name.all'Last) = '/'
         then
            Write_Str (Target_Name.all (1 .. Target_Name.all'Last - 1));
         else
            Write_Str (Target_Name.all);
         end if;

         --  Output identification of error

         Write_Str (") ");

         if X'Length + Column > 76 then
            if Code < 0 then
               Write_Str ("GCC error:");
            end if;

            End_Line;

            Write_Str ("| ");
         end if;

         if X'Length > 70 then
            declare
               Last_Blank : Integer := 70;

            begin
               for P in 40 .. 69 loop
                  if X (P) = ' ' then
                     Last_Blank := P;
                  end if;
               end loop;

               Write_Str (X (1 .. Last_Blank));
               End_Line;
               Write_Str ("|    ");
               Write_Str (X (Last_Blank + 1 .. X'Length));
            end;
         else
            Write_Str (X);
         end if;

         if Code > 0 then
            Write_Str (", Code=");
            Write_Int (Int (Code));

         elsif Code = 0 then

            --  For exception case, get exception message from the TSD. Note
            --  that it would be neater and cleaner to pass the exception
            --  message (obtained from Exception_Message) as a parameter to
            --  Compiler_Abort, but we can't do this quite yet since it would
            --  cause bootstrap path problems for 3.10 to 3.11.

            Write_Char (' ');
            Write_Str (Exception_Message (Get_Current_Excep.all.all));
         end if;

         End_Line;

         --  Output source location information

         if Sloc (Current_Error_Node) <= Standard_Location
           or else Sloc (Current_Error_Node) = No_Location
         then
            Write_Str ("| No source file position information available");
            End_Line;
         else
            Write_Str ("| Error detected at ");
            Write_Location (Sloc (Current_Error_Node));
            End_Line;
         end if;

         --  There are two cases now. If the file gnat_bug.box exists,
         --  we use the contents of this file at this point.

         declare
            Lo  : Source_Ptr;
            Hi  : Source_Ptr;
            Src : Source_Buffer_Ptr;

         begin
            Namet.Unlock;
            Name_Buffer (1 .. 12) := "gnat_bug.box";
            Name_Len := 12;
            Read_Source_File (Name_Enter, 0, Hi, Src);

            --  If we get a Src file, we use it

            if Src /= null then
               Lo := 0;

               Outer : while Lo < Hi loop
                  Write_Str ("| ");

                  Inner : loop
                     exit Inner when Src (Lo) = ASCII.CR
                       or else Src (Lo) = ASCII.LF;
                     Write_Char (Src (Lo));
                     Lo := Lo + 1;
                  end loop Inner;

                  End_Line;

                  while Lo <= Hi
                    and then (Src (Lo) = ASCII.CR
                                or else Src (Lo) = ASCII.LF)
                  loop
                     Lo := Lo + 1;
                  end loop;
               end loop Outer;

            --  Otherwise we use the standard fixed text

            else
               if Is_FSF_Version then
                  Write_Str
                    ("| Please submit a bug report; see" &
                     " http://gcc.gnu.org/bugs.html.");
                  End_Line;

               elsif Is_Public_Version then
                  Write_Str
                    ("| submit bug report by email " &
                     "to report@adacore.com.");
                  End_Line;

                  Write_Str
                    ("| See gnatinfo.txt for full info on procedure " &
                     "for submitting bugs.");
                  End_Line;

               else
                  Write_Str
                    ("| Please submit a bug report using GNAT Tracker:");
                  End_Line;

                  Write_Str
                    ("| http://www.adacore.com/gnattracker/ " &
                     "section 'send a report'.");
                  End_Line;

                  Write_Str
                    ("| alternatively submit a bug report by email " &
                     "to report@adacore.com.");
                  End_Line;
               end if;


               Write_Str
                 ("| Use a subject line meaningful to you" &
                  " and us to track the bug.");
               End_Line;

               if not (Is_Public_Version or Is_FSF_Version) then
                  Write_Str
                    ("| Include your customer number #nnn " &
                     "in the subject line.");
                  End_Line;
               end if;

               Write_Str
                 ("| Include the entire contents of this bug " &
                  "box in the report.");
               End_Line;

               Write_Str
                 ("| Include the exact gcc or gnatmake command " &
                  "that you entered.");
               End_Line;

               Write_Str
                 ("| Also include sources listed below in gnatchop format");
               End_Line;

               Write_Str
                 ("| (concatenated together with no headers between files).");
               End_Line;

               if not Is_FSF_Version then
                  Write_Str
                    ("| Use plain ASCII or MIME attachment.");
                  End_Line;
               end if;
            end if;
         end;

         --  Complete output of bug box

         Write_Char ('+');
         Repeat_Char ('=', 76, '+');
         Write_Eol;

         if Debug_Flag_3 then
            Write_Eol;
            Write_Eol;
            Print_Tree_Node (Current_Error_Node);
            Write_Eol;
         end if;

         Write_Eol;

         Write_Line ("Please include these source files with error report");
         Write_Line ("Note that list may not be accurate in some cases, ");
         Write_Line ("so please double check that the problem can still ");
         Write_Line ("be reproduced with the set of files listed.");
         Write_Eol;

         for U in Main_Unit .. Last_Unit loop
            begin
               if not Is_Internal_File_Name
                        (File_Name (Source_Index (U)))
               then
                  Write_Name (Full_File_Name (Source_Index (U)));
                  Write_Eol;
               end if;

            --  No point in double bug box if we blow up trying to print
            --  the list of file names! Output informative msg and quit.

            exception
               when others =>
                  Write_Str ("list may be incomplete");
                  exit;
            end;
         end loop;

         Write_Eol;
         Set_Standard_Output;

         Tree_Dump;
         Source_Dump;
         raise Unrecoverable_Error;
      end if;

   end Compiler_Abort;

   -----------------
   -- Repeat_Char --
   -----------------

   procedure Repeat_Char (Char : Character; Col : Nat; After : Character) is
   begin
      while Column < Col loop
         Write_Char (Char);
      end loop;

      Write_Char (After);
   end Repeat_Char;

end Comperr;
------------------------------------------------------------------------------
--                                                                          --
--                         GNAT COMPILER COMPONENTS                         --
--                                                                          --
--            I N T E R F A C E S . P A C K E D _ D E C I M A L             --
--                                                                          --
--                                 B o d y                                  --
--            (Version for IBM Mainframe Packed Decimal Format)             --
--                                                                          --
--          Copyright (C) 1992-2001, 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.                                                      --
--                                                                          --
-- As a special exception,  if other files  instantiate  generics from this --
-- unit, or you link  this unit with other files  to produce an executable, --
-- this  unit  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 Public License.                                      --
--                                                                          --
-- GNAT was originally developed  by the GNAT team at  New York University. --
-- Extensive contributions were provided by Ada Core Technologies Inc.      --
--                                                                          --
------------------------------------------------------------------------------

with System;                  use System;
with Unchecked_Conversion;

package body Interfaces.Packed_Decimal is

   type Packed is array (Byte_Length) of Unsigned_8;
   --  The type used internally to represent packed decimal

   type Packed_Ptr is access Packed;
   function To_Packed_Ptr is new Unchecked_Conversion (Address, Packed_Ptr);

   --  The following array is used to convert a value in the range 0-99 to
   --  a packed decimal format with two hexadecimal nibbles. It is worth
   --  using table look up in this direction because divides are expensive.

   Packed_Byte : constant array (00 .. 99) of Unsigned_8 :=
      (16#00#, 16#01#, 16#02#, 16#03#, 16#04#,
       16#05#, 16#06#, 16#07#, 16#08#, 16#09#,
       16#10#, 16#11#, 16#12#, 16#13#, 16#14#,
       16#15#, 16#16#, 16#17#, 16#18#, 16#19#,
       16#20#, 16#21#, 16#22#, 16#23#, 16#24#,
       16#25#, 16#26#, 16#27#, 16#28#, 16#29#,
       16#30#, 16#31#, 16#32#, 16#33#, 16#34#,
       16#35#, 16#36#, 16#37#, 16#38#, 16#39#,
       16#40#, 16#41#, 16#42#, 16#43#, 16#44#,
       16#45#, 16#46#, 16#47#, 16#48#, 16#49#,
       16#50#, 16#51#, 16#52#, 16#53#, 16#54#,
       16#55#, 16#56#, 16#57#, 16#58#, 16#59#,
       16#60#, 16#61#, 16#62#, 16#63#, 16#64#,
       16#65#, 16#66#, 16#67#, 16#68#, 16#69#,
       16#70#, 16#71#, 16#72#, 16#73#, 16#74#,
       16#75#, 16#76#, 16#77#, 16#78#, 16#79#,
       16#80#, 16#81#, 16#82#, 16#83#, 16#84#,
       16#85#, 16#86#, 16#87#, 16#88#, 16#89#,
       16#90#, 16#91#, 16#92#, 16#93#, 16#94#,
       16#95#, 16#96#, 16#97#, 16#98#, 16#99#);

   ---------------------
   -- Int32_To_Packed --
   ---------------------

   procedure Int32_To_Packed (V : Integer_32; P : System.Address; D : D32) is
      PP           : constant Packed_Ptr  := To_Packed_Ptr (P);
      Empty_Nibble : constant Boolean     := ((D rem 2) = 0);
      B            : constant Byte_Length := (D / 2) + 1;
      VV           : Integer_32 := V;

   begin
      --  Deal with sign byte first

      if VV >= 0 then
         PP (B) := Unsigned_8 (VV rem 10) * 16 + 16#C#;
         VV := VV / 10;

      else
         VV := -VV;
         PP (B) := Unsigned_8 (VV rem 10) * 16 + 16#D#;
      end if;

      for J in reverse B - 1 .. 2 loop
         if VV = 0 then
            for K in 1 .. J loop
               PP (K) := 16#00#;
            end loop;

            return;

         else
            PP (J) := Packed_Byte (Integer (VV rem 100));
            VV := VV / 100;
         end if;
      end loop;

      --  Deal with leading byte

      if Empty_Nibble then
         if VV > 9 then
            raise Constraint_Error;
         else
            PP (1) := Unsigned_8 (VV);
         end if;

      else
         if VV > 99 then
            raise Constraint_Error;
         else
            PP (1) := Packed_Byte (Integer (VV));
         end if;
      end if;

   end Int32_To_Packed;

   ---------------------
   -- Int64_To_Packed --
   ---------------------

   procedure Int64_To_Packed (V : Integer_64; P : System.Address; D : D64) is
      PP           : constant Packed_Ptr  := To_Packed_Ptr (P);
      Empty_Nibble : constant Boolean     := ((D rem 2) = 0);
      B            : constant Byte_Length := (D / 2) + 1;
      VV           : Integer_64 := V;

   begin
      --  Deal with sign byte first

      if VV >= 0 then
         PP (B) := Unsigned_8 (VV rem 10) * 16 + 16#C#;
         VV := VV / 10;

      else
         VV := -VV;
         PP (B) := Unsigned_8 (VV rem 10) * 16 + 16#D#;
      end if;

      for J in reverse B - 1 .. 2 loop
         if VV = 0 then
            for K in 1 .. J loop
               PP (K) := 16#00#;
            end loop;

            return;

         else
            PP (J) := Packed_Byte (Integer (VV rem 100));
            VV := VV / 100;
         end if;
      end loop;

      --  Deal with leading byte

      if Empty_Nibble then
         if VV > 9 then
            raise Constraint_Error;
         else
            PP (1) := Unsigned_8 (VV);
         end if;

      else
         if VV > 99 then
            raise Constraint_Error;
         else
            PP (1) := Packed_Byte (Integer (VV));
         end if;
      end if;

   end Int64_To_Packed;

   ---------------------
   -- Packed_To_Int32 --
   ---------------------

   function Packed_To_Int32 (P : System.Address; D : D32) return Integer_32 is
      PP           : constant Packed_Ptr  := To_Packed_Ptr (P);
      Empty_Nibble : constant Boolean     := ((D mod 2) = 0);
      B            : constant Byte_Length := (D / 2) + 1;
      V            : Integer_32;
      Dig          : Unsigned_8;
      Sign         : Unsigned_8;
      J            : Positive;

   begin
      --  Cases where there is an unused (zero) nibble in the first byte.
      --  Deal with the single digit nibble at the right of this byte

      if Empty_Nibble then
         V := Integer_32 (PP (1));
         J := 2;

         if V > 9 then
            raise Constraint_Error;
         end if;

      --  Cases where all nibbles are used

      else
         V := 0;
         J := 1;
      end if;

      --  Loop to process bytes containing two digit nibbles

      while J < B loop
         Dig := Shift_Right (PP (J), 4);

         if Dig > 9 then
            raise Constraint_Error;
         else
            V := V * 10 + Integer_32 (Dig);
         end if;

         Dig := PP (J) and 16#0F#;

         if Dig > 9 then
            raise Constraint_Error;
         else
            V := V * 10 + Integer_32 (Dig);
         end if;

         J := J + 1;
      end loop;

      --  Deal with digit nibble in sign byte

      Dig := Shift_Right (PP (J), 4);

      if Dig > 9 then
         raise Constraint_Error;
      else
         V := V * 10 + Integer_32 (Dig);
      end if;

      Sign :=  PP (J) and 16#0F#;

      --  Process sign nibble (deal with most common cases first)

      if Sign = 16#C# then
         return V;

      elsif Sign = 16#D# then
         return -V;

      elsif Sign = 16#B# then
         return -V;

      elsif Sign >= 16#A# then
         return V;

      else
         raise Constraint_Error;
      end if;
   end Packed_To_Int32;

   ---------------------
   -- Packed_To_Int64 --
   ---------------------

   function Packed_To_Int64 (P : System.Address; D : D64) return Integer_64 is
      PP           : constant Packed_Ptr  := To_Packed_Ptr (P);
      Empty_Nibble : constant Boolean     := ((D mod 2) = 0);
      B            : constant Byte_Length := (D / 2) + 1;
      V            : Integer_64;
      Dig          : Unsigned_8;
      Sign         : Unsigned_8;
      J            : Positive;

   begin
      --  Cases where there is an unused (zero) nibble in the first byte.
      --  Deal with the single digit nibble at the right of this byte

      if Empty_Nibble then
         V := Integer_64 (PP (1));
         J := 2;

         if V > 9 then
            raise Constraint_Error;
         end if;

      --  Cases where all nibbles are used

      else
         J := 1;
         V := 0;
      end if;

      --  Loop to process bytes containing two digit nibbles

      while J < B loop
         Dig := Shift_Right (PP (J), 4);

         if Dig > 9 then
            raise Constraint_Error;
         else
            V := V * 10 + Integer_64 (Dig);
         end if;

         Dig := PP (J) and 16#0F#;

         if Dig > 9 then
            raise Constraint_Error;
         else
            V := V * 10 + Integer_64 (Dig);
         end if;

         J := J + 1;
      end loop;

      --  Deal with digit nibble in sign byte

      Dig := Shift_Right (PP (J), 4);

      if Dig > 9 then
         raise Constraint_Error;
      else
         V := V * 10 + Integer_64 (Dig);
      end if;

      Sign :=  PP (J) and 16#0F#;

      --  Process sign nibble (deal with most common cases first)

      if Sign = 16#C# then
         return V;

      elsif Sign = 16#D# then
         return -V;

      elsif Sign = 16#B# then
         return -V;

      elsif Sign >= 16#A# then
         return V;

      else
         raise Constraint_Error;
      end if;
   end Packed_To_Int64;

end Interfaces.Packed_Decimal;

-- 
           Summary: Ada compiler fails to build on gcc 4.1
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: rblove at airmail dot net
                CC: gcc-bugs at gcc dot gnu dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug ada/21923] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
@ 2005-06-05 17:48 ` pinskia at gcc dot gnu dot org
  2005-06-05 20:16 ` pinskia at gcc dot gnu dot org
                   ` (14 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-05 17:48 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-05 17:48 -------
Right now Ada is broken with make bootstrap but that is an Ada front-end bug.  This one looks like a 
tree problem but since it might also be a bug in the previous compiler you used since you are just 
building I don't know.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug ada/21923] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
  2005-06-05 17:48 ` [Bug ada/21923] " pinskia at gcc dot gnu dot org
@ 2005-06-05 20:16 ` pinskia at gcc dot gnu dot org
  2005-06-05 20:27 ` pluto at agmk dot net
                   ` (13 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-05 20:16 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-05 20:15 -------
*** Bug 21925 has been marked as a duplicate of this bug. ***

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pluto at agmk dot net


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug ada/21923] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
  2005-06-05 17:48 ` [Bug ada/21923] " pinskia at gcc dot gnu dot org
  2005-06-05 20:16 ` pinskia at gcc dot gnu dot org
@ 2005-06-05 20:27 ` pluto at agmk dot net
  2005-06-05 21:31 ` [Bug tree-optimization/21923] [4.1 Regression] " pinskia at gcc dot gnu dot org
                   ` (12 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pluto at agmk dot net @ 2005-06-05 20:27 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pluto at agmk dot net  2005-06-05 20:27 -------
(In reply to comment #1) 
> Right now Ada is broken with make bootstrap but that is an Ada front-end 
bug.  This one looks like a  
> tree problem but since it might also be a bug in the previous compiler you 
used since you are just  
> building I don't know. 
 
I'm using the gcc-ada-4.0.1-20050521 and 4.1 bootstrap fails. 
 

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (2 preceding siblings ...)
  2005-06-05 20:27 ` pluto at agmk dot net
@ 2005-06-05 21:31 ` pinskia at gcc dot gnu dot org
  2005-06-05 22:14 ` pinskia at gcc dot gnu dot org
                   ` (11 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-05 21:31 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-05 21:31 -------
Looking into it right now, since I can confirm it.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|ada                         |tree-optimization
           Keywords|                            |build, ice-on-valid-code
            Summary|Ada compiler fails to build |[4.1 Regression] Ada
                   |on gcc 4.1                  |compiler fails to build on
                   |                            |gcc 4.1
   Target Milestone|---                         |4.1.0


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (3 preceding siblings ...)
  2005-06-05 21:31 ` [Bug tree-optimization/21923] [4.1 Regression] " pinskia at gcc dot gnu dot org
@ 2005-06-05 22:14 ` pinskia at gcc dot gnu dot org
  2005-06-05 22:21 ` pinskia at gcc dot gnu dot org
                   ` (10 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-05 22:14 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-05 22:14 -------
Hmm, we have a type mismatch here.
We have integer as one type and interfaces__packed_decimal__int32_to_packed__L_1__T8b___XDU_2 as 
the other one.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (4 preceding siblings ...)
  2005-06-05 22:14 ` pinskia at gcc dot gnu dot org
@ 2005-06-05 22:21 ` pinskia at gcc dot gnu dot org
  2005-06-05 22:31 ` pinskia at gcc dot gnu dot org
                   ` (9 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-05 22:21 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-05 22:21 -------
VRP is creating the mismatch type trees.
backtrace when it is created:
#0  build2_stat (code=GT_EXPR, tt=0x4240f740, arg0=0x4247e924, arg1=0x424563e0) at /Users/
pinskia/src/alias/gcc/gcc/tree.c:2637
#1  0x009082b4 in process_assert_insertions_for (name=0x4247e924, loc=0x423013e0) at /Users/
pinskia/src/alias/gcc/gcc/tree-vrp.c:2479
#2  0x009085a8 in process_assert_insertions () at /Users/pinskia/src/alias/gcc/gcc/tree-vrp.c:2542
#3  0x00908800 in insert_range_assertions () at /Users/pinskia/src/alias/gcc/gcc/tree-vrp.c:2616
#4  0x0090be28 in execute_vrp () at /Users/pinskia/src/alias/gcc/gcc/tree-vrp.c:3518
#5  0x0039d758 in execute_one_pass (pass=0xc47af8) at /Users/pinskia/src/alias/gcc/gcc/tree-
optimize.c:625
#6  0x0039d8bc in execute_pass_list (pass=0xc47af8) at /Users/pinskia/src/alias/gcc/gcc/tree-
optimize.c:662
#7  0x0039d8e4 in execute_pass_list (pass=0xc453d4) at /Users/pinskia/src/alias/gcc/gcc/tree-
optimize.c:663
#8  0x0039de6c in tree_rest_of_compilation (fndecl=0x4244b828) at /Users/pinskia/src/alias/gcc/
gcc/tree-optimize.c:795


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |pinskia at gcc dot gnu dot
                   |                            |org, dnovillo at gcc dot gnu
                   |                            |dot org


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (5 preceding siblings ...)
  2005-06-05 22:21 ` pinskia at gcc dot gnu dot org
@ 2005-06-05 22:31 ` pinskia at gcc dot gnu dot org
  2005-06-05 22:57 ` pinskia at gcc dot gnu dot org
                   ` (8 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-05 22:31 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-05 22:31 -------
(In reply to comment #6)
> VRP is creating the mismatch type trees.
> backtrace when it is created:

Note I don't think VRP is at fault here though.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (6 preceding siblings ...)
  2005-06-05 22:31 ` pinskia at gcc dot gnu dot org
@ 2005-06-05 22:57 ` pinskia at gcc dot gnu dot org
  2005-06-05 22:58 ` pinskia at gcc dot gnu dot org
                   ` (7 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-05 22:57 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-05 22:57 -------
tree_ssa_useless_type_conversion_1 is messing up the types.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
   Last reconfirmed|0000-00-00 00:00:00         |2005-06-05 22:57:46
               date|                            |


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (7 preceding siblings ...)
  2005-06-05 22:57 ` pinskia at gcc dot gnu dot org
@ 2005-06-05 22:58 ` pinskia at gcc dot gnu dot org
  2005-06-06  0:54 ` pinskia at gcc dot gnu dot org
                   ` (6 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-05 22:58 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-05 22:58 -------
Specifically the following code:
  else if (INTEGRAL_TYPE_P (inner_type)
           && INTEGRAL_TYPE_P (outer_type)
	   && TYPE_UNSIGNED (inner_type) == TYPE_UNSIGNED (outer_type)
	   && TYPE_PRECISION (inner_type) == TYPE_PRECISION (outer_type))
    {
      bool first_boolean = (TREE_CODE (inner_type) == BOOLEAN_TYPE);
      bool second_boolean = (TREE_CODE (outer_type) == BOOLEAN_TYPE);
      if (first_boolean == second_boolean)
	return true;
    }

The min/max of the two types might be different.

-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (8 preceding siblings ...)
  2005-06-05 22:58 ` pinskia at gcc dot gnu dot org
@ 2005-06-06  0:54 ` pinskia at gcc dot gnu dot org
  2005-06-06  9:25 ` pluto at agmk dot net
                   ` (5 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-06  0:54 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-06 00:54 -------
The following patch fixed the ICE but I don't know for sure if it is the correct fix:
Index: tree-ssa.c
===============================================================
====
RCS file: /cvs/gcc/gcc/gcc/tree-ssa.c,v
retrieving revision 2.95
diff -u -p -r2.95 tree-ssa.c
--- tree-ssa.c	1 Jun 2005 02:51:05 -0000	2.95
+++ tree-ssa.c	6 Jun 2005 00:53:39 -0000
@@ -901,7 +901,9 @@ tree_ssa_useless_type_conversion_1 (tree
   else if (INTEGRAL_TYPE_P (inner_type)
            && INTEGRAL_TYPE_P (outer_type)
 	   && TYPE_UNSIGNED (inner_type) == TYPE_UNSIGNED (outer_type)
-	   && TYPE_PRECISION (inner_type) == TYPE_PRECISION (outer_type))
+	   && TYPE_PRECISION (inner_type) == TYPE_PRECISION (outer_type)
+	   && simple_cst_equal (TYPE_MAX_VALUE (inner_type), TYPE_MAX_VALUE (outer_type))
+	   && simple_cst_equal (TYPE_MIN_VALUE (inner_type), TYPE_MIN_VALUE (outer_type)))
     {
       bool first_boolean = (TREE_CODE (inner_type) == BOOLEAN_TYPE);
       bool second_boolean = (TREE_CODE (outer_type) == BOOLEAN_TYPE);


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (9 preceding siblings ...)
  2005-06-06  0:54 ` pinskia at gcc dot gnu dot org
@ 2005-06-06  9:25 ` pluto at agmk dot net
  2005-06-06 15:44 ` schwab at suse dot de
                   ` (4 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pluto at agmk dot net @ 2005-06-06  9:25 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pluto at agmk dot net  2005-06-06 09:25 -------
at this moment build hangs at:

(...)
stage2/xgcc -Bstage2/ -B/usr/i686-pld-linux/bin/ -c -O2 -march=i686
-mtune=pentium4  -pipe      -gnatpg -gnata -I- -I. -Iada -I../../gcc/ada
../../gcc/ada/ada.ads -o ada/ada.o

(gdb) attach 27402
Attaching to process 27402
Reading symbols from
/home/users/pluto/rpm/BUILD/gcc-4.1-20050605_2025/obj-i686-pld-linux/
 gcc/stage2/gnat1...done.

(gdb) bt
#0  0x080b3c9a in csets___elabb ()
#1  0x0804ac75 in adainit ()
#2  0x08063f62 in gnat_parse_file ()
#3  0x0856e4e8 in toplev_main ()
#4  0x40045ff6 in __libc_start_main () from /lib/libc.so.6
#5  0x0804a131 in _start ()


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (10 preceding siblings ...)
  2005-06-06  9:25 ` pluto at agmk dot net
@ 2005-06-06 15:44 ` schwab at suse dot de
  2005-06-15 20:09 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: schwab at suse dot de @ 2005-06-06 15:44 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From schwab at suse dot de  2005-06-06 15:44 -------
Testresults with the patch from comment #10: 
http://gcc.gnu.org/ml/gcc-testresults/2005-06/msg00361.html 

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |schwab at suse dot de


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (11 preceding siblings ...)
  2005-06-06 15:44 ` schwab at suse dot de
@ 2005-06-15 20:09 ` pinskia at gcc dot gnu dot org
  2005-06-15 20:13 ` cvs-commit at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-15 20:09 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-15 20:08 -------
Patch posted: <http://gcc.gnu.org/ml/gcc-patches/2005-06/msg01315.html>, Mine.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |pinskia at gcc dot gnu dot
                   |dot org                     |org
                URL|                            |http://gcc.gnu.org/ml/gcc-
                   |                            |patches/2005-
                   |                            |06/msg01315.html
             Status|NEW                         |ASSIGNED
           Keywords|                            |patch


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (12 preceding siblings ...)
  2005-06-15 20:09 ` pinskia at gcc dot gnu dot org
@ 2005-06-15 20:13 ` cvs-commit at gcc dot gnu dot org
  2005-06-15 20:13 ` pinskia at gcc dot gnu dot org
  2005-06-28  1:14 ` dnovillo at gcc dot gnu dot org
  15 siblings, 0 replies; 17+ messages in thread
From: cvs-commit at gcc dot gnu dot org @ 2005-06-15 20:13 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-06-15 20:13 -------
Subject: Bug 21923

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	pinskia@gcc.gnu.org	2005-06-15 20:13:13

Modified files:
	gcc            : ChangeLog tree-ssa.c 

Log message:
	2005-06-15  Andrew Pinski  <pinskia@physics.uc.edu>
	
	PR tree-opt/21923
	* tree-ssa.c (tree_ssa_useless_type_conversion_1): Conversions between
	integer types whos ranges are different are not useless.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.9158&r2=2.9159
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/tree-ssa.c.diff?cvsroot=gcc&r1=2.97&r2=2.98



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (13 preceding siblings ...)
  2005-06-15 20:13 ` cvs-commit at gcc dot gnu dot org
@ 2005-06-15 20:13 ` pinskia at gcc dot gnu dot org
  2005-06-28  1:14 ` dnovillo at gcc dot gnu dot org
  15 siblings, 0 replies; 17+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-06-15 20:13 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-06-15 20:13 -------
Fixed.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

* [Bug tree-optimization/21923] [4.1 Regression] Ada compiler fails to build on gcc 4.1
  2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
                   ` (14 preceding siblings ...)
  2005-06-15 20:13 ` pinskia at gcc dot gnu dot org
@ 2005-06-28  1:14 ` dnovillo at gcc dot gnu dot org
  15 siblings, 0 replies; 17+ messages in thread
From: dnovillo at gcc dot gnu dot org @ 2005-06-28  1:14 UTC (permalink / raw)
  To: gcc-bugs



-- 
Bug 21923 depends on bug 21959, which changed state.

Bug 21959 Summary: [4.1 Regression] vrp miscompiles Ada front-end, drops loop exit test in well-defined wrap-around circumstances
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21959

           What    |Old Value                   |New Value
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21923


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2005-06-28  1:14 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-06-05 16:43 [Bug ada/21923] New: Ada compiler fails to build on gcc 4.1 rblove at airmail dot net
2005-06-05 17:48 ` [Bug ada/21923] " pinskia at gcc dot gnu dot org
2005-06-05 20:16 ` pinskia at gcc dot gnu dot org
2005-06-05 20:27 ` pluto at agmk dot net
2005-06-05 21:31 ` [Bug tree-optimization/21923] [4.1 Regression] " pinskia at gcc dot gnu dot org
2005-06-05 22:14 ` pinskia at gcc dot gnu dot org
2005-06-05 22:21 ` pinskia at gcc dot gnu dot org
2005-06-05 22:31 ` pinskia at gcc dot gnu dot org
2005-06-05 22:57 ` pinskia at gcc dot gnu dot org
2005-06-05 22:58 ` pinskia at gcc dot gnu dot org
2005-06-06  0:54 ` pinskia at gcc dot gnu dot org
2005-06-06  9:25 ` pluto at agmk dot net
2005-06-06 15:44 ` schwab at suse dot de
2005-06-15 20:09 ` pinskia at gcc dot gnu dot org
2005-06-15 20:13 ` cvs-commit at gcc dot gnu dot org
2005-06-15 20:13 ` pinskia at gcc dot gnu dot org
2005-06-28  1:14 ` dnovillo at gcc dot gnu dot org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).