diff options
Diffstat (limited to 'test/FrontendAda')
-rw-r--r-- | test/FrontendAda/negative_field_offset.adb | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/test/FrontendAda/negative_field_offset.adb b/test/FrontendAda/negative_field_offset.adb new file mode 100644 index 0000000..f8b8510 --- /dev/null +++ b/test/FrontendAda/negative_field_offset.adb @@ -0,0 +1,16 @@ +-- RUN: %llvmgcc -c %s +with System; +procedure Negative_Field_Offset (N : Integer) is + type String_Pointer is access String; + -- Force use of a thin pointer. + for String_Pointer'Size use System.Word_Size; + P : String_Pointer; + + procedure Q (P : String_Pointer) is + begin + P (1) := 'Z'; + end; +begin + P := new String (1 .. N); + Q (P); +end; |