This patch detects a syntax error when "use all" is not followed by "type". The following test must get an error: gcc -c use_all_type_syntax.adb use_all_type_syntax.ads:3:12: "type" expected
package Use_All_Type_Syntax is use all TYP Boolean; -- syntax error end Use_All_Type_Syntax; Tested on x86_64-pc-linux-gnu, committed on trunk 2014-01-20 Bob Duff <d...@adacore.com> * par-ch8.adb (P_Use_Type_Clause): Detect syntax error when "use all" is not followed by "type".
Index: par-ch8.adb =================================================================== --- par-ch8.adb (revision 206804) +++ par-ch8.adb (working copy) @@ -113,7 +113,12 @@ Error_Msg_Ada_2012_Feature ("|`USE ALL TYPE`", Token_Ptr); All_Present := True; Scan; -- past ALL - else + + if Token /= Tok_Type then + Error_Msg_SC ("TYPE expected"); + end if; + + else pragma Assert (Token = Tok_Type); All_Present := False; end if;