In the Alias_Atomic_Check block, Complain_CS has these lines: if Known_Static_Esize (Ctyp) then Error_Msg_N ("incorrect component size for " & T & " components", Clause); Error_Msg_Uint_1 := Esize (Ctyp); Error_Msg_N ("\only allowed value is^", Clause);
else Error_Msg_N ("component size cannot be given for " & T & " components", Clause); end if; but Complain_CS can only be invoked if Known_Static_Esize (Ctyp) is true, so the above test is always true and the 'else' arm unreachable. No functional changes. Tested on x86_64-pc-linux-gnu, committed on trunk 2015-01-06 Eric Botcazou <ebotca...@adacore.com> * freeze.adb (Freeze_Array_Type) <Complain_CS>: Remove always true test and unreachable 'else' arm.
Index: freeze.adb =================================================================== --- freeze.adb (revision 219253) +++ freeze.adb (working copy) @@ -2450,27 +2450,18 @@ Get_Attribute_Definition_Clause (FS, Attribute_Component_Size); - if Known_Static_Esize (Ctyp) then - Error_Msg_N - ("incorrect component size for " - & T & " components", Clause); - Error_Msg_Uint_1 := Esize (Ctyp); - Error_Msg_N - ("\only allowed value is^", Clause); + Error_Msg_N + ("incorrect component size for " + & T & " components", Clause); + Error_Msg_Uint_1 := Esize (Ctyp); + Error_Msg_N + ("\only allowed value is^", Clause); - else - Error_Msg_N - ("component size cannot be given for " - & T & " components", Clause); - end if; - else Error_Msg_N ("cannot pack " & T & " components", Get_Rep_Pragma (FS, Name_Pack)); end if; - - return; end Complain_CS; -- Start of processing for Alias_Atomic_Check