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