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