text: 
  /* { dg-do compile  { target i?86-*-* x86_64-*-* } } */
  /* { dg-options "-Wuninitialized -O2 -mbranch-cost=0" } */
  
  int g;
  void bar();
  void blah(int);
  
  int foo (int n, int l, int m, int r)
  {
    int v;
  
    if (n || l)
      v = r;
  
    if (m) g++;
    else   bar();
  
    if ( n && l)
        blah(v); /* { dg-bogus "uninitialized" "bogus warning" } */
  
    if ( n )
        blah(v); /* { dg-bogus "uninitialized" "bogus warning" } */
  
    if ( l )
        blah(v); /* { dg-bogus "uninitialized" "bogus warning" } */
  
    return 0;
  }
  
  int foo_2 (int n, int l, int m, int r)
  {
    int v;
  
    if (n || l)
      v = r;
  
    if (m) g++;
    else   bar();
  
    if ( n && l)
        blah(v); /* { dg-bogus "uninitialized" "bogus warning" } */
  
    if ( n )
        blah(v); /* { dg-bogus "uninitialized" "bogus warning" } */
  
    if (m || l)
        blah (v); /* { dg-warning "uninitialized" "warning" } */
  
    if ( l )
        blah(v); /* { dg-bogus "uninitialized" "bogus warning" } */
  
    return 0;
  }
  