diff options
author | Ed Schonberg <schonber@gnat.com> | 2001-11-29 05:15:53 +0000 |
---|---|---|
committer | Geert Bosch <bosch@gcc.gnu.org> | 2001-11-29 06:15:53 +0100 |
commit | 9f63939774d1b9eaf9c4196ac50f9e83ddbae822 (patch) | |
tree | 89530c18f3ddfe06f8c17ed0a9a81ed0f17cbd30 /gcc | |
parent | 911b415e5242af7ee14f8261482cf0d45fa78b4d (diff) | |
download | gcc-9f63939774d1b9eaf9c4196ac50f9e83ddbae822.zip gcc-9f63939774d1b9eaf9c4196ac50f9e83ddbae822.tar.gz gcc-9f63939774d1b9eaf9c4196ac50f9e83ddbae822.tar.bz2 |
g-os_lib.adb (Add_To_Command): use explicit loop to move string into Command, an array conversion is illegal here.
* g-os_lib.adb (Add_To_Command): use explicit loop to move string
into Command, an array conversion is illegal here. Uncovered by
ACATS B460005.
From-SVN: r47435
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/ada/g-os_lib.adb | 8 |
2 files changed, 13 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 3bcc433..8c501db 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,9 @@ +2001-11-29 Ed Schonberg <schonber@gnat.com> + + * g-os_lib.adb (Add_To_Command): use explicit loop to move string + into Command, an array conversion is illegal here. Uncovered by + ACATS B460005. + 2001/11/28 Geert Bosch <bosch@gnat.com> * init.c: Minor whitespace changes. diff --git a/gcc/ada/g-os_lib.adb b/gcc/ada/g-os_lib.adb index cc60078..3c35236 100644 --- a/gcc/ada/g-os_lib.adb +++ b/gcc/ada/g-os_lib.adb @@ -1316,7 +1316,13 @@ package body GNAT.OS_Lib is begin Command_Last := Command_Last + S'Length; - Command (First .. Command_Last) := Chars (S); + + -- Move characters one at a time, because Command has + -- aliased components. + + for J in S'Range loop + Command (First + J - S'First) := S (J); + end loop; Command_Last := Command_Last + 1; Command (Command_Last) := ASCII.NUL; |