1  /* PR ipa/97404 */
       2  /* { dg-additional-options "-fno-inline" } */
       3  
       4  char a, b;
       5  long c;
       6  short d, e;
       7  long *f = &c;
       8  int g;
       9  char h(signed char i) { return 0; }
      10  static short j(short i, int k) { return i < 0 ? 0 : i >> k; }
      11  void l(void);
      12  void m(void)
      13  {
      14    e = j(d | 9766, 11);
      15      *f = e;
      16  }
      17  void l(void)
      18  {
      19    a = 5 | g;
      20      b = h(a);
      21  }
      22  int main()
      23  {
      24    m();
      25    if (c != 4)
      26      __builtin_abort();
      27    return 0;
      28  }