1  /* { dg-do compile } */
       2  /* { dg-options "-fdump-tree-original" } */
       3  
       4  char c[4] __attribute__ ((aligned (4)));
       5  
       6  struct S {
       7    char c1;
       8    char c2;
       9    char c3;
      10    char c4;
      11  };
      12  
      13  int f1 (void)
      14  {
      15    return 3 & (__SIZE_TYPE__)&c[1];
      16  }
      17  
      18  int f2 (void)
      19  {
      20    return 3 & (__SIZE_TYPE__)&((struct S *)&c)->c2;
      21  }
      22  
      23  /* { dg-final { scan-tree-dump-times "\& 3" 0 "original" } } */
      24  /* { dg-final { scan-tree-dump-times "return 1" 2 "original" } } */