1 /* { dg-do compile } */ 2 /* { dg-options "-O0 -Wno-implicit-function-declaration" } */ 3 4 typedef char* __char_ptr32 __attribute__ (( mode (SI) )); 5 typedef __char_ptr32 *__char_ptr_char_ptr32 __attribute__ ((mode (SI))); 6 to_ptr32(int x)7void to_ptr32 (int x) 8 { 9 __char_ptr32 ptr = (__char_ptr32) x; 10 } 11 to_int(__char_ptr32 ptr)12void to_int (__char_ptr32 ptr) 13 { 14 int x = (int) ptr; 15 } 16 17 __char_ptr_char_ptr32 to_ptr32_ptr32(char ** ptr64)18to_ptr32_ptr32 (char **ptr64) 19 { 20 int argc; 21 __char_ptr_char_ptr32 short_argv; 22 23 for (argc=0; ptr64[argc]; argc++); 24 25 short_argv = (__char_ptr_char_ptr32) malloc32 26 (sizeof (__char_ptr32) * (argc + 1)); 27 28 for (argc=0; ptr64[argc]; argc++) 29 short_argv[argc] = (__char_ptr32) strdup32 (ptr64[argc]); 30 31 short_argv[argc] = (__char_ptr32) 0; 32 return short_argv; 33 34 } 35 36