This is the mail archive of the gcc-help@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: Problems shifting an int 32 times. Gcc 3.4.5


Juan Reina writes:
 > Hello:
 > 
 > I have a problem using the shift operator, maybe a bug (ok, a bug or i'm wrong about shift operator)
 > 
 > System: i386-redhat-linux
 > Version: Gcc 3.4.5
 > Case:
 >  In the next snipplet:
 > unsigned int getMask(int n){
 > unsigned int mask = 0;
 > a = ~(~(a)<<n);
 > }
 > 
 > In case of n<32, the function works correct but if n=32, the value of a is 0 (when should be 0xFFFF).

Have a look at C99, Section 6.5.7 Para 3.

http://www.open-std.org/JTC1/SC22/WG14/www/docs/n1124.pdf




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