This is the mail archive of the gcc-prs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: c/7139: Shifting 1 through a 64bit int fails at 32bit line


The following reply was made to PR c/7139; it has been noted by GNATS.

From: Simon Shapiro <shimon@nomis-storage.com>
To: mmitchel@gcc.gnu.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, nobody@gcc.gnu.org, shimon@simon-shapiro.com, gcc-gnats@gcc.gnu.org
Cc:  
Subject: Re: c/7139: Shifting 1 through a 64bit int fails at 32bit line
Date: Thu, 27 Jun 2002 18:26:25 +0100

 Thax for looking into this problem.
 
 However, I would like to suggest that you may have dismissed the
 problem a bit too quickly.
 
 I am making this bold assumption based on my understanding that:
 
 1 << 31 = 0x0000000080000000, and not 0xffffffff80000000
 1 << 32 = 0x0000000100000000, and not  0x0000000000000001
 
 Am I wrong?
 
 Perhaps the example was 
 too complicated.  Try this one:
 #include <stdio.h>
 
 int 
 main()
 {
         unsigned long long      i64;
         int                                     index;
 
 
         for (index = 0; index < 64; index++) {
                 i64 = 1 << index;
 
                 (void)fprintf(stdout, "1 << %d = %qx\n", index, i64);
         }
  
         return(0);
 }
 
 -------------------
 > Synopsis: Shifting 1 through a 64bit int fails at 32bit line
 > 
 > State-Changed-From-To: open->closed
 > State-Changed-By: mmitchel
 > State-Changed-When: Thu Jun 27 15:07:03 2002
 > State-Changed-Why:
 >     Not a defect.
 > 
 >
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=g
 cc&pr=7139
 > 
 Sincerely,
 
 Simon Shapiro, CEO
 Nomis Storage, Inc.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]