1  /* Copyright (C) 2001 Free Software Foundation, Inc.  */
       2  
       3  /* { dg-do compile } */
       4  /* { dg-options "-Wshadow -pedantic-errors" } */
       5  
       6  /* Source: Neil Booth, 5 Dec 2001.  */
       7  
       8  int decl1;			/* { dg-message "shadowed declaration" } */
       9  void foo (double decl1)		/* { dg-warning "shadows a global decl" } */
      10  {				
      11  }
      12  
      13  void foo1 (int d)		/* { dg-message "note: previous definition" } */
      14  {
      15    double d;	 /* { dg-bogus "warning" "warning in place of error" } */
      16    /* { dg-error "redeclared as different" "" { target *-*-* } .-1 } */
      17  }
      18  
      19  void foo2 (int d)		/* { dg-message "shadowed declaration" } */
      20  {
      21    {
      22      double d;			/* { dg-warning "shadows a parameter" } */
      23    }
      24  }
      25  
      26  void foo3 ()
      27  {
      28    int local;			/* { dg-message "shadowed declaration" } */
      29    {
      30      int local;			/* { dg-warning "shadows a previous local" } */
      31    }
      32  }