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)7 void to_ptr32 (int x)
8 {
9   __char_ptr32 ptr = (__char_ptr32) x;
10 }
11 
to_int(__char_ptr32 ptr)12 void to_int (__char_ptr32 ptr)
13 {
14   int x = (int) ptr;
15 }
16 
17 __char_ptr_char_ptr32
to_ptr32_ptr32(char ** ptr64)18 to_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