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]
Other format: [Raw text]

[Bug tree-optimization/47140] [4.6 Regression] error: conversion of register to a different size


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47140

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
      Known to work|                            |4.5.2
           Keywords|                            |ice-on-valid-code
   Last reconfirmed|                            |2011.01.01 14:33:23
                 CC|                            |jakub at gcc dot gnu.org,
                   |                            |rguenth at gcc dot gnu.org
     Ever Confirmed|0                           |1
            Summary|error: conversion of        |[4.6 Regression] error:
                   |register to a different     |conversion of register to a
                   |size                        |different size
   Target Milestone|---                         |4.6.0
      Known to fail|                            |4.6.0

--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-01-01 14:33:23 UTC ---
Caused by http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=162943
Smaller testcase:
static int
foo (int x, short y)
{
  return y == 0 ? x : x + y;
}

static unsigned short
bar (unsigned short x, unsigned char y)
{
  return x - y;
}

int w;

int baz (void);

int
test (void)
{
  for (;;)
    w = foo ((unsigned char) (1 + baz ()) >= bar (0, 1), 0);
}


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