aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-09-09 12:02:12 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2010-09-09 12:02:12 +0200
commita24008b659b386107044f7ad3fcac3e3a6216ea5 (patch)
tree22b37f0f94793f6c19f8fa365c49c7473aef30fe
parente5a58facaa37aff59eb40fc59b0cf8cdc724cb6f (diff)
downloadgcc-a24008b659b386107044f7ad3fcac3e3a6216ea5.zip
gcc-a24008b659b386107044f7ad3fcac3e3a6216ea5.tar.gz
gcc-a24008b659b386107044f7ad3fcac3e3a6216ea5.tar.bz2
Minor code clean up.
From-SVN: r164063
-rw-r--r--gcc/ada/sem_ch3.adb9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index 545403a..3e801ad 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -1569,11 +1569,17 @@ package body Sem_Ch3 is
if No (Prim) then
+ -- Skip non-overridden null interface primitives because
+ -- their wrappers will be generated later.
+
+ if Is_Null_Interface_Primitive (Iface_Prim) then
+ goto Continue;
+
-- if the tagged type is defined at library level then we
-- invoke Check_Abstract_Overriding to report the error
-- and thus avoid generating the dispatch tables.
- if Is_Library_Level_Tagged_Type (Tagged_Type) then
+ elsif Is_Library_Level_Tagged_Type (Tagged_Type) then
Check_Abstract_Overriding (Tagged_Type);
pragma Assert (Serious_Errors_Detected > 0);
return;
@@ -1645,6 +1651,7 @@ package body Sem_Ch3 is
Set_Has_Delayed_Freeze (New_Subp);
end if;
+ <<Continue>>
Next_Elmt (Elmt);
end loop;