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

             Bug #: 51555
           Summary: Thinks System.Address is 64 bits wide when compiling
                    with -m32
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: baldr...@gcc.gnu.org


When using -m32 on a 64 bit system, the compiler thinks that System.Address
does
not have the same size as a pointer.  Compiling the following testcase gives:
  $ gcc -S m32.adb -m32
  m32.adb:4:07: warning: types for unchecked conversion have different sizes

with System;
package M32 is
   type P is access Integer;
   function C (A : System.Address) return P;
end;
with Ada.Unchecked_Conversion;
package body M32 is
   function C (A : System.Address) return P is
      function D is new Ada.Unchecked_Conversion (System.Address, P);
   begin
      return D (A);
   end;
end;

Reply via email to