1  /* { dg-do compile } */
       2  /* { dg-options "-O2 -fdump-tree-dse-details -fexceptions -fnon-call-exceptions -fno-isolate-erroneous-paths-dereference" } */
       3  /* { dg-require-effective-target exceptions } */
       4  
       5  
       6  int foo (int *p, int b)
       7  {
       8    int *q;
       9    int i = 1;
      10    if (b)
      11      q = &i;
      12    else
      13      q = (void *)0;
      14    *q = 2;
      15    return i;
      16  }
      17  
      18  /* { dg-final { scan-tree-dump-not "Deleted dead store" "dse1"} } */
      19  /* { dg-final { scan-tree-dump-not "Deleted dead store" "dse2"} } */
      20  /* { dg-final { scan-tree-dump-not "Deleted dead store" "dse3"} } */
      21  /* { dg-final { scan-tree-dump-not "Deleted dead store" "dse5"} } */
      22