OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [g++.old-deja/] [g++.other/] [warn4.C] - Rev 699

Compare with Previous | Blame | View Log

// { dg-do assemble  }
// { dg-options "-Wsign-conversion" }

// 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;         // { dg-warning "" } initialization
  unsigned s2(-1);          // { dg-warning "" } initialization
  unsigned volatile s3 = -1;// { dg-warning "" } initialization
  unsigned const s4 = -1;   // { dg-warning "" } initialization
  unsigned const &s5(-1);   // { dg-warning "" } initialization
  s1 = -1;                  // { dg-warning "" } assignment
  fn (-1);                  // { dg-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);
}

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.