* g++.old-deja/g++.other/warn4.C: New test.

From-SVN: r30617
This commit is contained in:
Nathan Sidwell 1999-11-22 16:10:58 +00:00 committed by Nathan Sidwell
parent 88b4335f8a
commit 19a027a082
2 changed files with 71 additions and 0 deletions

View File

@ -1,3 +1,7 @@
1999-11-22 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.other/warn4.C: New test.
1999-11-22 Nathan Sidwell <nathan@acm.org>
* g++.old-deja/g++.eh/cleanup2.C: New test.

View File

@ -0,0 +1,67 @@
// Build don't link:
// Copyright (C) 1999 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 21 Nov 1999 <nathan@acm.org>
// make sure we only warn on assigning a negative (signed) value
// to an unsigned type, and don't warn just if the unsigned value
// happens to have the top bit set.
typedef unsigned U;
void fn (unsigned);
void fu ()
{
unsigned s1 = -1u;
unsigned s2(-1u);
unsigned volatile s3 = -1u;
unsigned const s4 = -1u;
unsigned const &s5(-1u);
s1 = -1u;
fn (-1u);
}
void fU ()
{
U s1 = -1u;
U s2(-1u);
U volatile s3 = -1u;
U const s4 = -1u;
U const &s5(-1u);
s1 = -1u;
fn (-1u);
}
void fs ()
{
unsigned s1 = -1; // WARNING - initialization
unsigned s2(-1); // WARNING - initialization
unsigned volatile s3 = -1;// WARNING - initialization
unsigned const s4 = -1; // WARNING - initialization
unsigned const &s5(-1); // WARNING - initialization
s1 = -1; // WARNING - assignment
fn (-1); // WARNING - passing
}
void fss ()
{
unsigned s1 = -(-1);
unsigned s2(-(-1));
unsigned volatile s3 = -(-1);
unsigned const s4 = -(-1);
unsigned const &s5(-(-1));
s1 = -(-1);
fn (-(-1));
}
void fsz ()
{
unsigned s1 = -0;
unsigned s2(-0);
unsigned volatile s3 = -0;
unsigned const s4 = -0;
unsigned const &s5(-0);
s1 = -0;
fn (-0);
}