aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2021-05-18 00:55:27 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2021-07-07 16:23:12 +0000
commitf8776eeb3613b557cea367f01d7d1b6b2fe9d33b (patch)
tree348b382b461e365d7d501ff269a53e53a73974b5
parent6feab95cbcf0283b6bf4bf2e6e2e38370618930a (diff)
downloadgcc-f8776eeb3613b557cea367f01d7d1b6b2fe9d33b.zip
gcc-f8776eeb3613b557cea367f01d7d1b6b2fe9d33b.tar.gz
gcc-f8776eeb3613b557cea367f01d7d1b6b2fe9d33b.tar.bz2
[Ada] Tune discovery of No_Elaboration_Code restriction
gcc/ada/ * lib-writ.adb (Write_ALI): Exit from loop after seeing first unit that violates No_Elaboration_Code restriction.
-rw-r--r--gcc/ada/lib-writ.adb1
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/ada/lib-writ.adb b/gcc/ada/lib-writ.adb
index 1b02b1c..3564f0f 100644
--- a/gcc/ada/lib-writ.adb
+++ b/gcc/ada/lib-writ.adb
@@ -1256,6 +1256,7 @@ package body Lib.Writ is
if Units.Table (Unit).Generate_Code or else Unit = Main_Unit then
if not Has_No_Elaboration_Code (Cunit (Unit)) then
Main_Restrictions.Violated (No_Elaboration_Code) := True;
+ exit;
end if;
end if;
end loop;