OpenCores
URL https://opencores.org/ocsvn/openrisc_2011-10-31/openrisc_2011-10-31/trunk

Subversion Repositories openrisc_2011-10-31

[/] [openrisc/] [tags/] [gnu-src/] [gcc-4.5.1/] [gcc-4.5.1-or32-1.0rc2/] [gcc/] [testsuite/] [g++.old-deja/] [g++.other/] [optimize3.C] - Diff between revs 305 and 384

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

Rev 305 Rev 384
// { dg-do run  }
// { dg-do run  }
// { dg-options "-O2" }
// { dg-options "-O2" }
//
//
// Copyright (C) 2001 Free Software Foundation, Inc.
// Copyright (C) 2001 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 29 May 2001 
// Contributed by Nathan Sidwell 29 May 2001 
// Bug 2936. We ICE'd on tree inlining a function with an anonymous
// Bug 2936. We ICE'd on tree inlining a function with an anonymous
// union decl.
// union decl.
inline const unsigned char *Foo (const char *string)
inline const unsigned char *Foo (const char *string)
{
{
  union
  union
  {
  {
    const char *p1;
    const char *p1;
    const unsigned char *p2;
    const unsigned char *p2;
  };
  };
  p1 = 0;
  p1 = 0;
  p2 = 0;
  p2 = 0;
  p1 = string;
  p1 = string;
  return p2;
  return p2;
}
}
const unsigned char *Baz (const char *string)
const unsigned char *Baz (const char *string)
{
{
  return Foo (string);
  return Foo (string);
}
}
int main ()
int main ()
{
{
  const char *string = "s";
  const char *string = "s";
  const unsigned char *result;
  const unsigned char *result;
  result = Baz (string);
  result = Baz (string);
  return (static_cast  (result)
  return (static_cast  (result)
          != static_cast  (string));
          != static_cast  (string));
}
}
 
 

powered by: WebSVN 2.1.0

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