This is the mail archive of the gcc-bugs@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]

Re: Unnecessary warning


Sorry for my ignorance. However, the warning should probably mention
something to that effect.

					-Kip

On Mon, 3 Jan 2000 llewelly@198.dsl.xmission.com wrote:

> 
> 
> On Mon, 3 Jan 2000, Kip Macy wrote:
> 
> > It depends on how you define the desired behaviour of a warning. My
> > desired behaviour is to inform me of things in the code that need to be
> > fixed, and once fixed the message will go away. However, this example is
> > not something one can change without breaking the code - thus, by my
> > definition, it is a bug.
> > 
> > 					-Kip
> 
> Try this:
> #include<iostream>
>   using std::cout;
> int main()
>   {
>     unsigned int foo;
>     foo = 4294967295U; //Use a 'u' or 'U" to indicate an unsigned constant.
>     cout << foo << endl;
>     return(0);
>   }
> 
> No warnings. The 'U' (or 'u') is the standard way to mark a constant as
>   unsigned. An integer literal without such a suffix is of type 'int'.
>   More complicated uses of integer literals whose values are outside the
>   range of int can give unexpected results.
> 
> by the way:
> 
>   'l' or 'L' == long int
>   'ul','UL','lu',etc == unsigned long int
>   'LL' == long long (this is a gcc extension)
> 
> > 
> > On Mon, 3 Jan 2000 Martin.Niklasson@nokia.com wrote:
> > 
> > > Dear Sirs
> > > 
> > > I am not sure whether you consider this a bug or a
> > > feature, but it annoys me a little. If you enter the
> > > following C++ lines in a program:
> > > 
> > >   unsigned int foo;
> > >   foo = 4294967295; //Or any constant larger than 2^31
> > >   cout << foo << endl;    
> > > 
> > > then g++ warns about the constant being
> > > "so large that it is unsigned".
> > > 
> [snip]
> 
> 
> 



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