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

Subversion Repositories openrisc

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc1/] [gcc/] [testsuite/] [g++.dg/] [abi/] [bitfield2.C] - Diff between revs 301 and 338

Only display areas with differences | Details | Blame | View Log

Rev 301 Rev 338
// { dg-do run }
// { dg-do run }
// { dg-options "-ansi -pedantic-errors -fsigned-bitfields" }
// { dg-options "-ansi -pedantic-errors -fsigned-bitfields" }
// Copyright (C) 2001 Free Software Foundation, Inc.
// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 15 Dec 2001 
// Contributed by Nathan Sidwell 15 Dec 2001 
typedef int Int;
typedef int Int;
typedef signed int SInt;
typedef signed int SInt;
typedef unsigned int UInt;
typedef unsigned int UInt;
struct A
struct A
{
{
  SInt bitS : 1;        // signed
  SInt bitS : 1;        // signed
  UInt bitU : 1;        // unsigned
  UInt bitU : 1;        // unsigned
  Int bit : 1;          // signedness by -f{signed,unsigned}-bitfields
  Int bit : 1;          // signedness by -f{signed,unsigned}-bitfields
};
};
int main ()
int main ()
{
{
  A a;
  A a;
  a.bitS = 1; // { dg-warning "overflow" }
  a.bitS = 1; // { dg-warning "overflow" }
  a.bitU = 1;
  a.bitU = 1;
  a.bit = 1;  // { dg-warning "overflow" }
  a.bit = 1;  // { dg-warning "overflow" }
  if (a.bitS != -1)
  if (a.bitS != -1)
    return 1;
    return 1;
  if (a.bitU != 1)
  if (a.bitU != 1)
    return 2;
    return 2;
  if (a.bit != -1)
  if (a.bit != -1)
    return 3;
    return 3;
  return 0;
  return 0;
}
}
 
 

powered by: WebSVN 2.1.0

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