diff options
author | Arnaud Charlet <charlet@adacore.com> | 2022-07-19 14:58:44 +0000 |
---|---|---|
committer | Marc Poulhiès <poulhies@adacore.com> | 2022-09-05 09:21:03 +0200 |
commit | 7449db0bf4a2c920538a7f947ccec2831802ded4 (patch) | |
tree | 05b6a441733d647142b5b20bb188f57216aff553 | |
parent | a0998ca3add191e76f151e541fc18a6d9dd5a1f0 (diff) | |
download | gcc-7449db0bf4a2c920538a7f947ccec2831802ded4.zip gcc-7449db0bf4a2c920538a7f947ccec2831802ded4.tar.gz gcc-7449db0bf4a2c920538a7f947ccec2831802ded4.tar.bz2 |
[Ada] Secondary stack and i-c*
Extend the previous changes related to Ada.Tags trigerring a
dependency on the secondary stack to various i-c* packages.
gcc/ada/
* ali.adb (Scan_ALI): Special case i-c*.ali when setting
Sec_Stack_Used.
-rw-r--r-- | gcc/ada/ali.adb | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/gcc/ada/ali.adb b/gcc/ada/ali.adb index bcc8822..3febd48 100644 --- a/gcc/ada/ali.adb +++ b/gcc/ada/ali.adb @@ -2079,15 +2079,24 @@ package body ALI is -- Processing for SS elsif C = 'S' then - -- Special case: a-tags.ali by itself should not set + -- Special case: a-tags/i-c* by themselves should not set -- Sec_Stack_Used, only if other code uses the secondary -- stack should we set this flag. This ensures that we do -- not bring the secondary stack unnecessarily when using - -- Ada.Tags and not actually using the secondary stack. + -- one of these packages and not actually using the + -- secondary stack. - if Get_Name_String (F) /= "a-tags.ali" then - Opt.Sec_Stack_Used := True; - end if; + declare + File : constant String := Get_Name_String (F); + begin + if File /= "a-tags.ali" + and then File /= "i-c.ali" + and then File /= "i-cstrin.ali" + and then File /= "i-cpoint.ali" + then + Opt.Sec_Stack_Used := True; + end if; + end; -- Invalid switch starting with S |