1  
       2  
       3  typedef char char11[11];
       4  
       5  struct STRING {
       6    char11  contents;
       7    int     high;
       8  };
       9  
      10  extern void StrIO_WriteLn (void);
      11  static int StrLen (struct STRING a) __attribute__ ((always_inline));
      12  static void foo (void) __attribute__ ((always_inline));
      13  
      14  
      15  /*
      16   *  Function foo (foo)
      17   */
      18  
      19  static void
      20  foo (void)
      21  {
      22    struct STRING t;
      23    char11 b;
      24    void * _T30;
      25    void * _T32;
      26    void * _T33;
      27    void * _T34;
      28    void * _T36;
      29    unsigned int _T37;
      30    unsigned int D_432;
      31    unsigned int * indirect_3;
      32    char11   * _T33_2;
      33    char11 * * indirect_1;
      34  
      35    __builtin_memcpy (&b, "hello", 6);
      36    _T30 = &t;
      37    _T32 = _T30;
      38    _T33 = &b;
      39    indirect_1 = (char11 * *) _T32;
      40    _T33_2 = (char11 *) _T33;
      41    *indirect_1 = _T33_2;
      42    _T34 = &t;
      43    _T36 = _T34 + 8;
      44    indirect_3 = (unsigned int *) _T36;
      45    *indirect_3 = 5;
      46    D_432 = StrLen (t);
      47    _T37 = D_432;
      48    if (_T37 != 5)
      49      goto L61;
      50    else
      51      goto L0;
      52  
      53   L0: ;
      54    StrIO_WriteLn ();
      55  
      56   L61: ;
      57    return;
      58  
      59  }
      60  
      61  
      62  /*
      63   * Function StrLen
      64   */
      65  
      66  static int
      67  StrLen (struct STRING a)
      68  {
      69    void * _T18;
      70    void * _T20;
      71    char11 * _T21;
      72    void * _T23;
      73    void * _T24;
      74    void * _T25;
      75    int _T27;
      76    int _T28;
      77    char * _T29;
      78    unsigned int D_417;
      79    void * D_416;
      80    void * D_415;
      81    long int D_414;
      82    char11 * * indirect_0;
      83  
      84    _T18 = &a;
      85    _T20 = _T18;
      86    indirect_0 = (char11 * *) _T20;
      87    _T21 = *indirect_0;
      88    _T24 = _T21;
      89    _T23 = _T24;
      90    _T27 = 4;
      91    _T28 = _T27;
      92    D_414 = (long int) _T28;
      93    D_415 = (void *) D_414;
      94    D_416 = (void *)((unsigned long) D_415 + (unsigned long) _T23);
      95    _T29 = (char *) D_416;
      96    *_T29 = 97;
      97    D_417 = 5;
      98    return D_417;
      99  }
     100  
     101  
     102  /*
     103   * Function _M2_testcse49_init (_M2_testcse49_init)
     104   */
     105  
     106  void
     107  _M2_testcse49_init (void)
     108  {
     109    foo ();
     110    return;
     111  }
     112  
     113