diff options
author | Samuel Tardieu <sam@rfc1149.net> | 2007-12-07 18:03:20 +0000 |
---|---|---|
committer | Samuel Tardieu <sam@gcc.gnu.org> | 2007-12-07 18:03:20 +0000 |
commit | 72f69ddf21cbf51560e6da8d9a534d25a1e72a61 (patch) | |
tree | b2b6133220f9d12c3206460455818820a2c27480 /gcc/ada | |
parent | 63396805ab90f39238caf76d7ed02b821bf21b14 (diff) | |
download | gcc-72f69ddf21cbf51560e6da8d9a534d25a1e72a61.zip gcc-72f69ddf21cbf51560e6da8d9a534d25a1e72a61.tar.gz gcc-72f69ddf21cbf51560e6da8d9a534d25a1e72a61.tar.bz2 |
re PR ada/21346 (Ada.Directories.Compose raises exception if Containing_Directory is empty string)
gcc/ada/
PR ada/21346
* a-direct.adb (Compose): Containing_Directory can be an empty string.
gcc/testsuite/
PR ada/21346
* gnat.dg/compose.adb: New test.
From-SVN: r130692
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 3 | ||||
-rw-r--r-- | gcc/ada/a-direct.adb | 6 |
2 files changed, 7 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 0b1afbc..49f226f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -14,6 +14,9 @@ when an access to constant is used to initialize an access value. + PR ada/21346 + * a-direct.adb (Compose): Containing_Directory can be an empty string. + 2007-12-07 Olivier Hainque <hainque@adacore.com> PR ada/34173 diff --git a/gcc/ada/a-direct.adb b/gcc/ada/a-direct.adb index 1d7ea55..52ad1b3 100644 --- a/gcc/ada/a-direct.adb +++ b/gcc/ada/a-direct.adb @@ -155,7 +155,9 @@ package body Ada.Directories is begin -- First, deal with the invalid cases - if not Is_Valid_Path_Name (Containing_Directory) then + if Containing_Directory /= "" + and then not Is_Valid_Path_Name (Containing_Directory) + then raise Name_Error; elsif @@ -176,7 +178,7 @@ package body Ada.Directories is -- Add a directory separator if needed - if Result (Last) /= Dir_Separator then + if Last /= 0 and then Result (Last) /= Dir_Separator then Last := Last + 1; Result (Last) := Dir_Separator; end if; |