1/* { dg-do compile } */ 2/* { dg-options "-O0 -Wno-implicit-function-declaration" } */ 3 4typedef char* __char_ptr32 __attribute__ (( mode (SI) )); 5typedef __char_ptr32 *__char_ptr_char_ptr32 __attribute__ ((mode (SI))); 6 7void to_ptr32 (int x) 8{ 9 __char_ptr32 ptr = (__char_ptr32) x; 10} 11 12void to_int (__char_ptr32 ptr) 13{ 14 int x = (int) ptr; 15} 16 17__char_ptr_char_ptr32 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