Build_Class_Wide_Master in exp_ch3.adb starts with this check: -- Nothing to do if there is no task hierarchy if Restriction_Active (No_Task_Hierarchy) then return; end if;
This early return should obviously also occur if tasking is not allowed, for example if the restriction No_Tasking is in force, but it doesn't. This can cause the tasking runtime to be pulled in for programs using tagged types in funky ways even in the presence of pragma Restrictions (No_Tasking); -- Summary: The No_Tasking restriction does not imply No_Task_Hierarchy, but should Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: ada AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: baldrick at gcc dot gnu dot org GCC build triplet: x86_64-linux-gnu GCC host triplet: x86_64-linux-gnu GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44058