| -- PR ada/49732 |
| -- Testcase by Vorfeed Canal |
| |
| -- { dg-do compile } |
| -- { dg-options "-gnato" } |
| |
| with Interfaces.C; use Interfaces.C; |
| with Interfaces.C.Strings; use Interfaces.C.Strings; |
| with Interfaces.C.Pointers; |
| |
| procedure Pointer_Controlled is |
| |
| function Create (Name : String) return size_t is |
| |
| type Name_String is new char_array (0 .. Name'Length); |
| type Name_String_Ptr is access Name_String; |
| pragma Controlled (Name_String_Ptr); |
| |
| Name_Str : constant Name_String_Ptr := new Name_String; |
| Name_Len : size_t; |
| |
| begin |
| To_C (Name, Name_Str.all, Name_Len); |
| return 1; |
| end; |
| |
| Test : size_t; |
| |
| begin |
| Test := Create("ABC"); |
| end; |